aboutsummaryrefslogtreecommitdiff
path: root/NvCloth/src
diff options
context:
space:
mode:
authorMarijn Tamis <[email protected]>2017-04-28 14:19:07 +0200
committerMarijn Tamis <[email protected]>2017-04-28 14:19:07 +0200
commitb350eb5f4d44e8448115796144375d79438d74ae (patch)
tree8e102e8c28f45a1b87bd335ceee4f33c3d4ee7c2 /NvCloth/src
parentAdd visual samples. (diff)
downloadnvcloth-b350eb5f4d44e8448115796144375d79438d74ae.tar.xz
nvcloth-b350eb5f4d44e8448115796144375d79438d74ae.zip
NvCloth 1.1.0 Release. (22041545)
Diffstat (limited to 'NvCloth/src')
-rw-r--r--NvCloth/src/Allocator.cpp1
-rw-r--r--NvCloth/src/ClothClone.h76
-rw-r--r--NvCloth/src/ClothImpl.h622
-rw-r--r--NvCloth/src/NvSimd/NvSimd4f.h10
-rw-r--r--NvCloth/src/NvSimd/NvSimd4i.h5
-rw-r--r--NvCloth/src/NvSimd/NvSimdTypes.h18
-rw-r--r--NvCloth/src/SwCloth.cpp113
-rw-r--r--NvCloth/src/SwCloth.h92
-rw-r--r--NvCloth/src/SwCollision.cpp990
-rw-r--r--NvCloth/src/SwCollision.h48
-rw-r--r--NvCloth/src/SwFabric.cpp1
-rw-r--r--NvCloth/src/SwFactory.cpp19
-rw-r--r--NvCloth/src/SwFactory.h2
-rw-r--r--NvCloth/src/SwInterCollision.cpp167
-rw-r--r--NvCloth/src/SwInterCollision.h23
-rw-r--r--NvCloth/src/SwSelfCollision.cpp111
-rw-r--r--NvCloth/src/SwSelfCollision.h21
-rw-r--r--NvCloth/src/SwSolver.cpp48
-rw-r--r--NvCloth/src/SwSolver.h4
-rw-r--r--NvCloth/src/SwSolverKernel.cpp352
-rw-r--r--NvCloth/src/SwSolverKernel.h21
-rw-r--r--NvCloth/src/TripletScheduler.cpp5
-rw-r--r--NvCloth/src/cuda/CuCloth.cpp135
-rw-r--r--NvCloth/src/cuda/CuCloth.h77
-rw-r--r--NvCloth/src/cuda/CuClothClone.cpp9
-rw-r--r--NvCloth/src/cuda/CuFactory.cpp17
-rw-r--r--NvCloth/src/cuda/CuFactory.h2
-rw-r--r--NvCloth/src/cuda/CuSolver.cpp16
-rw-r--r--NvCloth/src/cuda/CuSolver.h6
-rw-r--r--NvCloth/src/dx/DxBatchedVector.h2
-rw-r--r--NvCloth/src/dx/DxCloth.cpp137
-rw-r--r--NvCloth/src/dx/DxCloth.h77
-rw-r--r--NvCloth/src/dx/DxClothClone.cpp9
-rw-r--r--NvCloth/src/dx/DxClothData.cpp30
-rw-r--r--NvCloth/src/dx/DxClothData.h11
-rw-r--r--NvCloth/src/dx/DxDeviceVector.h45
-rw-r--r--NvCloth/src/dx/DxFabric.cpp19
-rw-r--r--NvCloth/src/dx/DxFabric.h3
-rw-r--r--NvCloth/src/dx/DxFactory.cpp18
-rw-r--r--NvCloth/src/dx/DxFactory.h4
-rw-r--r--NvCloth/src/dx/DxSolver.cpp30
-rw-r--r--NvCloth/src/dx/DxSolver.h6
-rw-r--r--NvCloth/src/dx/DxSolverKernel.hlsl160
-rw-r--r--NvCloth/src/dx/DxSolverKernelBlob.h24502
44 files changed, 1906 insertions, 26158 deletions
diff --git a/NvCloth/src/Allocator.cpp b/NvCloth/src/Allocator.cpp
index 33a593e..2d082ab 100644
--- a/NvCloth/src/Allocator.cpp
+++ b/NvCloth/src/Allocator.cpp
@@ -29,7 +29,6 @@
#include "NvCloth/Allocator.h"
-#include "PsAllocator.h"
namespace nv
{
diff --git a/NvCloth/src/ClothClone.h b/NvCloth/src/ClothClone.h
index bdfdb2d..386fee6 100644
--- a/NvCloth/src/ClothClone.h
+++ b/NvCloth/src/ClothClone.h
@@ -125,92 +125,88 @@ inline Range<const uint32_t> getSelfCollisionIndices(const SwCloth& cloth)
}
// cloth conversion
-template <typename DstFactoryType, typename SrcImplType>
-typename DstFactoryType::ImplType* convertCloth(DstFactoryType& dstFactory, const SrcImplType& srcImpl)
+template <typename DstFactoryType, typename SrcClothType>
+typename DstFactoryType::ClothType* convertCloth(DstFactoryType& dstFactory, const SrcClothType& srcCloth)
{
typedef typename DstFactoryType::FabricType DstFabricType;
- typedef typename DstFactoryType::ImplType DstImplType;
- typedef typename DstImplType::ClothType DstClothType;
- typedef typename SrcImplType::ClothType SrcClothType;
+ typedef typename DstFactoryType::ClothType DstClothType;
- const SrcClothType& srcCloth = srcImpl.mCloth;
const Factory& srcFactory = srcCloth.mFactory;
typename DstClothType::ContextLockType dstLock(dstFactory);
typename SrcClothType::ContextLockType srcLock(srcCloth.mFactory);
// particles
- MappedRange<const physx::PxVec4> curParticles = srcImpl.getCurrentParticles();
+ MappedRange<const physx::PxVec4> curParticles = srcCloth.getCurrentParticles();
// fabric
DstFabricType& dstFabric = *convertFabric(srcCloth.mFabric, dstFactory);
// create new cloth
- DstImplType* dstImpl = static_cast<DstImplType*>(dstFactory.createCloth(curParticles, dstFabric));
- DstClothType& dstCloth = dstImpl->mCloth;
+ DstClothType* dstCloth = static_cast<DstClothType*>(dstFactory.createCloth(curParticles, dstFabric));
dstFabric.decRefCount();
// copy across common parameters
- copy(dstCloth, srcCloth);
+ copy(*dstCloth, srcCloth);
// copy across previous particles
- MappedRange<const physx::PxVec4> prevParticles = srcImpl.getPreviousParticles();
- memcpy(dstImpl->getPreviousParticles().begin(), prevParticles.begin(), prevParticles.size() * sizeof(physx::PxVec4));
+ MappedRange<const physx::PxVec4> prevParticles = srcCloth.getPreviousParticles();
+ memcpy(dstCloth->getPreviousParticles().begin(), prevParticles.begin(), prevParticles.size() * sizeof(physx::PxVec4));
// copy across transformed phase configs
- setPhaseConfigs(dstCloth, getPhaseConfigs(srcCloth));
+ setPhaseConfigs(*dstCloth, getPhaseConfigs(srcCloth));
// collision data
- Vector<physx::PxVec4>::Type spheres(srcImpl.getNumSpheres(), physx::PxVec4(0.0f));
+ Vector<physx::PxVec4>::Type spheres(srcCloth.getNumSpheres(), physx::PxVec4(0.0f));
physx::PxVec4* spherePtr = spheres.empty() ? 0 : &spheres.front();
Range<physx::PxVec4> sphereRange(spherePtr, spherePtr + spheres.size());
- Vector<uint32_t>::Type capsules(srcImpl.getNumCapsules() * 2);
+ Vector<uint32_t>::Type capsules(srcCloth.getNumCapsules() * 2);
Range<uint32_t> capsuleRange = makeRange(capsules);
- Vector<physx::PxVec4>::Type planes(srcImpl.getNumPlanes(), physx::PxVec4(0.0f));
+ Vector<physx::PxVec4>::Type planes(srcCloth.getNumPlanes(), physx::PxVec4(0.0f));
physx::PxVec4* planePtr = planes.empty() ? 0 : &planes.front();
Range<physx::PxVec4> planeRange(planePtr, planePtr + planes.size());
- Vector<uint32_t>::Type convexes(srcImpl.getNumConvexes());
+ Vector<uint32_t>::Type convexes(srcCloth.getNumConvexes());
Range<uint32_t> convexRange = makeRange(convexes);
- Vector<physx::PxVec3>::Type triangles(srcImpl.getNumTriangles() * 3, physx::PxVec3(0.0f));
+ Vector<physx::PxVec3>::Type triangles(srcCloth.getNumTriangles() * 3, physx::PxVec3(0.0f));
physx::PxVec3* trianglePtr = triangles.empty() ? 0 : &triangles.front();
Range<physx::PxVec3> triangleRange(trianglePtr, trianglePtr + triangles.size());
- srcFactory.extractCollisionData(srcImpl, sphereRange, capsuleRange, planeRange, convexRange, triangleRange);
- dstImpl->setSpheres(sphereRange, 0, 0);
- dstImpl->setCapsules(capsuleRange, 0, 0);
- dstImpl->setPlanes(planeRange, 0, 0);
- dstImpl->setConvexes(convexRange, 0, 0);
- dstImpl->setTriangles(triangleRange, 0, 0);
+ srcFactory.extractCollisionData(srcCloth, sphereRange, capsuleRange, planeRange, convexRange, triangleRange);
+ dstCloth->setSpheres(sphereRange, 0, 0);
+ dstCloth->setCapsules(capsuleRange, 0, 0);
+ dstCloth->setPlanes(planeRange, 0, 0);
+ dstCloth->setConvexes(convexRange, 0, 0);
+ dstCloth->setTriangles(triangleRange, 0, 0);
// motion constraints, copy directly into new cloth buffer
- if (srcImpl.getNumMotionConstraints())
- srcFactory.extractMotionConstraints(srcImpl, dstImpl->getMotionConstraints());
+ if (srcCloth.getNumMotionConstraints())
+ srcFactory.extractMotionConstraints(srcCloth, dstCloth->getMotionConstraints());
// separation constraints, copy directly into new cloth buffer
- if (srcImpl.getNumSeparationConstraints())
- srcFactory.extractSeparationConstraints(srcImpl, dstImpl->getSeparationConstraints());
+ if (srcCloth.getNumSeparationConstraints())
+ srcFactory.extractSeparationConstraints(srcCloth, dstCloth->getSeparationConstraints());
// particle accelerations
- if (srcImpl.getNumParticleAccelerations())
+ if (srcCloth.getNumParticleAccelerations())
{
Range<const physx::PxVec4> accelerations = getParticleAccelerations(srcCloth);
- memcpy(dstImpl->getParticleAccelerations().begin(), accelerations.begin(),
+ memcpy(dstCloth->getParticleAccelerations().begin(), accelerations.begin(),
accelerations.size() * sizeof(physx::PxVec4));
}
// self-collision indices
- dstImpl->setSelfCollisionIndices(getSelfCollisionIndices(srcCloth));
+ dstCloth->setSelfCollisionIndices(getSelfCollisionIndices(srcCloth));
// rest positions
- Vector<physx::PxVec4>::Type restPositions(srcImpl.getNumRestPositions());
- srcFactory.extractRestPositions(srcImpl, makeRange(restPositions));
- dstImpl->setRestPositions(makeRange(restPositions));
+ Vector<physx::PxVec4>::Type restPositions(srcCloth.getNumRestPositions());
+ srcFactory.extractRestPositions(srcCloth, makeRange(restPositions));
+ dstCloth->setRestPositions(makeRange(restPositions));
// virtual particles
- if (srcImpl.getNumVirtualParticles())
+ if (srcCloth.getNumVirtualParticles())
{
- Vector<Vec4u>::Type indices(srcImpl.getNumVirtualParticles());
- Vector<physx::PxVec3>::Type weights(srcImpl.getNumVirtualParticleWeights(), physx::PxVec3(0.0f));
+ Vector<Vec4u>::Type indices(srcCloth.getNumVirtualParticles());
+ Vector<physx::PxVec3>::Type weights(srcCloth.getNumVirtualParticleWeights(), physx::PxVec3(0.0f));
uint32_t(*indicesPtr)[4] = indices.empty() ? 0 : &array(indices.front());
Range<uint32_t[4]> indicesRange(indicesPtr, indicesPtr + indices.size());
@@ -218,12 +214,12 @@ typename DstFactoryType::ImplType* convertCloth(DstFactoryType& dstFactory, cons
physx::PxVec3* weightsPtr = weights.empty() ? 0 : &weights.front();
Range<physx::PxVec3> weightsRange(weightsPtr, weightsPtr + weights.size());
- srcFactory.extractVirtualParticles(srcImpl, indicesRange, weightsRange);
+ srcFactory.extractVirtualParticles(srcCloth, indicesRange, weightsRange);
- dstImpl->setVirtualParticles(indicesRange, weightsRange);
+ dstCloth->setVirtualParticles(indicesRange, weightsRange);
}
- return dstImpl;
+ return dstCloth;
}
} // namespace cloth
diff --git a/NvCloth/src/ClothImpl.h b/NvCloth/src/ClothImpl.h
index 85d201a..0c2b362 100644
--- a/NvCloth/src/ClothImpl.h
+++ b/NvCloth/src/ClothImpl.h
@@ -41,6 +41,11 @@ namespace nv
namespace cloth
{
+template<typename T>
+class ClothTraits
+{
+};
+
// SwCloth or CuCloth aggregate implementing the Cloth interface
// Member specializations are implemented in Sw/CuCloth.cpp
template <typename T>
@@ -49,30 +54,20 @@ class ClothImpl : public Cloth
ClothImpl(const ClothImpl&);
public:
- ClothImpl& operator = (const ClothImpl&);
-
+ ClothImpl() {}
typedef T ClothType;
- typedef typename ClothType::FactoryType FactoryType;
- typedef typename ClothType::FabricType FabricType;
- typedef typename ClothType::ContextLockType ContextLockType;
+ typedef typename ClothTraits<ClothType>::FactoryType FactoryType;
+ typedef typename ClothTraits<ClothType>::FabricType FabricType;
+ typedef typename ClothTraits<ClothType>::ContextLockType ContextLockType;
- ClothImpl(Factory&, Fabric&, Range<const physx::PxVec4>);
- ClothImpl(Factory&, const ClothImpl&);
+ ClothImpl& operator = (const ClothImpl&);
- virtual Cloth* clone(Factory& factory) const;
+ ClothType* getChildCloth() { return static_cast<T*>(this); }
+ ClothType const* getChildCloth() const { return static_cast<T const*>(this); }
virtual Fabric& getFabric() const;
virtual Factory& getFactory() const;
- virtual uint32_t getNumParticles() const;
- virtual void lockParticles() const;
- virtual void unlockParticles() const;
- virtual MappedRange<physx::PxVec4> getCurrentParticles();
- virtual MappedRange<const physx::PxVec4> getCurrentParticles() const;
- virtual MappedRange<physx::PxVec4> getPreviousParticles();
- virtual MappedRange<const physx::PxVec4> getPreviousParticles() const;
- virtual GpuParticles getGpuParticles();
-
virtual void setTranslation(const physx::PxVec3& trans);
virtual void setRotation(const physx::PxQuat& rot);
@@ -108,8 +103,6 @@ class ClothImpl : public Cloth
virtual void setAcceleationFilterWidth(uint32_t);
virtual uint32_t getAccelerationFilterWidth() const;
- virtual void setPhaseConfig(Range<const PhaseConfig> configs);
-
virtual void setSpheres(Range<const physx::PxVec4>, uint32_t first, uint32_t last);
virtual uint32_t getNumSpheres() const;
@@ -134,8 +127,6 @@ class ClothImpl : public Cloth
virtual void setFriction(float friction);
virtual float getFriction() const;
- virtual void setVirtualParticles(Range<const uint32_t[4]>, Range<const physx::PxVec3>);
- virtual uint32_t getNumVirtualParticles() const;
virtual uint32_t getNumVirtualParticleWeights() const;
virtual void setTetherConstraintScale(float scale);
@@ -158,8 +149,6 @@ class ClothImpl : public Cloth
virtual void clearInterpolation();
- virtual Range<physx::PxVec4> getParticleAccelerations();
- virtual void clearParticleAccelerations();
virtual uint32_t getNumParticleAccelerations() const;
virtual void setWindVelocity(physx::PxVec3);
@@ -174,7 +163,6 @@ class ClothImpl : public Cloth
virtual void setSelfCollisionStiffness(float);
virtual float getSelfCollisionStiffness() const;
- virtual void setSelfCollisionIndices(Range<const uint32_t>);
virtual uint32_t getNumSelfCollisionIndices() const;
virtual void setRestPositions(Range<const physx::PxVec4>);
@@ -192,6 +180,7 @@ class ClothImpl : public Cloth
virtual uint32_t getSleepPassCount() const;
virtual bool isAsleep() const;
virtual void putToSleep();
+ virtual bool isSleeping() const;
virtual void wakeUp();
virtual void setUserData(void*);
@@ -201,116 +190,125 @@ class ClothImpl : public Cloth
template <typename U>
MappedRange<U> getMappedParticles(U* data) const;
- ClothType mCloth;
+public: //Fields shared between all cloth classes
+ physx::PxVec3 mParticleBoundsCenter;
+ physx::PxVec3 mParticleBoundsHalfExtent;
+
+ physx::PxVec3 mGravity;
+ physx::PxVec3 mLogDamping;
+ physx::PxVec3 mLinearLogDrag;
+ physx::PxVec3 mAngularLogDrag;
+ physx::PxVec3 mLinearInertia;
+ physx::PxVec3 mAngularInertia;
+ physx::PxVec3 mCentrifugalInertia;
+ float mSolverFrequency;
+ float mStiffnessFrequency;
+
+ physx::PxTransform mTargetMotion;
+ physx::PxTransform mCurrentMotion;
+ physx::PxVec3 mLinearVelocity;
+ physx::PxVec3 mAngularVelocity;
+
+ float mPrevIterDt;
+ MovingAverage mIterDtAvg;
+
+ // wind
+ physx::PxVec3 mWind;
+ float mDragLogCoefficient;
+ float mLiftLogCoefficient;
+
+ // sleeping
+ uint32_t mSleepTestInterval; // how often to test for movement
+ uint32_t mSleepAfterCount; // number of tests to pass before sleep
+ float mSleepThreshold; // max movement delta to pass test
+ uint32_t mSleepPassCounter; // how many tests passed
+ uint32_t mSleepTestCounter; // how many iterations since tested
};
-class SwCloth;
-typedef ClothImpl<SwCloth> SwClothImpl;
-
-class CuCloth;
-typedef ClothImpl<CuCloth> CuClothImpl;
-
-class DxCloth;
-typedef ClothImpl<DxCloth> DxClothImpl;
-
-template <typename T>
-ClothImpl<T>::ClothImpl(Factory& factory, Fabric& fabric, Range<const physx::PxVec4> particles)
-: mCloth(static_cast<FactoryType&>(factory), static_cast<FabricType&>(fabric), particles)
-{
- // fabric and cloth need to be created by the same factory
- NV_CLOTH_ASSERT(&fabric.getFactory() == &factory);
-}
-
-template <typename T>
-ClothImpl<T>::ClothImpl(Factory& factory, const ClothImpl& impl)
-: mCloth(static_cast<FactoryType&>(factory), impl.mCloth)
-{
-}
-
template <typename T>
inline Fabric& ClothImpl<T>::getFabric() const
{
- return mCloth.mFabric;
+ return getChildCloth()->mFabric;
}
template <typename T>
inline Factory& ClothImpl<T>::getFactory() const
{
- return mCloth.mFactory;
+ return getChildCloth()->mFactory;
}
template <typename T>
inline void ClothImpl<T>::setTranslation(const physx::PxVec3& trans)
{
physx::PxVec3 t = reinterpret_cast<const physx::PxVec3&>(trans);
- if (t == mCloth.mTargetMotion.p)
+ if (t == mTargetMotion.p)
return;
- mCloth.mTargetMotion.p = t;
- mCloth.wakeUp();
+ mTargetMotion.p = t;
+ wakeUp();
}
template <typename T>
inline void ClothImpl<T>::setRotation(const physx::PxQuat& q)
{
- if ((q - mCloth.mTargetMotion.q).magnitudeSquared() == 0.0f)
+ if ((q - mTargetMotion.q).magnitudeSquared() == 0.0f)
return;
- mCloth.mTargetMotion.q = q;
- mCloth.wakeUp();
+ mTargetMotion.q = q;
+ wakeUp();
}
template <typename T>
inline const physx::PxVec3& ClothImpl<T>::getTranslation() const
{
- return mCloth.mTargetMotion.p;
+ return mTargetMotion.p;
}
template <typename T>
inline const physx::PxQuat& ClothImpl<T>::getRotation() const
{
- return mCloth.mTargetMotion.q;
+ return mTargetMotion.q;
}
template <typename T>
inline void ClothImpl<T>::clearInertia()
{
- mCloth.mCurrentMotion = mCloth.mTargetMotion;
- mCloth.mLinearVelocity = physx::PxVec3(0.0);
- mCloth.mAngularVelocity = physx::PxVec3(0.0);
+ mCurrentMotion = mTargetMotion;
+ mLinearVelocity = physx::PxVec3(0.0);
+ mAngularVelocity = physx::PxVec3(0.0);
- mCloth.wakeUp();
+ wakeUp();
}
// Fixed 4505:local function has been removed
template <typename T>
inline void ClothImpl<T>::teleport(const physx::PxVec3& delta)
{
- mCloth.mCurrentMotion.p += delta;
- mCloth.mTargetMotion.p += delta;
+ mCurrentMotion.p += delta;
+ mTargetMotion.p += delta;
}
template <typename T>
inline float ClothImpl<T>::getPreviousIterationDt() const
{
- return mCloth.mPrevIterDt;
+ return mPrevIterDt;
}
template <typename T>
inline void ClothImpl<T>::setGravity(const physx::PxVec3& gravity)
{
physx::PxVec3 value = gravity;
- if (value == mCloth.mGravity)
+ if (value == mGravity)
return;
- mCloth.mGravity = value;
- mCloth.wakeUp();
+ mGravity = value;
+ wakeUp();
}
template <typename T>
inline physx::PxVec3 ClothImpl<T>::getGravity() const
{
- return mCloth.mGravity;
+ return mGravity;
}
inline float safeLog2(float x)
@@ -340,148 +338,148 @@ template <typename T>
inline void ClothImpl<T>::setDamping(const physx::PxVec3& damping)
{
physx::PxVec3 value = safeLog2(physx::PxVec3(1.f) - damping);
- if (value == mCloth.mLogDamping)
+ if (value == mLogDamping)
return;
- mCloth.mLogDamping = value;
- mCloth.wakeUp();
+ mLogDamping = value;
+ wakeUp();
}
template <typename T>
inline physx::PxVec3 ClothImpl<T>::getDamping() const
{
- return physx::PxVec3(1.f) - safeExp2(mCloth.mLogDamping);
+ return physx::PxVec3(1.f) - safeExp2(mLogDamping);
}
template <typename T>
inline void ClothImpl<T>::setLinearDrag(const physx::PxVec3& drag)
{
physx::PxVec3 value = safeLog2(physx::PxVec3(1.f) - drag);
- if (value == mCloth.mLinearLogDrag)
+ if (value == mLinearLogDrag)
return;
- mCloth.mLinearLogDrag = value;
- mCloth.wakeUp();
+ mLinearLogDrag = value;
+ wakeUp();
}
template <typename T>
inline physx::PxVec3 ClothImpl<T>::getLinearDrag() const
{
- return physx::PxVec3(1.f) - safeExp2(mCloth.mLinearLogDrag);
+ return physx::PxVec3(1.f) - safeExp2(mLinearLogDrag);
}
template <typename T>
inline void ClothImpl<T>::setAngularDrag(const physx::PxVec3& drag)
{
physx::PxVec3 value = safeLog2(physx::PxVec3(1.f) - drag);
- if (value == mCloth.mAngularLogDrag)
+ if (value == mAngularLogDrag)
return;
- mCloth.mAngularLogDrag = value;
- mCloth.wakeUp();
+ mAngularLogDrag = value;
+ wakeUp();
}
template <typename T>
inline physx::PxVec3 ClothImpl<T>::getAngularDrag() const
{
- return physx::PxVec3(1.f) - safeExp2(mCloth.mAngularLogDrag);
+ return physx::PxVec3(1.f) - safeExp2(mAngularLogDrag);
}
template <typename T>
inline void ClothImpl<T>::setLinearInertia(const physx::PxVec3& inertia)
{
physx::PxVec3 value = inertia;
- if (value == mCloth.mLinearInertia)
+ if (value == mLinearInertia)
return;
- mCloth.mLinearInertia = value;
- mCloth.wakeUp();
+ mLinearInertia = value;
+ wakeUp();
}
template <typename T>
inline physx::PxVec3 ClothImpl<T>::getLinearInertia() const
{
- return mCloth.mLinearInertia;
+ return mLinearInertia;
}
template <typename T>
inline void ClothImpl<T>::setAngularInertia(const physx::PxVec3& inertia)
{
physx::PxVec3 value = inertia;
- if (value == mCloth.mAngularInertia)
+ if (value == mAngularInertia)
return;
- mCloth.mAngularInertia = value;
- mCloth.wakeUp();
+ mAngularInertia = value;
+ wakeUp();
}
template <typename T>
inline physx::PxVec3 ClothImpl<T>::getAngularInertia() const
{
- return mCloth.mAngularInertia;
+ return mAngularInertia;
}
template <typename T>
inline void ClothImpl<T>::setCentrifugalInertia(const physx::PxVec3& inertia)
{
physx::PxVec3 value = inertia;
- if (value == mCloth.mCentrifugalInertia)
+ if (value == mCentrifugalInertia)
return;
- mCloth.mCentrifugalInertia = value;
- mCloth.wakeUp();
+ mCentrifugalInertia = value;
+ wakeUp();
}
template <typename T>
inline physx::PxVec3 ClothImpl<T>::getCentrifugalInertia() const
{
- return mCloth.mCentrifugalInertia;
+ return mCentrifugalInertia;
}
template <typename T>
inline void ClothImpl<T>::setSolverFrequency(float frequency)
{
- if (frequency == mCloth.mSolverFrequency)
+ if (frequency == mSolverFrequency)
return;
- mCloth.mSolverFrequency = frequency;
- mCloth.mClothCostDirty = true;
- mCloth.mIterDtAvg.reset();
- mCloth.wakeUp();
+ mSolverFrequency = frequency;
+ getChildCloth()->mClothCostDirty = true;
+ mIterDtAvg.reset();
+ wakeUp();
}
template <typename T>
inline float ClothImpl<T>::getSolverFrequency() const
{
- return mCloth.mSolverFrequency;
+ return mSolverFrequency;
}
template <typename T>
inline void ClothImpl<T>::setStiffnessFrequency(float frequency)
{
- if (frequency == mCloth.mStiffnessFrequency)
+ if (frequency == mStiffnessFrequency)
return;
- mCloth.mStiffnessFrequency = frequency;
- mCloth.wakeUp();
+ mStiffnessFrequency = frequency;
+ wakeUp();
}
template <typename T>
inline float ClothImpl<T>::getStiffnessFrequency() const
{
- return mCloth.mStiffnessFrequency;
+ return mStiffnessFrequency;
}
template <typename T>
inline void ClothImpl<T>::setAcceleationFilterWidth(uint32_t n)
{
- mCloth.mIterDtAvg.resize(n);
+ mIterDtAvg.resize(n);
}
template <typename T>
inline uint32_t ClothImpl<T>::getAccelerationFilterWidth() const
{
- return mCloth.mIterDtAvg.size();
+ return mIterDtAvg.size();
}
// move a subarray
@@ -510,7 +508,7 @@ inline bool updateIndex(uint32_t& index, uint32_t first, int32_t delta)
template <typename T>
inline void ClothImpl<T>::setSpheres(Range<const physx::PxVec4> spheres, uint32_t first, uint32_t last)
{
- uint32_t oldSize = uint32_t(mCloth.mStartCollisionSpheres.size());
+ uint32_t oldSize = uint32_t(getChildCloth()->mStartCollisionSpheres.size());
uint32_t newSize = uint32_t(spheres.size()) + oldSize - last + first;
NV_CLOTH_ASSERT(newSize <= 32);
@@ -527,22 +525,22 @@ inline void ClothImpl<T>::setSpheres(Range<const physx::PxVec4> spheres, uint32_
if (!oldSize)
{
- ContextLockType contextLock(mCloth.mFactory);
- mCloth.mStartCollisionSpheres.assign(spheres.begin(), spheres.end());
- mCloth.notifyChanged();
+ ContextLockType contextLock(getChildCloth()->mFactory);
+ getChildCloth()->mStartCollisionSpheres.assign(spheres.begin(), spheres.end());
+ getChildCloth()->notifyChanged();
}
else
{
if (std::max(oldSize, newSize) >
- std::min(mCloth.mStartCollisionSpheres.capacity(), mCloth.mTargetCollisionSpheres.capacity()))
+ std::min(getChildCloth()->mStartCollisionSpheres.capacity(), getChildCloth()->mTargetCollisionSpheres.capacity()))
{
- ContextLockType contextLock(mCloth.mFactory);
- mCloth.mStartCollisionSpheres.reserve(newSize);
- mCloth.mTargetCollisionSpheres.reserve(std::max(oldSize, newSize));
+ ContextLockType contextLock(getChildCloth()->mFactory);
+ getChildCloth()->mStartCollisionSpheres.reserve(newSize);
+ getChildCloth()->mTargetCollisionSpheres.reserve(std::max(oldSize, newSize));
}
- typename T::MappedVec4fVectorType start = mCloth.mStartCollisionSpheres;
- typename T::MappedVec4fVectorType target = mCloth.mTargetCollisionSpheres;
+ typename T::MappedVec4fVectorType start = getChildCloth()->mStartCollisionSpheres;
+ typename T::MappedVec4fVectorType target = getChildCloth()->mTargetCollisionSpheres;
// fill target from start
for (uint32_t i = uint32_t(target.size()); i < oldSize; ++i)
@@ -563,7 +561,7 @@ inline void ClothImpl<T>::setSpheres(Range<const physx::PxVec4> spheres, uint32_
start[i] = spheres[i - first];
// adjust capsule indices
- typename T::MappedIndexVectorType indices = mCloth.mCapsuleIndices;
+ typename T::MappedIndexVectorType indices = getChildCloth()->mCapsuleIndices;
Vector<IndexPair>::Type::Iterator cIt, cEnd = indices.end();
for (cIt = indices.begin(); cIt != cEnd;)
{
@@ -582,7 +580,7 @@ inline void ClothImpl<T>::setSpheres(Range<const physx::PxVec4> spheres, uint32_
start.resize(newSize);
target.resize(newSize);
- mCloth.notifyChanged();
+ getChildCloth()->notifyChanged();
}
// fill target elements with spheres
@@ -590,20 +588,20 @@ inline void ClothImpl<T>::setSpheres(Range<const physx::PxVec4> spheres, uint32_
target[first + i] = spheres[i];
}
- mCloth.wakeUp();
+ getChildCloth()->wakeUp();
}
template <typename T>
inline uint32_t ClothImpl<T>::getNumSpheres() const
{
- return uint32_t(mCloth.mStartCollisionSpheres.size());
+ return uint32_t(getChildCloth()->mStartCollisionSpheres.size());
}
// Fixed 4505:local function has been removed
template <typename T>
inline void ClothImpl<T>::setCapsules(Range<const uint32_t> capsules, uint32_t first, uint32_t last)
{
- uint32_t oldSize = uint32_t(mCloth.mCapsuleIndices.size());
+ uint32_t oldSize = uint32_t(getChildCloth()->mCapsuleIndices.size());
uint32_t newSize = uint32_t(capsules.size() / 2) + oldSize - last + first;
NV_CLOTH_ASSERT(newSize <= 32);
@@ -612,16 +610,16 @@ inline void ClothImpl<T>::setCapsules(Range<const uint32_t> capsules, uint32_t f
const IndexPair* srcIndices = reinterpret_cast<const IndexPair*>(capsules.begin());
- if (mCloth.mCapsuleIndices.capacity() < newSize)
+ if (getChildCloth()->mCapsuleIndices.capacity() < newSize)
{
- ContextLockType contextLock(mCloth.mFactory);
- mCloth.mCapsuleIndices.reserve(newSize);
+ ContextLockType contextLock(getChildCloth()->mFactory);
+ getChildCloth()->mCapsuleIndices.reserve(newSize);
}
// resize to larger of oldSize and newSize
- mCloth.mCapsuleIndices.resize(std::max(oldSize, newSize));
+ getChildCloth()->mCapsuleIndices.resize(std::max(oldSize, newSize));
- typename T::MappedIndexVectorType dstIndices = mCloth.mCapsuleIndices;
+ typename T::MappedIndexVectorType dstIndices = getChildCloth()->mCapsuleIndices;
if (uint32_t delta = newSize - oldSize)
{
@@ -633,26 +631,26 @@ inline void ClothImpl<T>::setCapsules(Range<const uint32_t> capsules, uint32_t f
dstIndices[i] = srcIndices[i - first];
dstIndices.resize(newSize);
- mCloth.notifyChanged();
+ getChildCloth()->notifyChanged();
}
// fill existing elements from capsules
for (uint32_t i = first; i < last; ++i)
dstIndices[i] = srcIndices[i - first];
- mCloth.wakeUp();
+ getChildCloth()->wakeUp();
}
template <typename T>
inline uint32_t ClothImpl<T>::getNumCapsules() const
{
- return uint32_t(mCloth.mCapsuleIndices.size());
+ return uint32_t(getChildCloth()->mCapsuleIndices.size());
}
template <typename T>
inline void ClothImpl<T>::setPlanes(Range<const physx::PxVec4> planes, uint32_t first, uint32_t last)
{
- uint32_t oldSize = uint32_t(mCloth.mStartCollisionPlanes.size());
+ uint32_t oldSize = uint32_t(getChildCloth()->mStartCollisionPlanes.size());
uint32_t newSize = uint32_t(planes.size()) + oldSize - last + first;
NV_CLOTH_ASSERT(newSize <= 32);
@@ -681,22 +679,22 @@ inline void ClothImpl<T>::setPlanes(Range<const physx::PxVec4> planes, uint32_t
if (!oldSize)
{
- ContextLockType contextLock(mCloth.mFactory);
- mCloth.mStartCollisionPlanes.assign(planes.begin(), planes.end());
- mCloth.notifyChanged();
+ ContextLockType contextLock(getChildCloth()->mFactory);
+ getChildCloth()->mStartCollisionPlanes.assign(planes.begin(), planes.end());
+ getChildCloth()->notifyChanged();
}
else
{
if (std::max(oldSize, newSize) >
- std::min(mCloth.mStartCollisionPlanes.capacity(), mCloth.mTargetCollisionPlanes.capacity()))
+ std::min(getChildCloth()->mStartCollisionPlanes.capacity(), getChildCloth()->mTargetCollisionPlanes.capacity()))
{
- ContextLockType contextLock(mCloth.mFactory);
- mCloth.mStartCollisionPlanes.reserve(newSize);
- mCloth.mTargetCollisionPlanes.reserve(std::max(oldSize, newSize));
+ ContextLockType contextLock(getChildCloth()->mFactory);
+ getChildCloth()->mStartCollisionPlanes.reserve(newSize);
+ getChildCloth()->mTargetCollisionPlanes.reserve(std::max(oldSize, newSize));
}
- typename T::MappedVec4fVectorType start = mCloth.mStartCollisionPlanes;
- typename T::MappedVec4fVectorType target = mCloth.mTargetCollisionPlanes;
+ typename T::MappedVec4fVectorType start = getChildCloth()->mStartCollisionPlanes;
+ typename T::MappedVec4fVectorType target = getChildCloth()->mTargetCollisionPlanes;
// fill target from start
for (uint32_t i = target.size(); i < oldSize; ++i)
@@ -718,7 +716,7 @@ inline void ClothImpl<T>::setPlanes(Range<const physx::PxVec4> planes, uint32_t
// adjust convex indices
uint32_t mask = (uint32_t(1) << (last + std::min(delta, 0))) - 1;
- typename T::MappedMaskVectorType masks = mCloth.mConvexMasks;
+ typename T::MappedMaskVectorType masks = getChildCloth()->mConvexMasks;
Vector<uint32_t>::Type::Iterator cIt, cEnd = masks.end();
for (cIt = masks.begin(); cIt != cEnd;)
{
@@ -739,7 +737,7 @@ inline void ClothImpl<T>::setPlanes(Range<const physx::PxVec4> planes, uint32_t
start.resize(newSize);
target.resize(newSize);
- mCloth.notifyChanged();
+ getChildCloth()->notifyChanged();
}
// fill target elements with planes
@@ -747,19 +745,19 @@ inline void ClothImpl<T>::setPlanes(Range<const physx::PxVec4> planes, uint32_t
target[first + i] = planes[i];
}
- mCloth.wakeUp();
+ wakeUp();
}
template <typename T>
inline uint32_t ClothImpl<T>::getNumPlanes() const
{
- return uint32_t(mCloth.mStartCollisionPlanes.size());
+ return uint32_t(getChildCloth()->mStartCollisionPlanes.size());
}
template <typename T>
inline void ClothImpl<T>::setConvexes(Range<const uint32_t> convexMasks, uint32_t first, uint32_t last)
{
- uint32_t oldSize = uint32_t(mCloth.mConvexMasks.size());
+ uint32_t oldSize = uint32_t(getChildCloth()->mConvexMasks.size());
uint32_t newSize = uint32_t(convexMasks.size()) + oldSize - last + first;
NV_CLOTH_ASSERT(newSize <= 32);
@@ -776,18 +774,18 @@ inline void ClothImpl<T>::setConvexes(Range<const uint32_t> convexMasks, uint32_
}
#endif
- if (mCloth.mConvexMasks.capacity() < newSize)
+ if (getChildCloth()->mConvexMasks.capacity() < newSize)
{
- ContextLockType contextLock(mCloth.mFactory);
- mCloth.mConvexMasks.reserve(newSize);
+ ContextLockType contextLock(getChildCloth()->mFactory);
+ getChildCloth()->mConvexMasks.reserve(newSize);
}
// resize to larger of oldSize and newSize
- mCloth.mConvexMasks.resize(std::max(oldSize, newSize));
+ getChildCloth()->mConvexMasks.resize(std::max(oldSize, newSize));
if (uint32_t delta = newSize - oldSize)
{
- typename T::MappedMaskVectorType masks = mCloth.mConvexMasks;
+ typename T::MappedMaskVectorType masks = getChildCloth()->mConvexMasks;
// move past-range elements to new place
move(masks.begin(), last, oldSize, last + delta);
@@ -797,16 +795,16 @@ inline void ClothImpl<T>::setConvexes(Range<const uint32_t> convexMasks, uint32_
masks[i] = convexMasks[i - first];
masks.resize(newSize);
- mCloth.notifyChanged();
+ getChildCloth()->notifyChanged();
}
- mCloth.wakeUp();
+ wakeUp();
}
template <typename T>
inline uint32_t ClothImpl<T>::getNumConvexes() const
{
- return uint32_t(mCloth.mConvexMasks.size());
+ return uint32_t(getChildCloth()->mConvexMasks.size());
}
template <typename T>
@@ -816,10 +814,10 @@ inline void ClothImpl<T>::setTriangles(Range<const physx::PxVec3> triangles, uin
first *= 3;
last *= 3;
- triangles = mCloth.clampTriangleCount(triangles, last - first);
+ triangles = getChildCloth()->clampTriangleCount(triangles, last - first);
NV_CLOTH_ASSERT(0 == triangles.size() % 3);
- uint32_t oldSize = uint32_t(mCloth.mStartCollisionTriangles.size());
+ uint32_t oldSize = uint32_t(getChildCloth()->mStartCollisionTriangles.size());
uint32_t newSize = uint32_t(triangles.size()) + oldSize - last + first;
NV_CLOTH_ASSERT(first <= oldSize);
@@ -830,22 +828,22 @@ inline void ClothImpl<T>::setTriangles(Range<const physx::PxVec3> triangles, uin
if (!oldSize)
{
- ContextLockType contextLock(mCloth.mFactory);
- mCloth.mStartCollisionTriangles.assign(triangles.begin(), triangles.end());
- mCloth.notifyChanged();
+ ContextLockType contextLock(getChildCloth()->mFactory);
+ getChildCloth()->mStartCollisionTriangles.assign(triangles.begin(), triangles.end());
+ getChildCloth()->notifyChanged();
}
else
{
if (std::max(oldSize, newSize) >
- std::min(mCloth.mStartCollisionTriangles.capacity(), mCloth.mTargetCollisionTriangles.capacity()))
+ std::min(getChildCloth()->mStartCollisionTriangles.capacity(), getChildCloth()->mTargetCollisionTriangles.capacity()))
{
- ContextLockType contextLock(mCloth.mFactory);
- mCloth.mStartCollisionTriangles.reserve(newSize);
- mCloth.mTargetCollisionTriangles.reserve(std::max(oldSize, newSize));
+ ContextLockType contextLock(getChildCloth()->mFactory);
+ getChildCloth()->mStartCollisionTriangles.reserve(newSize);
+ getChildCloth()->mTargetCollisionTriangles.reserve(std::max(oldSize, newSize));
}
- typename T::MappedVec3fVectorType start = mCloth.mStartCollisionTriangles;
- typename T::MappedVec3fVectorType target = mCloth.mTargetCollisionTriangles;
+ typename T::MappedVec3fVectorType start = getChildCloth()->mStartCollisionTriangles;
+ typename T::MappedVec3fVectorType target = getChildCloth()->mTargetCollisionTriangles;
// fill target from start
for (uint32_t i = target.size(); i < oldSize; ++i)
@@ -861,59 +859,59 @@ inline void ClothImpl<T>::setTriangles(Range<const physx::PxVec3> triangles, uin
move(start.begin(), last, oldSize, last + delta);
move(target.begin(), last, oldSize, last + delta);
- // fill new elements from planes
+ // fill new elements from triangles
for (uint32_t i = last; i < last + delta; ++i)
start[i] = triangles[i - first];
start.resize(newSize);
target.resize(newSize);
- mCloth.notifyChanged();
+ getChildCloth()->notifyChanged();
}
//////////////////////
// if (std::max(oldSize, newSize) >
- // std::min(mCloth.mStartCollisionTriangles.capacity(), mCloth.mTargetCollisionTriangles.capacity()))
+ // std::min(getChildCloth()->mStartCollisionTriangles.capacity(), getChildCloth()->mTargetCollisionTriangles.capacity()))
// {
- // ContextLockType contextLock(mCloth.mFactory);
- // mCloth.mStartCollisionTriangles.reserve(newSize);
- // mCloth.mTargetCollisionTriangles.reserve(std::max(oldSize, newSize));
+ // ContextLockType contextLock(getChildCloth()->mFactory);
+ // getChildCloth()->mStartCollisionTriangles.reserve(newSize);
+ // getChildCloth()->mTargetCollisionTriangles.reserve(std::max(oldSize, newSize));
// }
//
// // fill target from start
- // for (uint32_t i = mCloth.mTargetCollisionTriangles.size(); i < oldSize; ++i)
- // mCloth.mTargetCollisionTriangles.pushBack(mCloth.mStartCollisionTriangles[i]);
+ // for (uint32_t i = getChildCloth()->mTargetCollisionTriangles.size(); i < oldSize; ++i)
+ // getChildCloth()->mTargetCollisionTriangles.pushBack(getChildCloth()->mStartCollisionTriangles[i]);
//
// // resize to larger of oldSize and newSize
- // mCloth.mStartCollisionTriangles.resize(std::max(oldSize, newSize));
- // mCloth.mTargetCollisionTriangles.resize(std::max(oldSize, newSize));
+ // getChildCloth()->mStartCollisionTriangles.resize(std::max(oldSize, newSize));
+ // getChildCloth()->mTargetCollisionTriangles.resize(std::max(oldSize, newSize));
//
// if (uint32_t delta = newSize - oldSize)
// {
// // move past-range elements to new place
- // move(mCloth.mStartCollisionTriangles.begin(), last, oldSize, last + delta);
- // move(mCloth.mTargetCollisionTriangles.begin(), last, oldSize, last + delta);
+ // move(getChildCloth()->mStartCollisionTriangles.begin(), last, oldSize, last + delta);
+ // move(getChildCloth()->mTargetCollisionTriangles.begin(), last, oldSize, last + delta);
//
// // fill new elements from triangles
// for (uint32_t i = last; i < last + delta; ++i)
- // mCloth.mStartCollisionTriangles[i] = triangles[i - first];
+ // getChildCloth()->mStartCollisionTriangles[i] = triangles[i - first];
//
- // mCloth.mStartCollisionTriangles.resize(newSize);
- // mCloth.mTargetCollisionTriangles.resize(newSize);
+ // getChildCloth()->mStartCollisionTriangles.resize(newSize);
+ // getChildCloth()->mTargetCollisionTriangles.resize(newSize);
//
- // mCloth.notifyChanged();
+ // notifyChanged();
// }
// fill target elements with triangles
// for (uint32_t i = 0; i < triangles.size(); ++i)
- // mCloth.mTargetCollisionTriangles[first + i] = triangles[i];
+ // getChildCloth()->mTargetCollisionTriangles[first + i] = triangles[i];
- // fill target elements with planes
+ // fill target elements with triangles
for (uint32_t i = 0; i < triangles.size(); ++i)
target[first + i] = triangles[i];
}
- mCloth.wakeUp();
+ wakeUp();
}
template <typename T>
@@ -925,12 +923,12 @@ inline void ClothImpl<T>::setTriangles(Range<const physx::PxVec3> startTriangles
// convert from triangle to vertex count
first *= 3;
- uint32_t last = uint32_t(mCloth.mStartCollisionTriangles.size());
+ uint32_t last = uint32_t(getChildCloth()->mStartCollisionTriangles.size());
- startTriangles = mCloth.clampTriangleCount(startTriangles, last - first);
- targetTriangles = mCloth.clampTriangleCount(targetTriangles, last - first);
+ startTriangles = getChildCloth()->clampTriangleCount(startTriangles, last - first);
+ targetTriangles = getChildCloth()->clampTriangleCount(targetTriangles, last - first);
- uint32_t oldSize = uint32_t(mCloth.mStartCollisionTriangles.size());
+ uint32_t oldSize = uint32_t(getChildCloth()->mStartCollisionTriangles.size());
uint32_t newSize = uint32_t(startTriangles.size()) + oldSize - last + first;
NV_CLOTH_ASSERT(first <= oldSize);
@@ -939,250 +937,240 @@ inline void ClothImpl<T>::setTriangles(Range<const physx::PxVec3> startTriangles
if (!oldSize && !newSize)
return;
- if (newSize > std::min(mCloth.mStartCollisionTriangles.capacity(), mCloth.mTargetCollisionTriangles.capacity()))
+ if (newSize > std::min(getChildCloth()->mStartCollisionTriangles.capacity(), getChildCloth()->mTargetCollisionTriangles.capacity()))
{
- ContextLockType contextLock(mCloth.mFactory);
- // mCloth.mStartCollisionTriangles.reserve(newSize);
- // mCloth.mTargetCollisionTriangles.reserve(newSize);
-
-
- mCloth.mStartCollisionTriangles.assign(startTriangles.begin(), startTriangles.end());
- mCloth.mTargetCollisionTriangles.assign(targetTriangles.begin(), targetTriangles.end());
- mCloth.notifyChanged();
+ ContextLockType contextLock(getChildCloth()->mFactory);
+ getChildCloth()->mStartCollisionTriangles.assign(startTriangles.begin(), startTriangles.end());
+ getChildCloth()->mTargetCollisionTriangles.assign(targetTriangles.begin(), targetTriangles.end());
+ getChildCloth()->notifyChanged();
}
else
{
uint32_t retainSize = oldSize - last + first;
- mCloth.mStartCollisionTriangles.resize(retainSize);
- mCloth.mTargetCollisionTriangles.resize(retainSize);
+ getChildCloth()->mStartCollisionTriangles.resize(retainSize);
+ getChildCloth()->mTargetCollisionTriangles.resize(retainSize);
- mCloth.mStartCollisionTriangles.assign(startTriangles.begin(), startTriangles.end());
- mCloth.mTargetCollisionTriangles.assign(targetTriangles.begin(), targetTriangles.end());
-
- // for (uint32_t i = 0, n = startTriangles.size(); i < n; ++i)
- // {
- // mCloth.mStartCollisionTriangles.pushBack(startTriangles[i]);
- // mCloth.mTargetCollisionTriangles.pushBack(targetTriangles[i]);
- // }
+ getChildCloth()->mStartCollisionTriangles.assign(startTriangles.begin(), startTriangles.end());
+ getChildCloth()->mTargetCollisionTriangles.assign(targetTriangles.begin(), targetTriangles.end());
if (newSize - oldSize)
- mCloth.notifyChanged();
+ getChildCloth()->notifyChanged();
}
- mCloth.wakeUp();
+ wakeUp();
}
template <typename T>
inline uint32_t ClothImpl<T>::getNumTriangles() const
{
- return uint32_t(mCloth.mStartCollisionTriangles.size()) / 3;
+ return uint32_t(getChildCloth()->mStartCollisionTriangles.size()) / 3;
}
template <typename T>
inline bool ClothImpl<T>::isContinuousCollisionEnabled() const
{
- return mCloth.mEnableContinuousCollision;
+ return getChildCloth()->mEnableContinuousCollision;
}
template <typename T>
inline void ClothImpl<T>::enableContinuousCollision(bool enable)
{
- if (enable == mCloth.mEnableContinuousCollision)
+ if (enable == getChildCloth()->mEnableContinuousCollision)
return;
- mCloth.mEnableContinuousCollision = enable;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ getChildCloth()->mEnableContinuousCollision = enable;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline float ClothImpl<T>::getCollisionMassScale() const
{
- return mCloth.mCollisionMassScale;
+ return getChildCloth()->mCollisionMassScale;
}
template <typename T>
inline void ClothImpl<T>::setCollisionMassScale(float scale)
{
- if (scale == mCloth.mCollisionMassScale)
+ if (scale == getChildCloth()->mCollisionMassScale)
return;
- mCloth.mCollisionMassScale = scale;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ getChildCloth()->mCollisionMassScale = scale;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline void ClothImpl<T>::setFriction(float friction)
{
- mCloth.mFriction = friction;
- mCloth.wakeUp();
+ getChildCloth()->mFriction = friction;
+ getChildCloth()->notifyChanged();
}
template <typename T>
inline float ClothImpl<T>::getFriction() const
{
- return mCloth.mFriction;
+ return getChildCloth()->mFriction;
}
template <typename T>
inline uint32_t ClothImpl<T>::getNumVirtualParticleWeights() const
{
- return uint32_t(mCloth.mVirtualParticleWeights.size());
+ return uint32_t(getChildCloth()->mVirtualParticleWeights.size());
}
template <typename T>
inline void ClothImpl<T>::setTetherConstraintScale(float scale)
{
- if (scale == mCloth.mTetherConstraintScale)
+ if (scale == getChildCloth()->mTetherConstraintScale)
return;
- mCloth.mTetherConstraintScale = scale;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ getChildCloth()->mTetherConstraintScale = scale;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline float ClothImpl<T>::getTetherConstraintScale() const
{
- return mCloth.mTetherConstraintScale;
+ return getChildCloth()->mTetherConstraintScale;
}
template <typename T>
inline void ClothImpl<T>::setTetherConstraintStiffness(float stiffness)
{
float value = safeLog2(1 - stiffness);
- if (value == mCloth.mTetherConstraintLogStiffness)
+ if (value == getChildCloth()->mTetherConstraintLogStiffness)
return;
- mCloth.mTetherConstraintLogStiffness = value;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ getChildCloth()->mTetherConstraintLogStiffness = value;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline float ClothImpl<T>::getTetherConstraintStiffness() const
{
- return 1.f - safeExp2(mCloth.mTetherConstraintLogStiffness);
+ return 1.f - safeExp2(getChildCloth()->mTetherConstraintLogStiffness);
}
template <typename T>
inline Range<physx::PxVec4> ClothImpl<T>::getMotionConstraints()
{
- mCloth.wakeUp();
- return mCloth.push(mCloth.mMotionConstraints);
+ wakeUp();
+ return getChildCloth()->push(getChildCloth()->mMotionConstraints);
}
template <typename T>
inline void ClothImpl<T>::clearMotionConstraints()
{
- mCloth.clear(mCloth.mMotionConstraints);
- mCloth.wakeUp();
+ getChildCloth()->clear(getChildCloth()->mMotionConstraints);
+ wakeUp();
}
template <typename T>
inline uint32_t ClothImpl<T>::getNumMotionConstraints() const
{
- return uint32_t(mCloth.mMotionConstraints.mStart.size());
+ return uint32_t(getChildCloth()->mMotionConstraints.mStart.size());
}
template <typename T>
inline void ClothImpl<T>::setMotionConstraintScaleBias(float scale, float bias)
{
- if (scale == mCloth.mMotionConstraintScale && bias == mCloth.mMotionConstraintBias)
+ if (scale == getChildCloth()->mMotionConstraintScale && bias == getChildCloth()->mMotionConstraintBias)
return;
- mCloth.mMotionConstraintScale = scale;
- mCloth.mMotionConstraintBias = bias;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ getChildCloth()->mMotionConstraintScale = scale;
+ getChildCloth()->mMotionConstraintBias = bias;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline float ClothImpl<T>::getMotionConstraintScale() const
{
- return mCloth.mMotionConstraintScale;
+ return getChildCloth()->mMotionConstraintScale;
}
template <typename T>
inline float ClothImpl<T>::getMotionConstraintBias() const
{
- return mCloth.mMotionConstraintBias;
+ return getChildCloth()->mMotionConstraintBias;
}
template <typename T>
inline void ClothImpl<T>::setMotionConstraintStiffness(float stiffness)
{
float value = safeLog2(1 - stiffness);
- if (value == mCloth.mMotionConstraintLogStiffness)
+ if (value == getChildCloth()->mMotionConstraintLogStiffness)
return;
- mCloth.mMotionConstraintLogStiffness = value;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ getChildCloth()->mMotionConstraintLogStiffness = value;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline float ClothImpl<T>::getMotionConstraintStiffness() const
{
- return 1.f - safeExp2(mCloth.mMotionConstraintLogStiffness);
+ return 1.f - safeExp2(getChildCloth()->mMotionConstraintLogStiffness);
}
template <typename T>
inline Range<physx::PxVec4> ClothImpl<T>::getSeparationConstraints()
{
- mCloth.wakeUp();
- return mCloth.push(mCloth.mSeparationConstraints);
+ wakeUp();
+ return getChildCloth()->push(getChildCloth()->mSeparationConstraints);
}
template <typename T>
inline void ClothImpl<T>::clearSeparationConstraints()
{
- mCloth.clear(mCloth.mSeparationConstraints);
- mCloth.wakeUp();
+ getChildCloth()->clear(getChildCloth()->mSeparationConstraints);
+ wakeUp();
}
template <typename T>
inline void ClothImpl<T>::clearInterpolation()
{
- if (!mCloth.mTargetCollisionSpheres.empty())
+ if (!getChildCloth()->mTargetCollisionSpheres.empty())
{
- ContextLockType contextLock(mCloth.mFactory);
- physx::shdfnd::swap(mCloth.mStartCollisionSpheres, mCloth.mTargetCollisionSpheres);
- mCloth.mTargetCollisionSpheres.resize(0);
+ ContextLockType contextLock(getChildCloth()->mFactory);
+ physx::shdfnd::swap(getChildCloth()->mStartCollisionSpheres, getChildCloth()->mTargetCollisionSpheres);
+ getChildCloth()->mTargetCollisionSpheres.resize(0);
}
- mCloth.mMotionConstraints.pop();
- mCloth.mSeparationConstraints.pop();
- mCloth.wakeUp();
+ getChildCloth()->mMotionConstraints.pop();
+ getChildCloth()->mSeparationConstraints.pop();
+ wakeUp();
}
template <typename T>
inline uint32_t ClothImpl<T>::getNumSeparationConstraints() const
{
- return uint32_t(mCloth.mSeparationConstraints.mStart.size());
+ return uint32_t(getChildCloth()->mSeparationConstraints.mStart.size());
}
template <typename T>
inline uint32_t ClothImpl<T>::getNumParticleAccelerations() const
{
- return uint32_t(mCloth.mParticleAccelerations.size());
+ return uint32_t(getChildCloth()->mParticleAccelerations.size());
}
template <typename T>
inline void ClothImpl<T>::setWindVelocity(physx::PxVec3 wind)
{
- if (wind == mCloth.mWind)
+ if (wind == mWind)
return;
- mCloth.mWind = wind;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ mWind = wind;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline physx::PxVec3 ClothImpl<T>::getWindVelocity() const
{
- return mCloth.mWind;
+ return mWind;
}
template <typename T>
@@ -1191,18 +1179,18 @@ inline void ClothImpl<T>::setDragCoefficient(float coefficient)
NV_CLOTH_ASSERT(coefficient < 1.f);
float value = safeLog2(1.f - coefficient);
- if (value == mCloth.mDragLogCoefficient)
+ if (value == mDragLogCoefficient)
return;
- mCloth.mDragLogCoefficient = value;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ mDragLogCoefficient = value;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline float ClothImpl<T>::getDragCoefficient() const
{
- return 1.f - safeExp2(mCloth.mDragLogCoefficient);
+ return 1.f - safeExp2(mDragLogCoefficient);
}
template <typename T>
@@ -1211,24 +1199,24 @@ inline void ClothImpl<T>::setLiftCoefficient(float coefficient)
NV_CLOTH_ASSERT(coefficient < 1.f);
float value = safeLog2(1.f - coefficient);
- if (value == mCloth.mLiftLogCoefficient)
+ if (value == mLiftLogCoefficient)
return;
- mCloth.mLiftLogCoefficient = value;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ mLiftLogCoefficient = value;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline float ClothImpl<T>::getLiftCoefficient() const
{
- return 1.f - safeExp2(mCloth.mLiftLogCoefficient);
+ return 1.f - safeExp2(mLiftLogCoefficient);
}
template <typename T>
inline uint32_t ClothImpl<T>::getNumSelfCollisionIndices() const
{
- return uint32_t(mCloth.mSelfCollisionIndices.size());
+ return uint32_t(getChildCloth()->mSelfCollisionIndices.size());
}
// Fixed 4505:local function has been removed
@@ -1236,149 +1224,155 @@ template <typename T>
inline void ClothImpl<T>::setRestPositions(Range<const physx::PxVec4> restPositions)
{
NV_CLOTH_ASSERT(restPositions.empty() || restPositions.size() == getNumParticles());
- ContextLockType contextLock(mCloth.mFactory);
- mCloth.mRestPositions.assign(restPositions.begin(), restPositions.end());
- mCloth.wakeUp();
+ ContextLockType contextLock(getChildCloth()->mFactory);
+ getChildCloth()->mRestPositions.assign(restPositions.begin(), restPositions.end());
+ wakeUp();
}
template <typename T>
inline uint32_t ClothImpl<T>::getNumRestPositions() const
{
- return uint32_t(mCloth.mRestPositions.size());
+ return uint32_t(getChildCloth()->mRestPositions.size());
}
template <typename T>
inline void ClothImpl<T>::setSelfCollisionDistance(float distance)
{
- if (distance == mCloth.mSelfCollisionDistance)
+ if (distance == getChildCloth()->mSelfCollisionDistance)
return;
- mCloth.mSelfCollisionDistance = distance;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ getChildCloth()->mSelfCollisionDistance = distance;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline float ClothImpl<T>::getSelfCollisionDistance() const
{
- return mCloth.mSelfCollisionDistance;
+ return getChildCloth()->mSelfCollisionDistance;
}
template <typename T>
inline void ClothImpl<T>::setSelfCollisionStiffness(float stiffness)
{
float value = safeLog2(1 - stiffness);
- if (value == mCloth.mSelfCollisionLogStiffness)
+ if (value == getChildCloth()->mSelfCollisionLogStiffness)
return;
- mCloth.mSelfCollisionLogStiffness = value;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ getChildCloth()->mSelfCollisionLogStiffness = value;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline float ClothImpl<T>::getSelfCollisionStiffness() const
{
- return 1.f - safeExp2(mCloth.mSelfCollisionLogStiffness);
+ return 1.f - safeExp2(getChildCloth()->mSelfCollisionLogStiffness);
}
template <typename T>
inline const physx::PxVec3& ClothImpl<T>::getBoundingBoxCenter() const
{
- return mCloth.mParticleBoundsCenter;
+ return getChildCloth()->mParticleBoundsCenter;
}
template <typename T>
inline const physx::PxVec3& ClothImpl<T>::getBoundingBoxScale() const
{
- return mCloth.mParticleBoundsHalfExtent;
+ return getChildCloth()->mParticleBoundsHalfExtent;
}
template <typename T>
inline void ClothImpl<T>::setSleepThreshold(float threshold)
{
- if (threshold == mCloth.mSleepThreshold)
+ if (threshold == mSleepThreshold)
return;
- mCloth.mSleepThreshold = threshold;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ mSleepThreshold = threshold;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline float ClothImpl<T>::getSleepThreshold() const
{
- return mCloth.mSleepThreshold;
+ return mSleepThreshold;
}
template <typename T>
inline void ClothImpl<T>::setSleepTestInterval(uint32_t interval)
{
- if (interval == mCloth.mSleepTestInterval)
+ if (interval == mSleepTestInterval)
return;
- mCloth.mSleepTestInterval = interval;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ mSleepTestInterval = interval;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline uint32_t ClothImpl<T>::getSleepTestInterval() const
{
- return mCloth.mSleepTestInterval;
+ return mSleepTestInterval;
}
template <typename T>
inline void ClothImpl<T>::setSleepAfterCount(uint32_t afterCount)
{
- if (afterCount == mCloth.mSleepAfterCount)
+ if (afterCount == mSleepAfterCount)
return;
- mCloth.mSleepAfterCount = afterCount;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ mSleepAfterCount = afterCount;
+ getChildCloth()->notifyChanged();
+ wakeUp();
}
template <typename T>
inline uint32_t ClothImpl<T>::getSleepAfterCount() const
{
- return mCloth.mSleepAfterCount;
+ return mSleepAfterCount;
}
template <typename T>
inline uint32_t ClothImpl<T>::getSleepPassCount() const
{
- return mCloth.mSleepPassCounter;
+ return mSleepPassCounter;
}
template <typename T>
inline bool ClothImpl<T>::isAsleep() const
{
- return mCloth.isSleeping();
+ return isSleeping();
}
template <typename T>
inline void ClothImpl<T>::putToSleep()
{
- mCloth.mSleepPassCounter = mCloth.mSleepAfterCount;
+ mSleepPassCounter = mSleepAfterCount;
+}
+
+template <typename T>
+inline bool ClothImpl<T>::isSleeping() const
+{
+ return mSleepPassCounter >= mSleepAfterCount;
}
template <typename T>
inline void ClothImpl<T>::wakeUp()
{
- mCloth.wakeUp();
+ mSleepPassCounter = 0;
}
template <typename T>
inline void ClothImpl<T>::setUserData(void* data)
{
- mCloth.mUserData = data;
+ getChildCloth()->mUserData = data;
}
template <typename T>
inline void* ClothImpl<T>::getUserData() const
{
- return mCloth.mUserData;
+ return getChildCloth()->mUserData;
}
template <typename T>
diff --git a/NvCloth/src/NvSimd/NvSimd4f.h b/NvCloth/src/NvSimd/NvSimd4f.h
index cb863e7..7e2dde6 100644
--- a/NvCloth/src/NvSimd/NvSimd4f.h
+++ b/NvCloth/src/NvSimd/NvSimd4f.h
@@ -76,12 +76,18 @@ struct Simd4fTupleFactory
Simd4fTupleFactory(float x, float y, float z, float w)
// c++11: : tuple{ x, y, z, w }
{
- tuple[0] = x, tuple[1] = y, tuple[2] = z, tuple[3] = w;
+ tuple[0] = x;
+ tuple[1] = y;
+ tuple[2] = z;
+ tuple[3] = w;
}
Simd4fTupleFactory(unsigned x, unsigned y, unsigned z, unsigned w)
{
unsigned* ptr = reinterpret_cast<unsigned*>(tuple);
- ptr[0] = x, ptr[1] = y, ptr[2] = z, ptr[3] = w;
+ ptr[0] = x;
+ ptr[1] = y;
+ ptr[2] = z;
+ ptr[3] = w;
}
Simd4fTupleFactory& operator = (const Simd4fTupleFactory&); // not implemented
inline operator Simd4f() const;
diff --git a/NvCloth/src/NvSimd/NvSimd4i.h b/NvCloth/src/NvSimd/NvSimd4i.h
index 3da6169..7eda3f4 100644
--- a/NvCloth/src/NvSimd/NvSimd4i.h
+++ b/NvCloth/src/NvSimd/NvSimd4i.h
@@ -61,7 +61,10 @@ struct Simd4iTupleFactory
Simd4iTupleFactory(int x, int y, int z, int w)
// c++11: : tuple{ x, y, z, w }
{
- tuple[0] = x, tuple[1] = y, tuple[2] = z, tuple[3] = w;
+ tuple[0] = x;
+ tuple[1] = y;
+ tuple[2] = z;
+ tuple[3] = w;
}
Simd4iTupleFactory& operator = (const Simd4iTupleFactory&); // not implemented
inline operator Simd4i() const;
diff --git a/NvCloth/src/NvSimd/NvSimdTypes.h b/NvCloth/src/NvSimd/NvSimdTypes.h
index 57b4c36..0625332 100644
--- a/NvCloth/src/NvSimd/NvSimdTypes.h
+++ b/NvCloth/src/NvSimd/NvSimdTypes.h
@@ -72,8 +72,16 @@ void foo(const float* ptr)
* Define Simd4f and Simd4i, which map to four 32bit float or integer tuples.
* */
// note: ps4 compiler defines _M_X64 without value
-#define NV_SIMD_SSE2 (defined _M_IX86 || defined _M_X64 || defined __i386__ || defined __x86_64__)
-#define NV_SIMD_NEON (defined _M_ARM || defined __ARM_NEON__)
+#if defined (_M_IX86) || defined (_M_X64) || defined (__i386__) || defined (__x86_64__) || PX_EMSCRIPTEN
+#define NV_SIMD_SSE2 1
+#else
+#define NV_SIMD_SSE2 0
+#endif
+#if defined (_M_ARM) || defined (__ARM_NEON__) || defined (__ARM_NEON)
+#define NV_SIMD_NEON 1
+#else
+#define NV_SIMD_NEON 0
+#endif
#define NV_SIMD_SIMD (NV_SIMD_SSE2 || NV_SIMD_NEON)
/*! \def NV_SIMD_SCALAR
@@ -90,7 +98,11 @@ void foo(const float* ptr)
// support shift by vector operarations
#define NV_SIMD_SHIFT_BY_VECTOR (NV_SIMD_NEON)
// support inline assembler
-#define NV_SIMD_INLINE_ASSEMBLER !(defined _M_ARM || defined SN_TARGET_PSP2 || defined __arm64__)
+#if defined _M_ARM || defined SN_TARGET_PSP2 || defined __arm64__ || defined __aarch64__
+#define NV_SIMD_INLINE_ASSEMBLER 0
+#else
+#define NV_SIMD_INLINE_ASSEMBLER 1
+#endif
/*! \def NV_SIMD_USE_NAMESPACE
* \brief Set to 1 to define the SIMD library types and functions inside the nvidia::simd namespace.
diff --git a/NvCloth/src/SwCloth.cpp b/NvCloth/src/SwCloth.cpp
index f409ad6..6077ada 100644
--- a/NvCloth/src/SwCloth.cpp
+++ b/NvCloth/src/SwCloth.cpp
@@ -174,116 +174,101 @@ namespace nv
namespace cloth
{
-template <>
-Cloth* ClothImpl<SwCloth>::clone(Factory& factory) const
+Cloth* SwCloth::clone(Factory& factory) const
{
return factory.clone(*this);
}
-template <>
-uint32_t ClothImpl<SwCloth>::getNumParticles() const
+uint32_t SwCloth::getNumParticles() const
{
- return uint32_t(mCloth.mCurParticles.size());
+ return uint32_t(mCurParticles.size());
}
-template <>
-void ClothImpl<SwCloth>::lockParticles() const
+void SwCloth::lockParticles() const
{
}
-template <>
-void ClothImpl<SwCloth>::unlockParticles() const
+void SwCloth::unlockParticles() const
{
}
-template <>
-MappedRange<PxVec4> ClothImpl<SwCloth>::getCurrentParticles()
+MappedRange<physx::PxVec4> SwCloth::getCurrentParticles()
{
- return getMappedParticles(&mCloth.mCurParticles.front());
+ return getMappedParticles(&mCurParticles.front());
}
-template <>
-MappedRange<const PxVec4> ClothImpl<SwCloth>::getCurrentParticles() const
+MappedRange<const physx::PxVec4> SwCloth::getCurrentParticles() const
{
- return getMappedParticles(&mCloth.mCurParticles.front());
+ return getMappedParticles(&mCurParticles.front());
}
-template <>
-MappedRange<PxVec4> ClothImpl<SwCloth>::getPreviousParticles()
+MappedRange<physx::PxVec4> SwCloth::getPreviousParticles()
{
- return getMappedParticles(&mCloth.mPrevParticles.front());
+ return getMappedParticles(&mPrevParticles.front());
}
-template <>
-MappedRange<const PxVec4> ClothImpl<SwCloth>::getPreviousParticles() const
+MappedRange<const physx::PxVec4> SwCloth::getPreviousParticles() const
{
- return getMappedParticles(&mCloth.mPrevParticles.front());
+ return getMappedParticles(&mPrevParticles.front());
}
-template <>
-GpuParticles ClothImpl<SwCloth>::getGpuParticles()
+GpuParticles SwCloth::getGpuParticles()
{
GpuParticles result = { 0, 0, 0 };
return result;
}
-template <>
-void ClothImpl<SwCloth>::setPhaseConfig(Range<const PhaseConfig> configs)
+void SwCloth::setPhaseConfig(Range<const PhaseConfig> configs)
{
- mCloth.mPhaseConfigs.resize(0);
+ mPhaseConfigs.resize(0);
// transform phase config to use in solver
for (; !configs.empty(); configs.popFront())
if (configs.front().mStiffness > 0.0f)
- mCloth.mPhaseConfigs.pushBack(transform(configs.front()));
+ mPhaseConfigs.pushBack(transform(configs.front()));
- mCloth.wakeUp();
+ wakeUp();
}
-template <>
-void ClothImpl<SwCloth>::setSelfCollisionIndices(Range<const uint32_t> indices)
+void SwCloth::setSelfCollisionIndices(Range<const uint32_t> indices)
{
- ContextLockType lock(mCloth.mFactory);
- mCloth.mSelfCollisionIndices.assign(indices.begin(), indices.end());
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ ContextLockType lock(mFactory);
+ mSelfCollisionIndices.assign(indices.begin(), indices.end());
+ notifyChanged();
+ wakeUp();
}
-template <>
-uint32_t ClothImpl<SwCloth>::getNumVirtualParticles() const
+uint32_t SwCloth::getNumVirtualParticles() const
{
- return uint32_t(mCloth.mNumVirtualParticles);
+ return uint32_t(mNumVirtualParticles);
}
-template <>
-Range<PxVec4> ClothImpl<SwCloth>::getParticleAccelerations()
+Range<PxVec4> SwCloth::getParticleAccelerations()
{
- if (mCloth.mParticleAccelerations.empty())
+ if (mParticleAccelerations.empty())
{
- uint32_t n = uint32_t(mCloth.mCurParticles.size());
- mCloth.mParticleAccelerations.resize(n, PxVec4(0.0f));
+ uint32_t n = uint32_t(mCurParticles.size());
+ mParticleAccelerations.resize(n, PxVec4(0.0f));
}
- mCloth.wakeUp();
+ wakeUp();
- PxVec4* data = &mCloth.mParticleAccelerations.front();
- return Range<PxVec4>(data, data + mCloth.mParticleAccelerations.size());
+ PxVec4* data = &mParticleAccelerations.front();
+ return Range<PxVec4>(data, data + mParticleAccelerations.size());
}
-template <>
-void ClothImpl<SwCloth>::clearParticleAccelerations()
+void SwCloth::clearParticleAccelerations()
{
- Vector<PxVec4>::Type().swap(mCloth.mParticleAccelerations);
- mCloth.wakeUp();
+ Vector<PxVec4>::Type().swap(mParticleAccelerations);
+ wakeUp();
}
-template <>
-void ClothImpl<SwCloth>::setVirtualParticles(Range<const uint32_t[4]> indices, Range<const PxVec3> weights)
+void SwCloth::setVirtualParticles(Range<const uint32_t[4]> indices, Range<const PxVec3> weights)
{
- mCloth.mNumVirtualParticles = 0;
+ mNumVirtualParticles = 0;
// shuffle indices to form independent SIMD sets
- uint16_t numParticles = uint16_t(mCloth.mCurParticles.size());
+ uint16_t numParticles = uint16_t(mCurParticles.size());
TripletScheduler scheduler(indices);
scheduler.simd(numParticles, 4);
@@ -292,29 +277,29 @@ void ClothImpl<SwCloth>::setVirtualParticles(Range<const uint32_t[4]> indices, R
Vector<uint32_t>::Type::ConstIterator sIt = scheduler.mSetSizes.begin();
Vector<uint32_t>::Type::ConstIterator sEnd = scheduler.mSetSizes.end();
TripletScheduler::ConstTripletIter tIt = scheduler.mTriplets.begin(), tLast;
- mCloth.mVirtualParticleIndices.resize(0);
- mCloth.mVirtualParticleIndices.reserve(indices.size() + 3 * uint32_t(sEnd - sIt));
+ mVirtualParticleIndices.resize(0);
+ mVirtualParticleIndices.reserve(indices.size() + 3 * uint32_t(sEnd - sIt));
for (; sIt != sEnd; ++sIt)
{
uint32_t setSize = *sIt;
- for (tLast = tIt + setSize; tIt != tLast; ++tIt, ++mCloth.mNumVirtualParticles)
- mCloth.mVirtualParticleIndices.pushBack(Vec4us(*tIt));
- mCloth.mVirtualParticleIndices.resize((mCloth.mVirtualParticleIndices.size() + 3) & ~3, dummy);
+ for (tLast = tIt + setSize; tIt != tLast; ++tIt, ++mNumVirtualParticles)
+ mVirtualParticleIndices.pushBack(Vec4us(*tIt));
+ mVirtualParticleIndices.resize((mVirtualParticleIndices.size() + 3) & ~3, dummy);
}
- Vector<Vec4us>::Type(mCloth.mVirtualParticleIndices.begin(), mCloth.mVirtualParticleIndices.end())
- .swap(mCloth.mVirtualParticleIndices);
+ Vector<Vec4us>::Type(mVirtualParticleIndices.begin(), mVirtualParticleIndices.end())
+ .swap(mVirtualParticleIndices);
// precompute 1/dot(w,w)
- Vector<PxVec4>::Type().swap(mCloth.mVirtualParticleWeights);
- mCloth.mVirtualParticleWeights.reserve(weights.size());
+ Vector<PxVec4>::Type().swap(mVirtualParticleWeights);
+ mVirtualParticleWeights.reserve(weights.size());
for (; !weights.empty(); weights.popFront())
{
PxVec3 w = weights.front();
float scale = 1 / w.magnitudeSquared();
- mCloth.mVirtualParticleWeights.pushBack(PxVec4( w.x, w.y, w.z, scale ));
+ mVirtualParticleWeights.pushBack(PxVec4( w.x, w.y, w.z, scale ));
}
- mCloth.notifyChanged();
+ notifyChanged();
}
} // namespace cloth
diff --git a/NvCloth/src/SwCloth.h b/NvCloth/src/SwCloth.h
index 2730d9d..919a39a 100644
--- a/NvCloth/src/SwCloth.h
+++ b/NvCloth/src/SwCloth.h
@@ -37,6 +37,9 @@
#include <foundation/PxVec4.h>
#include <foundation/PxVec3.h>
#include <foundation/PxTransform.h>
+#include "SwFactory.h"
+#include "SwFabric.h"
+#include "ClothImpl.h"
namespace nv
{
@@ -44,9 +47,6 @@ namespace nv
namespace cloth
{
-class SwFabric;
-class SwFactory;
-
struct SwConstraints
{
void pop()
@@ -62,15 +62,27 @@ struct SwConstraints
Vector<physx::PxVec4>::Type mTarget;
};
-class SwCloth
+struct SwContextLock
{
- SwCloth& operator = (const SwCloth&); // not implemented
- struct SwContextLock
+ SwContextLock(const SwFactory&)
{
- SwContextLock(const SwFactory&)
- {
- }
- };
+ }
+};
+
+class SwCloth;
+
+template<>
+class ClothTraits<SwCloth>
+{
+public:
+ typedef SwFactory FactoryType;
+ typedef SwFabric FabricType;
+ typedef SwContextLock ContextLockType;
+};
+
+class SwCloth : public ClothImpl<SwCloth>
+{
+ SwCloth& operator = (const SwCloth&); // not implemented
public:
typedef SwFactory FactoryType;
@@ -87,14 +99,24 @@ class SwCloth
~SwCloth(); // not virtual on purpose
public:
- bool isSleeping() const
- {
- return mSleepPassCounter >= mSleepAfterCount;
- }
- void wakeUp()
- {
- mSleepPassCounter = 0;
- }
+ virtual Cloth* clone(Factory& factory) const;
+ uint32_t getNumParticles() const;
+
+ void lockParticles() const;
+ void unlockParticles() const;
+
+ MappedRange<physx::PxVec4> getCurrentParticles();
+ MappedRange<const physx::PxVec4> getCurrentParticles() const;
+ MappedRange<physx::PxVec4> getPreviousParticles();
+ MappedRange<const physx::PxVec4> getPreviousParticles() const;
+ GpuParticles getGpuParticles();
+
+ void setPhaseConfig(Range<const PhaseConfig> configs);
+ void setSelfCollisionIndices(Range<const uint32_t> indices);
+ uint32_t getNumVirtualParticles() const;
+ Range<physx::PxVec4> getParticleAccelerations();
+ void clearParticleAccelerations();
+ void setVirtualParticles(Range<const uint32_t[4]> indices, Range<const physx::PxVec3> weights);
void notifyChanged()
{
@@ -117,27 +139,6 @@ class SwCloth
Vector<physx::PxVec4>::Type mCurParticles;
Vector<physx::PxVec4>::Type mPrevParticles;
- physx::PxVec3 mParticleBoundsCenter;
- physx::PxVec3 mParticleBoundsHalfExtent;
-
- physx::PxVec3 mGravity;
- physx::PxVec3 mLogDamping;
- physx::PxVec3 mLinearLogDrag;
- physx::PxVec3 mAngularLogDrag;
- physx::PxVec3 mLinearInertia;
- physx::PxVec3 mAngularInertia;
- physx::PxVec3 mCentrifugalInertia;
- float mSolverFrequency;
- float mStiffnessFrequency;
-
- physx::PxTransform mTargetMotion;
- physx::PxTransform mCurrentMotion;
- physx::PxVec3 mLinearVelocity;
- physx::PxVec3 mAngularVelocity;
-
- float mPrevIterDt;
- MovingAverage mIterDtAvg;
-
Vector<PhaseConfig>::Type mPhaseConfigs; // transformed!
// tether constraints stuff
@@ -156,11 +157,6 @@ class SwCloth
// particle acceleration stuff
Vector<physx::PxVec4>::Type mParticleAccelerations;
- // wind
- physx::PxVec3 mWind;
- float mDragLogCoefficient;
- float mLiftLogCoefficient;
-
// collision stuff
Vector<IndexPair>::Type mCapsuleIndices;
Vector<physx::PxVec4>::Type mStartCollisionSpheres;
@@ -187,16 +183,8 @@ class SwCloth
Vector<physx::PxVec4>::Type mRestPositions;
- // sleeping
- uint32_t mSleepTestInterval; // how often to test for movement
- uint32_t mSleepAfterCount; // number of tests to pass before sleep
- float mSleepThreshold; // max movement delta to pass test
- uint32_t mSleepPassCounter; // how many tests passed
- uint32_t mSleepTestCounter; // how many iterations since tested
-
// unused for CPU simulation
void* mUserData;
-
};
} // namespace cloth
diff --git a/NvCloth/src/SwCollision.cpp b/NvCloth/src/SwCollision.cpp
index 3774795..89df8a5 100644
--- a/NvCloth/src/SwCollision.cpp
+++ b/NvCloth/src/SwCollision.cpp
@@ -42,8 +42,8 @@ using namespace nv;
using namespace physx;
// the particle trajectory needs to penetrate more than 0.2 * radius to trigger continuous collision
-template <typename Simd4f>
-const Simd4f cloth::SwCollision<Simd4f>::sSkeletonWidth = simd4f(cloth::sqr(1 - 0.2f) - 1);
+template <typename T4f>
+const T4f cloth::SwCollision<T4f>::sSkeletonWidth = simd4f(cloth::sqr(1 - 0.2f) - 1);
#if NV_SIMD_SSE2
const Simd4i cloth::Gather<Simd4i>::sIntSignBit = simd4i(0x80000000);
@@ -66,8 +66,8 @@ const Simd4fScalarFactory sGridExpand = simd4f(1e-4f);
const Simd4fTupleFactory sMinusFloatMaxXYZ = simd4f(-FLT_MAX, -FLT_MAX, -FLT_MAX, 0.0f);
#if PX_PROFILE || PX_DEBUG
-template <typename Simd4f>
-uint32_t horizontalSum(const Simd4f& x)
+template <typename T4f>
+uint32_t horizontalSum(const T4f& x)
{
const float* p = array(x);
return uint32_t(0.5f + p[0] + p[1] + p[2] + p[3]);
@@ -75,8 +75,8 @@ uint32_t horizontalSum(const Simd4f& x)
#endif
// 7 elements are written to ptr!
-template <typename Simd4f>
-void storeBounds(float* ptr, const cloth::BoundingBox<Simd4f>& bounds)
+template <typename T4f>
+void storeBounds(float* ptr, const cloth::BoundingBox<T4f>& bounds)
{
store(ptr, bounds.mLower);
store(ptr + 3, bounds.mUpper);
@@ -128,14 +128,14 @@ namespace nv
{
namespace cloth
{
-template <typename Simd4f>
-BoundingBox<Simd4f> expandBounds(const BoundingBox<Simd4f>& bbox, const SphereData* sIt, const SphereData* sEnd)
+template <typename T4f>
+BoundingBox<T4f> expandBounds(const BoundingBox<T4f>& bbox, const SphereData* sIt, const SphereData* sEnd)
{
- BoundingBox<Simd4f> result = bbox;
+ BoundingBox<T4f> result = bbox;
for (; sIt != sEnd; ++sIt)
{
- Simd4f p = loadAligned(array(sIt->center));
- Simd4f r = splat<3>(p);
+ T4f p = loadAligned(array(sIt->center));
+ T4f r = splat<3>(p);
result.mLower = min(result.mLower, p - r);
result.mUpper = max(result.mUpper, p + r);
}
@@ -146,8 +146,8 @@ BoundingBox<Simd4f> expandBounds(const BoundingBox<Simd4f>& bbox, const SphereDa
namespace
{
-template <typename Simd4f, typename SrcIterator>
-void generateSpheres(Simd4f* dIt, const SrcIterator& src, uint32_t count)
+template <typename T4f, typename SrcIterator>
+void generateSpheres(T4f* dIt, const SrcIterator& src, uint32_t count)
{
// have to copy out iterator to ensure alignment is maintained
for (SrcIterator sIt = src; 0 < count--; ++sIt, ++dIt)
@@ -192,41 +192,41 @@ void generateCones(cloth::ConeData* dst, const cloth::SphereData* sourceSpheres,
}
}
-template <typename Simd4f, typename SrcIterator>
-void generatePlanes(Simd4f* dIt, const SrcIterator& src, uint32_t count)
+template <typename T4f, typename SrcIterator>
+void generatePlanes(T4f* dIt, const SrcIterator& src, uint32_t count)
{
// have to copy out iterator to ensure alignment is maintained
for (SrcIterator sIt = src; 0 < count--; ++sIt, ++dIt)
*dIt = *sIt;
}
-template <typename Simd4f, typename SrcIterator>
+template <typename T4f, typename SrcIterator>
void generateTriangles(cloth::TriangleData* dIt, const SrcIterator& src, uint32_t count)
{
// have to copy out iterator to ensure alignment is maintained
for (SrcIterator sIt = src; 0 < count--; ++dIt)
{
- Simd4f p0 = *sIt;
+ T4f p0 = *sIt;
++sIt;
- Simd4f p1 = *sIt;
+ T4f p1 = *sIt;
++sIt;
- Simd4f p2 = *sIt;
+ T4f p2 = *sIt;
++sIt;
- Simd4f edge0 = p1 - p0;
- Simd4f edge1 = p2 - p0;
- Simd4f normal = cross3(edge0, edge1);
+ T4f edge0 = p1 - p0;
+ T4f edge1 = p2 - p0;
+ T4f normal = cross3(edge0, edge1);
- Simd4f edge0SqrLength = dot3(edge0, edge0);
- Simd4f edge1SqrLength = dot3(edge1, edge1);
- Simd4f edge0DotEdge1 = dot3(edge0, edge1);
- Simd4f normalInvLength = rsqrt(dot3(normal, normal));
+ T4f edge0SqrLength = dot3(edge0, edge0);
+ T4f edge1SqrLength = dot3(edge1, edge1);
+ T4f edge0DotEdge1 = dot3(edge0, edge1);
+ T4f normalInvLength = rsqrt(dot3(normal, normal));
- Simd4f det = edge0SqrLength * edge1SqrLength - edge0DotEdge1 * edge0DotEdge1;
- Simd4f denom = edge0SqrLength + edge1SqrLength - edge0DotEdge1 - edge0DotEdge1;
+ T4f det = edge0SqrLength * edge1SqrLength - edge0DotEdge1 * edge0DotEdge1;
+ T4f denom = edge0SqrLength + edge1SqrLength - edge0DotEdge1 - edge0DotEdge1;
// there are definitely faster ways...
- Simd4f aux = select(sMaskX, det, denom);
+ T4f aux = select(sMaskX, det, denom);
aux = select(sMaskZ, edge0SqrLength, aux);
aux = select(sMaskW, edge1SqrLength, aux);
@@ -240,14 +240,14 @@ void generateTriangles(cloth::TriangleData* dIt, const SrcIterator& src, uint32_
} // namespace
-template <typename Simd4f>
-cloth::SwCollision<Simd4f>::CollisionData::CollisionData()
+template <typename T4f>
+cloth::SwCollision<T4f>::CollisionData::CollisionData()
: mSpheres(0), mCones(0)
{
}
-template <typename Simd4f>
-cloth::SwCollision<Simd4f>::SwCollision(SwClothData& clothData, SwKernelAllocator& alloc)
+template <typename T4f>
+cloth::SwCollision<T4f>::SwCollision(SwClothData& clothData, SwKernelAllocator& alloc)
: mClothData(clothData), mAllocator(alloc)
{
allocate(mCurData);
@@ -256,22 +256,22 @@ cloth::SwCollision<Simd4f>::SwCollision(SwClothData& clothData, SwKernelAllocato
{
allocate(mPrevData);
- generateSpheres(reinterpret_cast<Simd4f*>(mPrevData.mSpheres),
- reinterpret_cast<const Simd4f*>(clothData.mStartCollisionSpheres), clothData.mNumSpheres);
+ generateSpheres(reinterpret_cast<T4f*>(mPrevData.mSpheres),
+ reinterpret_cast<const T4f*>(clothData.mStartCollisionSpheres), clothData.mNumSpheres);
generateCones(mPrevData.mCones, mPrevData.mSpheres, clothData.mCapsuleIndices, clothData.mNumCapsules);
}
}
-template <typename Simd4f>
-cloth::SwCollision<Simd4f>::~SwCollision()
+template <typename T4f>
+cloth::SwCollision<T4f>::~SwCollision()
{
deallocate(mCurData);
deallocate(mPrevData);
}
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::operator()(const IterationState<Simd4f>& state)
+template <typename T4f>
+void cloth::SwCollision<T4f>::operator()(const IterationState<T4f>& state)
{
mNumCollisions = 0;
@@ -285,20 +285,20 @@ void cloth::SwCollision<Simd4f>::operator()(const IterationState<Simd4f>& state)
bool lastIteration = state.mRemainingIterations == 1;
- const Simd4f* targetSpheres = reinterpret_cast<const Simd4f*>(mClothData.mTargetCollisionSpheres);
+ const T4f* targetSpheres = reinterpret_cast<const T4f*>(mClothData.mTargetCollisionSpheres);
// generate sphere and cone collision data
if (!lastIteration)
{
// interpolate spheres
- LerpIterator<Simd4f, const Simd4f*> pIter(reinterpret_cast<const Simd4f*>(mClothData.mStartCollisionSpheres),
+ LerpIterator<T4f, const T4f*> pIter(reinterpret_cast<const T4f*>(mClothData.mStartCollisionSpheres),
targetSpheres, state.getCurrentAlpha());
- generateSpheres(reinterpret_cast<Simd4f*>(mCurData.mSpheres), pIter, mClothData.mNumSpheres);
+ generateSpheres(reinterpret_cast<T4f*>(mCurData.mSpheres), pIter, mClothData.mNumSpheres);
}
else
{
// otherwise use the target spheres directly
- generateSpheres(reinterpret_cast<Simd4f*>(mCurData.mSpheres), targetSpheres, mClothData.mNumSpheres);
+ generateSpheres(reinterpret_cast<T4f*>(mCurData.mSpheres), targetSpheres, mClothData.mNumSpheres);
}
// generate cones even if test below fails because
@@ -323,8 +323,8 @@ void cloth::SwCollision<Simd4f>::operator()(const IterationState<Simd4f>& state)
shdfnd::swap(mCurData, mPrevData);
}
-template <typename Simd4f>
-size_t cloth::SwCollision<Simd4f>::estimateTemporaryMemory(const SwCloth& cloth)
+template <typename T4f>
+size_t cloth::SwCollision<T4f>::estimateTemporaryMemory(const SwCloth& cloth)
{
size_t numTriangles = cloth.mStartCollisionTriangles.size();
size_t numPlanes = cloth.mStartCollisionPlanes.size();
@@ -335,8 +335,8 @@ size_t cloth::SwCollision<Simd4f>::estimateTemporaryMemory(const SwCloth& cloth)
return std::max(kTriangleDataSize, kPlaneDataSize);
}
-template <typename Simd4f>
-size_t cloth::SwCollision<Simd4f>::estimatePersistentMemory(const SwCloth& cloth)
+template <typename T4f>
+size_t cloth::SwCollision<T4f>::estimatePersistentMemory(const SwCloth& cloth)
{
size_t numCapsules = cloth.mCapsuleIndices.size();
size_t numSpheres = cloth.mStartCollisionSpheres.size();
@@ -347,74 +347,74 @@ size_t cloth::SwCollision<Simd4f>::estimatePersistentMemory(const SwCloth& cloth
return sphereDataSize + coneDataSize;
}
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::allocate(CollisionData& data)
+template <typename T4f>
+void cloth::SwCollision<T4f>::allocate(CollisionData& data)
{
data.mSpheres = static_cast<SphereData*>(mAllocator.allocate(sizeof(SphereData) * mClothData.mNumSpheres));
data.mCones = static_cast<ConeData*>(mAllocator.allocate(sizeof(ConeData) * mClothData.mNumCapsules));
}
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::deallocate(const CollisionData& data)
+template <typename T4f>
+void cloth::SwCollision<T4f>::deallocate(const CollisionData& data)
{
mAllocator.deallocate(data.mSpheres);
mAllocator.deallocate(data.mCones);
}
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::computeBounds()
+template <typename T4f>
+void cloth::SwCollision<T4f>::computeBounds()
{
NV_CLOTH_PROFILE_ZONE("cloth::SwSolverKernel::computeBounds", /*ProfileContext::None*/ 0);
- Simd4f* prevIt = reinterpret_cast<Simd4f*>(mClothData.mPrevParticles);
- Simd4f* curIt = reinterpret_cast<Simd4f*>(mClothData.mCurParticles);
- Simd4f* curEnd = curIt + mClothData.mNumParticles;
- Simd4f floatMaxXYZ = -static_cast<Simd4f>(sMinusFloatMaxXYZ);
+ T4f* prevIt = reinterpret_cast<T4f*>(mClothData.mPrevParticles);
+ T4f* curIt = reinterpret_cast<T4f*>(mClothData.mCurParticles);
+ T4f* curEnd = curIt + mClothData.mNumParticles;
+ T4f floatMaxXYZ = -static_cast<T4f>(sMinusFloatMaxXYZ);
- Simd4f lower = simd4f(FLT_MAX), upper = -lower;
+ T4f lower = simd4f(FLT_MAX), upper = -lower;
for (; curIt < curEnd; ++curIt, ++prevIt)
{
- Simd4f current = *curIt;
+ T4f current = *curIt;
lower = min(lower, current);
upper = max(upper, current);
// if (current.w > 0) current.w = previous.w
*curIt = select(current > floatMaxXYZ, *prevIt, current);
}
- BoundingBox<Simd4f> curBounds;
+ BoundingBox<T4f> curBounds;
curBounds.mLower = lower;
curBounds.mUpper = upper;
// don't change this order, storeBounds writes 7 floats
- BoundingBox<Simd4f> prevBounds = loadBounds<Simd4f>(mClothData.mCurBounds);
+ BoundingBox<T4f> prevBounds = loadBounds<T4f>(mClothData.mCurBounds);
storeBounds(mClothData.mCurBounds, curBounds);
storeBounds(mClothData.mPrevBounds, prevBounds);
}
namespace
{
-template <typename Simd4i>
-Simd4i andNotIsZero(const Simd4i& left, const Simd4i& right)
+template <typename T4i>
+T4i andNotIsZero(const T4i& left, const T4i& right)
{
return (left & ~right) == gSimd4iZero;
}
}
// build per-axis mask arrays of spheres on the right/left of grid cell
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::buildSphereAcceleration(const SphereData* sIt)
+template <typename T4f>
+void cloth::SwCollision<T4f>::buildSphereAcceleration(const SphereData* sIt)
{
static const int maxIndex = sGridSize - 1;
const SphereData* sEnd = sIt + mClothData.mNumSpheres;
for (uint32_t mask = 0x1; sIt != sEnd; ++sIt, mask <<= 1)
{
- Simd4f sphere = loadAligned(array(sIt->center));
- Simd4f radius = splat<3>(sphere);
+ T4f sphere = loadAligned(array(sIt->center));
+ T4f radius = splat<3>(sphere);
- Simd4i first = intFloor(max((sphere - radius) * mGridScale + mGridBias, gSimd4fZero));
- Simd4i last = intFloor(min((sphere + radius) * mGridScale + mGridBias, sGridLength));
+ T4i first = intFloor(max((sphere - radius) * mGridScale + mGridBias, gSimd4fZero));
+ T4i last = intFloor(min((sphere + radius) * mGridScale + mGridBias, sGridLength));
const int* firstIdx = array(first);
const int* lastIdx = array(last);
@@ -434,8 +434,8 @@ void cloth::SwCollision<Simd4f>::buildSphereAcceleration(const SphereData* sIt)
}
// generate cone masks from sphere masks
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::buildConeAcceleration()
+template <typename T4f>
+void cloth::SwCollision<T4f>::buildConeAcceleration()
{
const ConeData* coneIt = mCurData.mCones;
const ConeData* coneEnd = coneIt + mClothData.mNumCapsules;
@@ -456,8 +456,8 @@ void cloth::SwCollision<Simd4f>::buildConeAcceleration()
}
// convert right/left mask arrays into single overlap array
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::mergeAcceleration(uint32_t* firstIt)
+template <typename T4f>
+void cloth::SwCollision<T4f>::mergeAcceleration(uint32_t* firstIt)
{
uint32_t* firstEnd = firstIt + 3 * sGridSize;
uint32_t* lastIt = firstEnd;
@@ -466,28 +466,28 @@ void cloth::SwCollision<Simd4f>::mergeAcceleration(uint32_t* firstIt)
}
// build mask of spheres/cones touching a regular grid along each axis
-template <typename Simd4f>
-bool cloth::SwCollision<Simd4f>::buildAcceleration()
+template <typename T4f>
+bool cloth::SwCollision<T4f>::buildAcceleration()
{
// determine sphere bbox
- BoundingBox<Simd4f> sphereBounds =
- expandBounds(emptyBounds<Simd4f>(), mCurData.mSpheres, mCurData.mSpheres + mClothData.mNumSpheres);
- BoundingBox<Simd4f> particleBounds = loadBounds<Simd4f>(mClothData.mCurBounds);
+ BoundingBox<T4f> sphereBounds =
+ expandBounds(emptyBounds<T4f>(), mCurData.mSpheres, mCurData.mSpheres + mClothData.mNumSpheres);
+ BoundingBox<T4f> particleBounds = loadBounds<T4f>(mClothData.mCurBounds);
if (mClothData.mEnableContinuousCollision)
{
sphereBounds = expandBounds(sphereBounds, mPrevData.mSpheres, mPrevData.mSpheres + mClothData.mNumSpheres);
- particleBounds = expandBounds(particleBounds, loadBounds<Simd4f>(mClothData.mPrevBounds));
+ particleBounds = expandBounds(particleBounds, loadBounds<T4f>(mClothData.mPrevBounds));
}
- BoundingBox<Simd4f> bounds = intersectBounds(sphereBounds, particleBounds);
- Simd4f edgeLength = (bounds.mUpper - bounds.mLower) & ~static_cast<Simd4f>(sMaskW);
+ BoundingBox<T4f> bounds = intersectBounds(sphereBounds, particleBounds);
+ T4f edgeLength = (bounds.mUpper - bounds.mLower) & ~static_cast<T4f>(sMaskW);
if (!allGreaterEqual(edgeLength, gSimd4fZero))
return false;
// calculate an expanded bounds to account for numerical inaccuracy
- const Simd4f expandedLower = bounds.mLower - abs(bounds.mLower) * sGridExpand;
- const Simd4f expandedUpper = bounds.mUpper + abs(bounds.mUpper) * sGridExpand;
- const Simd4f expandedEdgeLength = max(expandedUpper - expandedLower, gSimd4fEpsilon);
+ const T4f expandedLower = bounds.mLower - abs(bounds.mLower) * sGridExpand;
+ const T4f expandedUpper = bounds.mUpper + abs(bounds.mUpper) * sGridExpand;
+ const T4f expandedEdgeLength = max(expandedUpper - expandedLower, gSimd4fEpsilon);
// make grid minimal thickness and strict upper bound of spheres
mGridScale = sGridLength * recip<1>(expandedEdgeLength);
@@ -514,8 +514,8 @@ bool cloth::SwCollision<Simd4f>::buildAcceleration()
#define FORCE_INLINE inline __attribute__((always_inline))
#endif
-template <typename Simd4f>
-FORCE_INLINE typename cloth::SwCollision<Simd4f>::ShapeMask& cloth::SwCollision<Simd4f>::ShapeMask::
+template <typename T4f>
+FORCE_INLINE typename cloth::SwCollision<T4f>::ShapeMask& cloth::SwCollision<T4f>::ShapeMask::
operator = (const ShapeMask& right)
{
mCones = right.mCones;
@@ -523,8 +523,8 @@ operator = (const ShapeMask& right)
return *this;
}
-template <typename Simd4f>
-FORCE_INLINE typename cloth::SwCollision<Simd4f>::ShapeMask& cloth::SwCollision<Simd4f>::ShapeMask::
+template <typename T4f>
+FORCE_INLINE typename cloth::SwCollision<T4f>::ShapeMask& cloth::SwCollision<T4f>::ShapeMask::
operator &= (const ShapeMask& right)
{
mCones = mCones & right.mCones;
@@ -532,12 +532,12 @@ operator &= (const ShapeMask& right)
return *this;
}
-template <typename Simd4f>
-FORCE_INLINE typename cloth::SwCollision<Simd4f>::ShapeMask
-cloth::SwCollision<Simd4f>::getShapeMask(const Simd4f& position, const Simd4i* __restrict sphereGrid,
- const Simd4i* __restrict coneGrid)
+template <typename T4f>
+FORCE_INLINE typename cloth::SwCollision<T4f>::ShapeMask
+cloth::SwCollision<T4f>::getShapeMask(const T4f& position, const T4i* __restrict sphereGrid,
+ const T4i* __restrict coneGrid)
{
- Gather<Simd4i> gather(intFloor(position));
+ Gather<T4i> gather(intFloor(position));
ShapeMask result;
result.mCones = gather(coneGrid);
@@ -546,13 +546,13 @@ cloth::SwCollision<Simd4f>::getShapeMask(const Simd4f& position, const Simd4i* _
}
// lookup acceleration structure and return mask of potential intersectors
-template <typename Simd4f>
-FORCE_INLINE typename cloth::SwCollision<Simd4f>::ShapeMask
-cloth::SwCollision<Simd4f>::getShapeMask(const Simd4f* __restrict positions) const
+template <typename T4f>
+FORCE_INLINE typename cloth::SwCollision<T4f>::ShapeMask
+cloth::SwCollision<T4f>::getShapeMask(const T4f* __restrict positions) const
{
- Simd4f posX = positions[0] * splat<0>(mGridScale) + splat<0>(mGridBias);
- Simd4f posY = positions[1] * splat<1>(mGridScale) + splat<1>(mGridBias);
- Simd4f posZ = positions[2] * splat<2>(mGridScale) + splat<2>(mGridBias);
+ T4f posX = positions[0] * splat<0>(mGridScale) + splat<0>(mGridBias);
+ T4f posY = positions[1] * splat<1>(mGridScale) + splat<1>(mGridBias);
+ T4f posZ = positions[2] * splat<2>(mGridScale) + splat<2>(mGridBias);
ShapeMask result = getShapeMask(posX, mSphereGrid, mConeGrid);
result &= getShapeMask(posY, mSphereGrid + 2, mConeGrid + 2);
@@ -562,38 +562,38 @@ cloth::SwCollision<Simd4f>::getShapeMask(const Simd4f* __restrict positions) con
}
// lookup acceleration structure and return mask of potential intersectors
-template <typename Simd4f>
-FORCE_INLINE typename cloth::SwCollision<Simd4f>::ShapeMask
-cloth::SwCollision<Simd4f>::getShapeMask(const Simd4f* __restrict prevPos, const Simd4f* __restrict curPos) const
+template <typename T4f>
+FORCE_INLINE typename cloth::SwCollision<T4f>::ShapeMask
+cloth::SwCollision<T4f>::getShapeMask(const T4f* __restrict prevPos, const T4f* __restrict curPos) const
{
- Simd4f scaleX = splat<0>(mGridScale);
- Simd4f scaleY = splat<1>(mGridScale);
- Simd4f scaleZ = splat<2>(mGridScale);
+ T4f scaleX = splat<0>(mGridScale);
+ T4f scaleY = splat<1>(mGridScale);
+ T4f scaleZ = splat<2>(mGridScale);
- Simd4f biasX = splat<0>(mGridBias);
- Simd4f biasY = splat<1>(mGridBias);
- Simd4f biasZ = splat<2>(mGridBias);
+ T4f biasX = splat<0>(mGridBias);
+ T4f biasY = splat<1>(mGridBias);
+ T4f biasZ = splat<2>(mGridBias);
- Simd4f prevX = prevPos[0] * scaleX + biasX;
- Simd4f prevY = prevPos[1] * scaleY + biasY;
- Simd4f prevZ = prevPos[2] * scaleZ + biasZ;
+ T4f prevX = prevPos[0] * scaleX + biasX;
+ T4f prevY = prevPos[1] * scaleY + biasY;
+ T4f prevZ = prevPos[2] * scaleZ + biasZ;
- Simd4f curX = curPos[0] * scaleX + biasX;
- Simd4f curY = curPos[1] * scaleY + biasY;
- Simd4f curZ = curPos[2] * scaleZ + biasZ;
+ T4f curX = curPos[0] * scaleX + biasX;
+ T4f curY = curPos[1] * scaleY + biasY;
+ T4f curZ = curPos[2] * scaleZ + biasZ;
- Simd4f maxX = min(max(prevX, curX), sGridLength);
- Simd4f maxY = min(max(prevY, curY), sGridLength);
- Simd4f maxZ = min(max(prevZ, curZ), sGridLength);
+ T4f maxX = min(max(prevX, curX), sGridLength);
+ T4f maxY = min(max(prevY, curY), sGridLength);
+ T4f maxZ = min(max(prevZ, curZ), sGridLength);
ShapeMask result = getShapeMask(maxX, mSphereGrid, mConeGrid);
result &= getShapeMask(maxY, mSphereGrid + 2, mConeGrid + 2);
result &= getShapeMask(maxZ, mSphereGrid + 4, mConeGrid + 4);
- Simd4f zero = gSimd4fZero;
- Simd4f minX = max(min(prevX, curX), zero);
- Simd4f minY = max(min(prevY, curY), zero);
- Simd4f minZ = max(min(prevZ, curZ), zero);
+ T4f zero = gSimd4fZero;
+ T4f minX = max(min(prevX, curX), zero);
+ T4f minY = max(min(prevY, curY), zero);
+ T4f minZ = max(min(prevZ, curZ), zero);
result &= getShapeMask(minX, mSphereGrid + 6, mConeGrid + 6);
result &= getShapeMask(minY, mSphereGrid + 8, mConeGrid + 8);
@@ -602,8 +602,8 @@ cloth::SwCollision<Simd4f>::getShapeMask(const Simd4f* __restrict prevPos, const
return result;
}
-template <typename Simd4f>
-struct cloth::SwCollision<Simd4f>::ImpulseAccumulator
+template <typename T4f>
+struct cloth::SwCollision<T4f>::ImpulseAccumulator
{
ImpulseAccumulator()
: mDeltaX(gSimd4fZero)
@@ -616,21 +616,21 @@ struct cloth::SwCollision<Simd4f>::ImpulseAccumulator
{
}
- void add(const Simd4f& x, const Simd4f& y, const Simd4f& z, const Simd4f& scale, const Simd4f& mask)
+ void add(const T4f& x, const T4f& y, const T4f& z, const T4f& scale, const T4f& mask)
{
NV_CLOTH_ASSERT(allTrue((mask & x) == (mask & x)));
NV_CLOTH_ASSERT(allTrue((mask & y) == (mask & y)));
NV_CLOTH_ASSERT(allTrue((mask & z) == (mask & z)));
NV_CLOTH_ASSERT(allTrue((mask & scale) == (mask & scale)));
- Simd4f maskedScale = scale & mask;
+ T4f maskedScale = scale & mask;
mDeltaX = mDeltaX + x * maskedScale;
mDeltaY = mDeltaY + y * maskedScale;
mDeltaZ = mDeltaZ + z * maskedScale;
mNumCollisions = mNumCollisions + (gSimd4fOne & mask);
}
- void addVelocity(const Simd4f& vx, const Simd4f& vy, const Simd4f& vz, const Simd4f& mask)
+ void addVelocity(const T4f& vx, const T4f& vy, const T4f& vz, const T4f& mask)
{
NV_CLOTH_ASSERT(allTrue((mask & vx) == (mask & vx)));
NV_CLOTH_ASSERT(allTrue((mask & vy) == (mask & vy)));
@@ -641,34 +641,34 @@ struct cloth::SwCollision<Simd4f>::ImpulseAccumulator
mVelZ = mVelZ + (vz & mask);
}
- void subtract(const Simd4f& x, const Simd4f& y, const Simd4f& z, const Simd4f& scale, const Simd4f& mask)
+ void subtract(const T4f& x, const T4f& y, const T4f& z, const T4f& scale, const T4f& mask)
{
NV_CLOTH_ASSERT(allTrue((mask & x) == (mask & x)));
NV_CLOTH_ASSERT(allTrue((mask & y) == (mask & y)));
NV_CLOTH_ASSERT(allTrue((mask & z) == (mask & z)));
NV_CLOTH_ASSERT(allTrue((mask & scale) == (mask & scale)));
- Simd4f maskedScale = scale & mask;
+ T4f maskedScale = scale & mask;
mDeltaX = mDeltaX - x * maskedScale;
mDeltaY = mDeltaY - y * maskedScale;
mDeltaZ = mDeltaZ - z * maskedScale;
mNumCollisions = mNumCollisions + (gSimd4fOne & mask);
}
- Simd4f mDeltaX, mDeltaY, mDeltaZ;
- Simd4f mVelX, mVelY, mVelZ;
- Simd4f mNumCollisions;
+ T4f mDeltaX, mDeltaY, mDeltaZ;
+ T4f mVelX, mVelY, mVelZ;
+ T4f mNumCollisions;
};
-template <typename Simd4f>
-FORCE_INLINE void cloth::SwCollision<Simd4f>::collideSpheres(const Simd4i& sphereMask, const Simd4f* positions,
+template <typename T4f>
+FORCE_INLINE void cloth::SwCollision<T4f>::collideSpheres(const T4i& sphereMask, const T4f* positions,
ImpulseAccumulator& accum) const
{
const float* __restrict spherePtr = array(mCurData.mSpheres->center);
bool frictionEnabled = mClothData.mFrictionScale > 0.0f;
- Simd4i mask4 = horizontalOr(sphereMask);
+ T4i mask4 = horizontalOr(sphereMask);
uint32_t mask = uint32_t(array(mask4)[0]);
while (mask)
{
@@ -676,16 +676,16 @@ FORCE_INLINE void cloth::SwCollision<Simd4f>::collideSpheres(const Simd4i& spher
uint32_t offset = findBitSet(mask & ~test) * sizeof(SphereData);
mask = mask & test;
- Simd4f sphere = loadAligned(spherePtr, offset);
+ T4f sphere = loadAligned(spherePtr, offset);
- Simd4f deltaX = positions[0] - splat<0>(sphere);
- Simd4f deltaY = positions[1] - splat<1>(sphere);
- Simd4f deltaZ = positions[2] - splat<2>(sphere);
+ T4f deltaX = positions[0] - splat<0>(sphere);
+ T4f deltaY = positions[1] - splat<1>(sphere);
+ T4f deltaZ = positions[2] - splat<2>(sphere);
- Simd4f sqrDistance = gSimd4fEpsilon + deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ;
- Simd4f negativeScale = gSimd4fOne - rsqrt(sqrDistance) * splat<3>(sphere);
+ T4f sqrDistance = gSimd4fEpsilon + deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ;
+ T4f negativeScale = gSimd4fOne - rsqrt(sqrDistance) * splat<3>(sphere);
- Simd4f contactMask;
+ T4f contactMask;
if (!anyGreater(gSimd4fZero, negativeScale, contactMask))
continue;
@@ -696,17 +696,17 @@ FORCE_INLINE void cloth::SwCollision<Simd4f>::collideSpheres(const Simd4i& spher
// load previous sphere pos
const float* __restrict prevSpherePtr = array(mPrevData.mSpheres->center);
- Simd4f prevSphere = loadAligned(prevSpherePtr, offset);
- Simd4f velocity = sphere - prevSphere;
+ T4f prevSphere = loadAligned(prevSpherePtr, offset);
+ T4f velocity = sphere - prevSphere;
accum.addVelocity(splat<0>(velocity), splat<1>(velocity), splat<2>(velocity), contactMask);
}
}
}
-template <typename Simd4f>
-FORCE_INLINE typename cloth::SwCollision<Simd4f>::Simd4i
-cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict positions, ImpulseAccumulator& accum) const
+template <typename T4f>
+FORCE_INLINE typename cloth::SwCollision<T4f>::T4i
+cloth::SwCollision<T4f>::collideCones(const T4f* __restrict positions, ImpulseAccumulator& accum) const
{
const float* __restrict centerPtr = array(mCurData.mCones->center);
const float* __restrict axisPtr = array(mCurData.mCones->axis);
@@ -715,7 +715,7 @@ cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict positions, Imp
bool frictionEnabled = mClothData.mFrictionScale > 0.0f;
ShapeMask shapeMask = getShapeMask(positions);
- Simd4i mask4 = horizontalOr(shapeMask.mCones);
+ T4i mask4 = horizontalOr(shapeMask.mCones);
uint32_t mask = uint32_t(array(mask4)[0]);
while (mask)
{
@@ -724,35 +724,35 @@ cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict positions, Imp
uint32_t offset = coneIndex * sizeof(ConeData);
mask = mask & test;
- Simd4i test4 = mask4 - gSimd4iOne;
- Simd4f culled = simd4f(andNotIsZero(shapeMask.mCones, test4));
+ T4i test4 = mask4 - gSimd4iOne;
+ T4f culled = simd4f(andNotIsZero(shapeMask.mCones, test4));
mask4 = mask4 & test4;
- Simd4f center = loadAligned(centerPtr, offset);
+ T4f center = loadAligned(centerPtr, offset);
- Simd4f deltaX = positions[0] - splat<0>(center);
- Simd4f deltaY = positions[1] - splat<1>(center);
- Simd4f deltaZ = positions[2] - splat<2>(center);
+ T4f deltaX = positions[0] - splat<0>(center);
+ T4f deltaY = positions[1] - splat<1>(center);
+ T4f deltaZ = positions[2] - splat<2>(center);
- Simd4f axis = loadAligned(axisPtr, offset);
+ T4f axis = loadAligned(axisPtr, offset);
- Simd4f axisX = splat<0>(axis);
- Simd4f axisY = splat<1>(axis);
- Simd4f axisZ = splat<2>(axis);
- Simd4f slope = splat<3>(axis);
+ T4f axisX = splat<0>(axis);
+ T4f axisY = splat<1>(axis);
+ T4f axisZ = splat<2>(axis);
+ T4f slope = splat<3>(axis);
- Simd4f dot = deltaX * axisX + deltaY * axisY + deltaZ * axisZ;
- Simd4f radius = dot * slope + splat<3>(center);
+ T4f dot = deltaX * axisX + deltaY * axisY + deltaZ * axisZ;
+ T4f radius = dot * slope + splat<3>(center);
// set radius to zero if cone is culled
radius = max(radius, gSimd4fZero) & ~culled;
- Simd4f sqrDistance = deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ - dot * dot;
+ T4f sqrDistance = deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ - dot * dot;
- Simd4i auxiliary = loadAligned(auxiliaryPtr, offset);
- Simd4i bothMask = splat<3>(auxiliary);
+ T4i auxiliary = loadAligned(auxiliaryPtr, offset);
+ T4i bothMask = splat<3>(auxiliary);
- Simd4f contactMask;
+ T4f contactMask;
if (!anyGreater(radius * radius, sqrDistance, contactMask))
{
// cone only culled when spheres culled, ok to clear those too
@@ -764,19 +764,19 @@ cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict positions, Imp
// making sqrDistance negative when point lies on the cone axis
sqrDistance = max(sqrDistance, gSimd4fEpsilon);
- Simd4f invDistance = rsqrt(sqrDistance);
- Simd4f base = dot + slope * sqrDistance * invDistance;
+ T4f invDistance = rsqrt(sqrDistance);
+ T4f base = dot + slope * sqrDistance * invDistance;
// force left/rightMask to false if not inside cone
base = base & contactMask;
- Simd4f halfLength = splat<1>(simd4f(auxiliary));
- Simd4i leftMask = simd4i(base < -halfLength);
- Simd4i rightMask = simd4i(base > halfLength);
+ T4f halfLength = splat<1>(simd4f(auxiliary));
+ T4i leftMask = simd4i(base < -halfLength);
+ T4i rightMask = simd4i(base > halfLength);
// we use both mask because of the early out above.
- Simd4i firstMask = splat<2>(auxiliary);
- Simd4i secondMask = firstMask ^ bothMask;
+ T4i firstMask = splat<2>(auxiliary);
+ T4i secondMask = firstMask ^ bothMask;
shapeMask.mSpheres = shapeMask.mSpheres & ~(firstMask & ~leftMask);
shapeMask.mSpheres = shapeMask.mSpheres & ~(secondMask & ~rightMask);
@@ -784,8 +784,8 @@ cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict positions, Imp
deltaY = deltaY - base * axisY;
deltaZ = deltaZ - base * axisZ;
- Simd4f sqrCosine = splat<0>(simd4f(auxiliary));
- Simd4f scale = radius * invDistance * sqrCosine - sqrCosine;
+ T4f sqrCosine = splat<0>(simd4f(auxiliary));
+ T4f scale = radius * invDistance * sqrCosine - sqrCosine;
contactMask = contactMask & ~simd4f(leftMask | rightMask);
@@ -804,23 +804,23 @@ cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict positions, Imp
// todo: could pre-compute sphere velocities or it might be
// faster to compute cur/prev sphere positions directly
- Simd4f s0p0 = loadAligned(prevSpheres, s0 * sizeof(SphereData));
- Simd4f s0p1 = loadAligned(curSpheres, s0 * sizeof(SphereData));
+ T4f s0p0 = loadAligned(prevSpheres, s0 * sizeof(SphereData));
+ T4f s0p1 = loadAligned(curSpheres, s0 * sizeof(SphereData));
- Simd4f s1p0 = loadAligned(prevSpheres, s1 * sizeof(SphereData));
- Simd4f s1p1 = loadAligned(curSpheres, s1 * sizeof(SphereData));
+ T4f s1p0 = loadAligned(prevSpheres, s1 * sizeof(SphereData));
+ T4f s1p1 = loadAligned(curSpheres, s1 * sizeof(SphereData));
- Simd4f v0 = s0p1 - s0p0;
- Simd4f v1 = s1p1 - s1p0;
- Simd4f vd = v1 - v0;
+ T4f v0 = s0p1 - s0p0;
+ T4f v1 = s1p1 - s1p0;
+ T4f vd = v1 - v0;
// dot is in the range -1 to 1, scale and bias to 0 to 1
dot = dot * gSimd4fHalf + gSimd4fHalf;
// interpolate velocity at contact points
- Simd4f vx = splat<0>(v0) + dot * splat<0>(vd);
- Simd4f vy = splat<1>(v0) + dot * splat<1>(vd);
- Simd4f vz = splat<2>(v0) + dot * splat<2>(vd);
+ T4f vx = splat<0>(v0) + dot * splat<0>(vd);
+ T4f vy = splat<1>(v0) + dot * splat<1>(vd);
+ T4f vz = splat<2>(v0) + dot * splat<2>(vd);
accum.addVelocity(vx, vy, vz, contactMask);
}
@@ -829,16 +829,16 @@ cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict positions, Imp
return shapeMask.mSpheres;
}
-template <typename Simd4f>
-FORCE_INLINE void cloth::SwCollision<Simd4f>::collideSpheres(const Simd4i& sphereMask, const Simd4f* __restrict prevPos,
- Simd4f* __restrict curPos, ImpulseAccumulator& accum) const
+template <typename T4f>
+FORCE_INLINE void cloth::SwCollision<T4f>::collideSpheres(const T4i& sphereMask, const T4f* __restrict prevPos,
+ T4f* __restrict curPos, ImpulseAccumulator& accum) const
{
const float* __restrict prevSpheres = array(mPrevData.mSpheres->center);
const float* __restrict curSpheres = array(mCurData.mSpheres->center);
bool frictionEnabled = mClothData.mFrictionScale > 0.0f;
- Simd4i mask4 = horizontalOr(sphereMask);
+ T4i mask4 = horizontalOr(sphereMask);
uint32_t mask = uint32_t(array(mask4)[0]);
while (mask)
{
@@ -846,53 +846,53 @@ FORCE_INLINE void cloth::SwCollision<Simd4f>::collideSpheres(const Simd4i& spher
uint32_t offset = findBitSet(mask & ~test) * sizeof(SphereData);
mask = mask & test;
- Simd4f prevSphere = loadAligned(prevSpheres, offset);
- Simd4f prevX = prevPos[0] - splat<0>(prevSphere);
- Simd4f prevY = prevPos[1] - splat<1>(prevSphere);
- Simd4f prevZ = prevPos[2] - splat<2>(prevSphere);
- Simd4f prevRadius = splat<3>(prevSphere);
+ T4f prevSphere = loadAligned(prevSpheres, offset);
+ T4f prevX = prevPos[0] - splat<0>(prevSphere);
+ T4f prevY = prevPos[1] - splat<1>(prevSphere);
+ T4f prevZ = prevPos[2] - splat<2>(prevSphere);
+ T4f prevRadius = splat<3>(prevSphere);
- Simd4f curSphere = loadAligned(curSpheres, offset);
- Simd4f curX = curPos[0] - splat<0>(curSphere);
- Simd4f curY = curPos[1] - splat<1>(curSphere);
- Simd4f curZ = curPos[2] - splat<2>(curSphere);
- Simd4f curRadius = splat<3>(curSphere);
+ T4f curSphere = loadAligned(curSpheres, offset);
+ T4f curX = curPos[0] - splat<0>(curSphere);
+ T4f curY = curPos[1] - splat<1>(curSphere);
+ T4f curZ = curPos[2] - splat<2>(curSphere);
+ T4f curRadius = splat<3>(curSphere);
- Simd4f sqrDistance = gSimd4fEpsilon + curX * curX + curY * curY + curZ * curZ;
+ T4f sqrDistance = gSimd4fEpsilon + curX * curX + curY * curY + curZ * curZ;
- Simd4f dotPrevPrev = prevX * prevX + prevY * prevY + prevZ * prevZ - prevRadius * prevRadius;
- Simd4f dotPrevCur = prevX * curX + prevY * curY + prevZ * curZ - prevRadius * curRadius;
- Simd4f dotCurCur = sqrDistance - curRadius * curRadius;
+ T4f dotPrevPrev = prevX * prevX + prevY * prevY + prevZ * prevZ - prevRadius * prevRadius;
+ T4f dotPrevCur = prevX * curX + prevY * curY + prevZ * curZ - prevRadius * curRadius;
+ T4f dotCurCur = sqrDistance - curRadius * curRadius;
- Simd4f discriminant = dotPrevCur * dotPrevCur - dotCurCur * dotPrevPrev;
- Simd4f sqrtD = sqrt(discriminant);
- Simd4f halfB = dotPrevCur - dotPrevPrev;
- Simd4f minusA = dotPrevCur - dotCurCur + halfB;
+ T4f discriminant = dotPrevCur * dotPrevCur - dotCurCur * dotPrevPrev;
+ T4f sqrtD = sqrt(discriminant);
+ T4f halfB = dotPrevCur - dotPrevPrev;
+ T4f minusA = dotPrevCur - dotCurCur + halfB;
// time of impact or 0 if prevPos inside sphere
- Simd4f toi = recip(minusA) * min(gSimd4fZero, halfB + sqrtD);
- Simd4f collisionMask = (toi < gSimd4fOne) & (halfB < sqrtD);
+ T4f toi = recip(minusA) * min(gSimd4fZero, halfB + sqrtD);
+ T4f collisionMask = (toi < gSimd4fOne) & (halfB < sqrtD);
// skip continuous collision if the (un-clamped) particle
// trajectory only touches the outer skin of the cone.
- Simd4f rMin = prevRadius + halfB * minusA * (curRadius - prevRadius);
+ T4f rMin = prevRadius + halfB * minusA * (curRadius - prevRadius);
collisionMask = collisionMask & (discriminant > minusA * rMin * rMin * sSkeletonWidth);
// a is negative when one sphere is contained in the other,
// which is already handled by discrete collision.
- collisionMask = collisionMask & (minusA < -static_cast<Simd4f>(gSimd4fEpsilon));
+ collisionMask = collisionMask & (minusA < -static_cast<T4f>(gSimd4fEpsilon));
if (!allEqual(collisionMask, gSimd4fZero))
{
- Simd4f deltaX = prevX - curX;
- Simd4f deltaY = prevY - curY;
- Simd4f deltaZ = prevZ - curZ;
+ T4f deltaX = prevX - curX;
+ T4f deltaY = prevY - curY;
+ T4f deltaZ = prevZ - curZ;
- Simd4f oneMinusToi = (gSimd4fOne - toi) & collisionMask;
+ T4f oneMinusToi = (gSimd4fOne - toi) & collisionMask;
// reduce ccd impulse if (clamped) particle trajectory stays in sphere skin,
// i.e. scale by exp2(-k) or 1/(1+k) with k = (tmin - toi) / (1 - toi)
- Simd4f minusK = sqrtD * recip(minusA * oneMinusToi) & (oneMinusToi > gSimd4fEpsilon);
+ T4f minusK = sqrtD * recip(minusA * oneMinusToi) & (oneMinusToi > gSimd4fEpsilon);
oneMinusToi = oneMinusToi * recip(gSimd4fOne - minusK);
curX = curX + deltaX * oneMinusToi;
@@ -906,9 +906,9 @@ FORCE_INLINE void cloth::SwCollision<Simd4f>::collideSpheres(const Simd4i& spher
sqrDistance = gSimd4fEpsilon + curX * curX + curY * curY + curZ * curZ;
}
- Simd4f negativeScale = gSimd4fOne - rsqrt(sqrDistance) * curRadius;
+ T4f negativeScale = gSimd4fOne - rsqrt(sqrDistance) * curRadius;
- Simd4f contactMask;
+ T4f contactMask;
if (!anyGreater(gSimd4fZero, negativeScale, contactMask))
continue;
@@ -916,15 +916,15 @@ FORCE_INLINE void cloth::SwCollision<Simd4f>::collideSpheres(const Simd4i& spher
if (frictionEnabled)
{
- Simd4f velocity = curSphere - prevSphere;
+ T4f velocity = curSphere - prevSphere;
accum.addVelocity(splat<0>(velocity), splat<1>(velocity), splat<2>(velocity), contactMask);
}
}
}
-template <typename Simd4f>
-FORCE_INLINE typename cloth::SwCollision<Simd4f>::Simd4i
-cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict prevPos, Simd4f* __restrict curPos,
+template <typename T4f>
+FORCE_INLINE typename cloth::SwCollision<T4f>::T4i
+cloth::SwCollision<T4f>::collideCones(const T4f* __restrict prevPos, T4f* __restrict curPos,
ImpulseAccumulator& accum) const
{
const float* __restrict prevCenterPtr = array(mPrevData.mCones->center);
@@ -938,7 +938,7 @@ cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict prevPos, Simd4
bool frictionEnabled = mClothData.mFrictionScale > 0.0f;
ShapeMask shapeMask = getShapeMask(prevPos, curPos);
- Simd4i mask4 = horizontalOr(shapeMask.mCones);
+ T4i mask4 = horizontalOr(shapeMask.mCones);
uint32_t mask = uint32_t(array(mask4)[0]);
while (mask)
{
@@ -947,106 +947,106 @@ cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict prevPos, Simd4
uint32_t offset = coneIndex * sizeof(ConeData);
mask = mask & test;
- Simd4i test4 = mask4 - gSimd4iOne;
- Simd4f culled = simd4f(andNotIsZero(shapeMask.mCones, test4));
+ T4i test4 = mask4 - gSimd4iOne;
+ T4f culled = simd4f(andNotIsZero(shapeMask.mCones, test4));
mask4 = mask4 & test4;
- Simd4f prevCenter = loadAligned(prevCenterPtr, offset);
- Simd4f prevAxis = loadAligned(prevAxisPtr, offset);
- Simd4f prevAxisX = splat<0>(prevAxis);
- Simd4f prevAxisY = splat<1>(prevAxis);
- Simd4f prevAxisZ = splat<2>(prevAxis);
- Simd4f prevSlope = splat<3>(prevAxis);
-
- Simd4f prevX = prevPos[0] - splat<0>(prevCenter);
- Simd4f prevY = prevPos[1] - splat<1>(prevCenter);
- Simd4f prevZ = prevPos[2] - splat<2>(prevCenter);
- Simd4f prevT = prevY * prevAxisZ - prevZ * prevAxisY;
- Simd4f prevU = prevZ * prevAxisX - prevX * prevAxisZ;
- Simd4f prevV = prevX * prevAxisY - prevY * prevAxisX;
- Simd4f prevDot = prevX * prevAxisX + prevY * prevAxisY + prevZ * prevAxisZ;
- Simd4f prevRadius = prevDot * prevSlope + splat<3>(prevCenter);
-
- Simd4f curCenter = loadAligned(curCenterPtr, offset);
- Simd4f curAxis = loadAligned(curAxisPtr, offset);
- Simd4f curAxisX = splat<0>(curAxis);
- Simd4f curAxisY = splat<1>(curAxis);
- Simd4f curAxisZ = splat<2>(curAxis);
- Simd4f curSlope = splat<3>(curAxis);
- Simd4i curAuxiliary = loadAligned(curAuxiliaryPtr, offset);
-
- Simd4f curX = curPos[0] - splat<0>(curCenter);
- Simd4f curY = curPos[1] - splat<1>(curCenter);
- Simd4f curZ = curPos[2] - splat<2>(curCenter);
- Simd4f curT = curY * curAxisZ - curZ * curAxisY;
- Simd4f curU = curZ * curAxisX - curX * curAxisZ;
- Simd4f curV = curX * curAxisY - curY * curAxisX;
- Simd4f curDot = curX * curAxisX + curY * curAxisY + curZ * curAxisZ;
- Simd4f curRadius = curDot * curSlope + splat<3>(curCenter);
-
- Simd4f curSqrDistance = gSimd4fEpsilon + curT * curT + curU * curU + curV * curV;
+ T4f prevCenter = loadAligned(prevCenterPtr, offset);
+ T4f prevAxis = loadAligned(prevAxisPtr, offset);
+ T4f prevAxisX = splat<0>(prevAxis);
+ T4f prevAxisY = splat<1>(prevAxis);
+ T4f prevAxisZ = splat<2>(prevAxis);
+ T4f prevSlope = splat<3>(prevAxis);
+
+ T4f prevX = prevPos[0] - splat<0>(prevCenter);
+ T4f prevY = prevPos[1] - splat<1>(prevCenter);
+ T4f prevZ = prevPos[2] - splat<2>(prevCenter);
+ T4f prevT = prevY * prevAxisZ - prevZ * prevAxisY;
+ T4f prevU = prevZ * prevAxisX - prevX * prevAxisZ;
+ T4f prevV = prevX * prevAxisY - prevY * prevAxisX;
+ T4f prevDot = prevX * prevAxisX + prevY * prevAxisY + prevZ * prevAxisZ;
+ T4f prevRadius = prevDot * prevSlope + splat<3>(prevCenter);
+
+ T4f curCenter = loadAligned(curCenterPtr, offset);
+ T4f curAxis = loadAligned(curAxisPtr, offset);
+ T4f curAxisX = splat<0>(curAxis);
+ T4f curAxisY = splat<1>(curAxis);
+ T4f curAxisZ = splat<2>(curAxis);
+ T4f curSlope = splat<3>(curAxis);
+ T4i curAuxiliary = loadAligned(curAuxiliaryPtr, offset);
+
+ T4f curX = curPos[0] - splat<0>(curCenter);
+ T4f curY = curPos[1] - splat<1>(curCenter);
+ T4f curZ = curPos[2] - splat<2>(curCenter);
+ T4f curT = curY * curAxisZ - curZ * curAxisY;
+ T4f curU = curZ * curAxisX - curX * curAxisZ;
+ T4f curV = curX * curAxisY - curY * curAxisX;
+ T4f curDot = curX * curAxisX + curY * curAxisY + curZ * curAxisZ;
+ T4f curRadius = curDot * curSlope + splat<3>(curCenter);
+
+ T4f curSqrDistance = gSimd4fEpsilon + curT * curT + curU * curU + curV * curV;
// set radius to zero if cone is culled
prevRadius = max(prevRadius, gSimd4fZero) & ~culled;
curRadius = max(curRadius, gSimd4fZero) & ~culled;
- Simd4f dotPrevPrev = prevT * prevT + prevU * prevU + prevV * prevV - prevRadius * prevRadius;
- Simd4f dotPrevCur = prevT * curT + prevU * curU + prevV * curV - prevRadius * curRadius;
- Simd4f dotCurCur = curSqrDistance - curRadius * curRadius;
+ T4f dotPrevPrev = prevT * prevT + prevU * prevU + prevV * prevV - prevRadius * prevRadius;
+ T4f dotPrevCur = prevT * curT + prevU * curU + prevV * curV - prevRadius * curRadius;
+ T4f dotCurCur = curSqrDistance - curRadius * curRadius;
- Simd4f discriminant = dotPrevCur * dotPrevCur - dotCurCur * dotPrevPrev;
- Simd4f sqrtD = sqrt(discriminant);
- Simd4f halfB = dotPrevCur - dotPrevPrev;
- Simd4f minusA = dotPrevCur - dotCurCur + halfB;
+ T4f discriminant = dotPrevCur * dotPrevCur - dotCurCur * dotPrevPrev;
+ T4f sqrtD = sqrt(discriminant);
+ T4f halfB = dotPrevCur - dotPrevPrev;
+ T4f minusA = dotPrevCur - dotCurCur + halfB;
// time of impact or 0 if prevPos inside cone
- Simd4f toi = recip(minusA) * min(gSimd4fZero, halfB + sqrtD);
- Simd4f collisionMask = (toi < gSimd4fOne) & (halfB < sqrtD);
+ T4f toi = recip(minusA) * min(gSimd4fZero, halfB + sqrtD);
+ T4f collisionMask = (toi < gSimd4fOne) & (halfB < sqrtD);
// skip continuous collision if the (un-clamped) particle
// trajectory only touches the outer skin of the cone.
- Simd4f rMin = prevRadius + halfB * minusA * (curRadius - prevRadius);
+ T4f rMin = prevRadius + halfB * minusA * (curRadius - prevRadius);
collisionMask = collisionMask & (discriminant > minusA * rMin * rMin * sSkeletonWidth);
// a is negative when one cone is contained in the other,
// which is already handled by discrete collision.
- collisionMask = collisionMask & (minusA < -static_cast<Simd4f>(gSimd4fEpsilon));
+ collisionMask = collisionMask & (minusA < -static_cast<T4f>(gSimd4fEpsilon));
// test if any particle hits infinite cone (and 0<time of impact<1)
if (!allEqual(collisionMask, gSimd4fZero))
{
- Simd4f deltaX = prevX - curX;
- Simd4f deltaY = prevY - curY;
- Simd4f deltaZ = prevZ - curZ;
+ T4f deltaX = prevX - curX;
+ T4f deltaY = prevY - curY;
+ T4f deltaZ = prevZ - curZ;
// interpolate delta at toi
- Simd4f posX = prevX - deltaX * toi;
- Simd4f posY = prevY - deltaY * toi;
- Simd4f posZ = prevZ - deltaZ * toi;
+ T4f posX = prevX - deltaX * toi;
+ T4f posY = prevY - deltaY * toi;
+ T4f posZ = prevZ - deltaZ * toi;
- Simd4f curScaledAxis = curAxis * splat<1>(simd4f(curAuxiliary));
- Simd4i prevAuxiliary = loadAligned(prevAuxiliaryPtr, offset);
- Simd4f deltaScaledAxis = curScaledAxis - prevAxis * splat<1>(simd4f(prevAuxiliary));
+ T4f curScaledAxis = curAxis * splat<1>(simd4f(curAuxiliary));
+ T4i prevAuxiliary = loadAligned(prevAuxiliaryPtr, offset);
+ T4f deltaScaledAxis = curScaledAxis - prevAxis * splat<1>(simd4f(prevAuxiliary));
- Simd4f oneMinusToi = gSimd4fOne - toi;
+ T4f oneMinusToi = gSimd4fOne - toi;
// interpolate axis at toi
- Simd4f axisX = splat<0>(curScaledAxis) - splat<0>(deltaScaledAxis) * oneMinusToi;
- Simd4f axisY = splat<1>(curScaledAxis) - splat<1>(deltaScaledAxis) * oneMinusToi;
- Simd4f axisZ = splat<2>(curScaledAxis) - splat<2>(deltaScaledAxis) * oneMinusToi;
- Simd4f slope = (prevSlope * oneMinusToi + curSlope * toi);
+ T4f axisX = splat<0>(curScaledAxis) - splat<0>(deltaScaledAxis) * oneMinusToi;
+ T4f axisY = splat<1>(curScaledAxis) - splat<1>(deltaScaledAxis) * oneMinusToi;
+ T4f axisZ = splat<2>(curScaledAxis) - splat<2>(deltaScaledAxis) * oneMinusToi;
+ T4f slope = (prevSlope * oneMinusToi + curSlope * toi);
- Simd4f sqrHalfLength = axisX * axisX + axisY * axisY + axisZ * axisZ;
- Simd4f invHalfLength = rsqrt(sqrHalfLength);
- Simd4f dot = (posX * axisX + posY * axisY + posZ * axisZ) * invHalfLength;
+ T4f sqrHalfLength = axisX * axisX + axisY * axisY + axisZ * axisZ;
+ T4f invHalfLength = rsqrt(sqrHalfLength);
+ T4f dot = (posX * axisX + posY * axisY + posZ * axisZ) * invHalfLength;
- Simd4f sqrDistance = posX * posX + posY * posY + posZ * posZ - dot * dot;
- Simd4f invDistance = rsqrt(sqrDistance) & (sqrDistance > gSimd4fZero);
+ T4f sqrDistance = posX * posX + posY * posY + posZ * posZ - dot * dot;
+ T4f invDistance = rsqrt(sqrDistance) & (sqrDistance > gSimd4fZero);
- Simd4f base = dot + slope * sqrDistance * invDistance;
- Simd4f scale = base * invHalfLength & collisionMask;
+ T4f base = dot + slope * sqrDistance * invDistance;
+ T4f scale = base * invHalfLength & collisionMask;
- Simd4f cullMask = (abs(scale) < gSimd4fOne) & collisionMask;
+ T4f cullMask = (abs(scale) < gSimd4fOne) & collisionMask;
// test if any impact position is in cone section
if (!allEqual(cullMask, gSimd4fZero))
@@ -1060,7 +1060,7 @@ cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict prevPos, Simd4
// reduce ccd impulse if (clamped) particle trajectory stays in cone skin,
// i.e. scale by exp2(-k) or 1/(1+k) with k = (tmin - toi) / (1 - toi)
// oneMinusToi = oneMinusToi * recip(gSimd4fOne - sqrtD * recip(minusA * oneMinusToi));
- Simd4f minusK = sqrtD * recip(minusA * oneMinusToi) & (oneMinusToi > gSimd4fEpsilon);
+ T4f minusK = sqrtD * recip(minusA * oneMinusToi) & (oneMinusToi > gSimd4fEpsilon);
oneMinusToi = oneMinusToi * recip(gSimd4fOne - minusK);
curX = curX + deltaX * oneMinusToi;
@@ -1079,39 +1079,39 @@ cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict prevPos, Simd4
}
// curPos inside cone (discrete collision)
- Simd4f contactMask;
+ T4f contactMask;
int anyContact = anyGreater(curRadius * curRadius, curSqrDistance, contactMask);
- Simd4i bothMask = splat<3>(curAuxiliary);
+ T4i bothMask = splat<3>(curAuxiliary);
// instead of culling continuous collision for ~collisionMask, and discrete
// collision for ~contactMask, disable both if ~collisionMask & ~contactMask
- Simd4i cullMask = bothMask & ~simd4i(collisionMask | contactMask);
+ T4i cullMask = bothMask & ~simd4i(collisionMask | contactMask);
shapeMask.mSpheres = shapeMask.mSpheres & ~cullMask;
if (!anyContact)
continue;
- Simd4f invDistance = rsqrt(curSqrDistance) & (curSqrDistance > gSimd4fZero);
- Simd4f base = curDot + curSlope * curSqrDistance * invDistance;
+ T4f invDistance = rsqrt(curSqrDistance) & (curSqrDistance > gSimd4fZero);
+ T4f base = curDot + curSlope * curSqrDistance * invDistance;
- Simd4f halfLength = splat<1>(simd4f(curAuxiliary));
- Simd4i leftMask = simd4i(base < -halfLength);
- Simd4i rightMask = simd4i(base > halfLength);
+ T4f halfLength = splat<1>(simd4f(curAuxiliary));
+ T4i leftMask = simd4i(base < -halfLength);
+ T4i rightMask = simd4i(base > halfLength);
// can only skip continuous sphere collision if post-ccd position
// is on code side *and* particle had cone-ccd collision.
- Simd4i firstMask = splat<2>(curAuxiliary);
- Simd4i secondMask = firstMask ^ bothMask;
+ T4i firstMask = splat<2>(curAuxiliary);
+ T4i secondMask = firstMask ^ bothMask;
cullMask = (firstMask & ~leftMask) | (secondMask & ~rightMask);
shapeMask.mSpheres = shapeMask.mSpheres & ~(cullMask & simd4i(collisionMask));
- Simd4f deltaX = curX - base * curAxisX;
- Simd4f deltaY = curY - base * curAxisY;
- Simd4f deltaZ = curZ - base * curAxisZ;
+ T4f deltaX = curX - base * curAxisX;
+ T4f deltaY = curY - base * curAxisY;
+ T4f deltaZ = curZ - base * curAxisZ;
- Simd4f sqrCosine = splat<0>(simd4f(curAuxiliary));
- Simd4f scale = curRadius * invDistance * sqrCosine - sqrCosine;
+ T4f sqrCosine = splat<0>(simd4f(curAuxiliary));
+ T4f scale = curRadius * invDistance * sqrCosine - sqrCosine;
contactMask = contactMask & ~simd4f(leftMask | rightMask);
@@ -1130,23 +1130,23 @@ cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict prevPos, Simd4
// todo: could pre-compute sphere velocities or it might be
// faster to compute cur/prev sphere positions directly
- Simd4f s0p0 = loadAligned(prevSpheres, s0 * sizeof(SphereData));
- Simd4f s0p1 = loadAligned(curSpheres, s0 * sizeof(SphereData));
+ T4f s0p0 = loadAligned(prevSpheres, s0 * sizeof(SphereData));
+ T4f s0p1 = loadAligned(curSpheres, s0 * sizeof(SphereData));
- Simd4f s1p0 = loadAligned(prevSpheres, s1 * sizeof(SphereData));
- Simd4f s1p1 = loadAligned(curSpheres, s1 * sizeof(SphereData));
+ T4f s1p0 = loadAligned(prevSpheres, s1 * sizeof(SphereData));
+ T4f s1p1 = loadAligned(curSpheres, s1 * sizeof(SphereData));
- Simd4f v0 = s0p1 - s0p0;
- Simd4f v1 = s1p1 - s1p0;
- Simd4f vd = v1 - v0;
+ T4f v0 = s0p1 - s0p0;
+ T4f v1 = s1p1 - s1p0;
+ T4f vd = v1 - v0;
// dot is in the range -1 to 1, scale and bias to 0 to 1
curDot = curDot * gSimd4fHalf + gSimd4fHalf;
// interpolate velocity at contact points
- Simd4f vx = splat<0>(v0) + curDot * splat<0>(vd);
- Simd4f vy = splat<1>(v0) + curDot * splat<1>(vd);
- Simd4f vz = splat<2>(v0) + curDot * splat<2>(vd);
+ T4f vx = splat<0>(v0) + curDot * splat<0>(vd);
+ T4f vy = splat<1>(v0) + curDot * splat<1>(vd);
+ T4f vz = splat<2>(v0) + curDot * splat<2>(vd);
accum.addVelocity(vx, vy, vz, contactMask);
}
@@ -1158,39 +1158,39 @@ cloth::SwCollision<Simd4f>::collideCones(const Simd4f* __restrict prevPos, Simd4
namespace
{
-template <typename Simd4f>
-PX_INLINE void calculateFrictionImpulse(const Simd4f& deltaX, const Simd4f& deltaY, const Simd4f& deltaZ,
- const Simd4f& velX, const Simd4f& velY, const Simd4f& velZ,
- const Simd4f* curPos, const Simd4f* prevPos, const Simd4f& scale,
- const Simd4f& coefficient, const Simd4f& mask, Simd4f* impulse)
+template <typename T4f>
+PX_INLINE void calculateFrictionImpulse(const T4f& deltaX, const T4f& deltaY, const T4f& deltaZ,
+ const T4f& velX, const T4f& velY, const T4f& velZ,
+ const T4f* curPos, const T4f* prevPos, const T4f& scale,
+ const T4f& coefficient, const T4f& mask, T4f* impulse)
{
// calculate collision normal
- Simd4f deltaSq = deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ;
+ T4f deltaSq = deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ;
- Simd4f rcpDelta = rsqrt(deltaSq + gSimd4fEpsilon);
+ T4f rcpDelta = rsqrt(deltaSq + gSimd4fEpsilon);
- Simd4f nx = deltaX * rcpDelta;
- Simd4f ny = deltaY * rcpDelta;
- Simd4f nz = deltaZ * rcpDelta;
+ T4f nx = deltaX * rcpDelta;
+ T4f ny = deltaY * rcpDelta;
+ T4f nz = deltaZ * rcpDelta;
// calculate relative velocity scaled by number of collisions
- Simd4f rvx = curPos[0] - prevPos[0] - velX * scale;
- Simd4f rvy = curPos[1] - prevPos[1] - velY * scale;
- Simd4f rvz = curPos[2] - prevPos[2] - velZ * scale;
+ T4f rvx = curPos[0] - prevPos[0] - velX * scale;
+ T4f rvy = curPos[1] - prevPos[1] - velY * scale;
+ T4f rvz = curPos[2] - prevPos[2] - velZ * scale;
// calculate magnitude of relative normal velocity
- Simd4f rvn = rvx * nx + rvy * ny + rvz * nz;
+ T4f rvn = rvx * nx + rvy * ny + rvz * nz;
// calculate relative tangential velocity
- Simd4f rvtx = rvx - rvn * nx;
- Simd4f rvty = rvy - rvn * ny;
- Simd4f rvtz = rvz - rvn * nz;
+ T4f rvtx = rvx - rvn * nx;
+ T4f rvty = rvy - rvn * ny;
+ T4f rvtz = rvz - rvn * nz;
// calculate magnitude of vt
- Simd4f rcpVt = rsqrt(rvtx * rvtx + rvty * rvty + rvtz * rvtz + gSimd4fEpsilon);
+ T4f rcpVt = rsqrt(rvtx * rvtx + rvty * rvty + rvtz * rvtz + gSimd4fEpsilon);
// magnitude of friction impulse (cannot be greater than -vt)
- Simd4f j = max(-coefficient * deltaSq * rcpDelta * rcpVt, gSimd4fMinusOne) & mask;
+ T4f j = max(-coefficient * deltaSq * rcpDelta * rcpVt, gSimd4fMinusOne) & mask;
impulse[0] = rvtx * j;
impulse[1] = rvty * j;
@@ -1199,17 +1199,17 @@ PX_INLINE void calculateFrictionImpulse(const Simd4f& deltaX, const Simd4f& delt
} // anonymous namespace
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::collideParticles()
+template <typename T4f>
+void cloth::SwCollision<T4f>::collideParticles()
{
const bool massScalingEnabled = mClothData.mCollisionMassScale > 0.0f;
- const Simd4f massScale = simd4f(mClothData.mCollisionMassScale);
+ const T4f massScale = simd4f(mClothData.mCollisionMassScale);
const bool frictionEnabled = mClothData.mFrictionScale > 0.0f;
- const Simd4f frictionScale = simd4f(mClothData.mFrictionScale);
+ const T4f frictionScale = simd4f(mClothData.mFrictionScale);
- Simd4f curPos[4];
- Simd4f prevPos[4];
+ T4f curPos[4];
+ T4f prevPos[4];
float* __restrict prevIt = mClothData.mPrevParticles;
float* __restrict pIt = mClothData.mCurParticles;
@@ -1223,14 +1223,14 @@ void cloth::SwCollision<Simd4f>::collideParticles()
transpose(curPos[0], curPos[1], curPos[2], curPos[3]);
ImpulseAccumulator accum;
- Simd4i sphereMask = collideCones(curPos, accum);
+ T4i sphereMask = collideCones(curPos, accum);
collideSpheres(sphereMask, curPos, accum);
- Simd4f mask;
+ T4f mask;
if (!anyGreater(accum.mNumCollisions, gSimd4fEpsilon, mask))
continue;
- Simd4f invNumCollisions = recip(accum.mNumCollisions);
+ T4f invNumCollisions = recip(accum.mNumCollisions);
if (frictionEnabled)
{
@@ -1240,7 +1240,7 @@ void cloth::SwCollision<Simd4f>::collideParticles()
prevPos[3] = loadAligned(prevIt, 48);
transpose(prevPos[0], prevPos[1], prevPos[2], prevPos[3]);
- Simd4f frictionImpulse[3];
+ T4f frictionImpulse[3];
calculateFrictionImpulse(accum.mDeltaX, accum.mDeltaY, accum.mDeltaZ, accum.mVelX, accum.mVelY, accum.mVelZ,
curPos, prevPos, invNumCollisions, frictionScale, mask, frictionImpulse);
@@ -1258,10 +1258,10 @@ void cloth::SwCollision<Simd4f>::collideParticles()
if (massScalingEnabled)
{
// calculate the inverse mass scale based on the collision impulse magnitude
- Simd4f dSq = invNumCollisions * invNumCollisions *
+ T4f dSq = invNumCollisions * invNumCollisions *
(accum.mDeltaX * accum.mDeltaX + accum.mDeltaY * accum.mDeltaY + accum.mDeltaZ * accum.mDeltaZ);
- Simd4f scale = recip(gSimd4fOne + massScale * dSq);
+ T4f scale = recip(gSimd4fOne + massScale * dSq);
// scale invmass
curPos[3] = select(mask, curPos[3] * scale, curPos[3]);
@@ -1283,24 +1283,24 @@ void cloth::SwCollision<Simd4f>::collideParticles()
}
}
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::collideVirtualParticles()
+template <typename T4f>
+void cloth::SwCollision<T4f>::collideVirtualParticles()
{
const bool massScalingEnabled = mClothData.mCollisionMassScale > 0.0f;
- const Simd4f massScale = simd4f(mClothData.mCollisionMassScale);
+ const T4f massScale = simd4f(mClothData.mCollisionMassScale);
const bool frictionEnabled = mClothData.mFrictionScale > 0.0f;
- const Simd4f frictionScale = simd4f(mClothData.mFrictionScale);
+ const T4f frictionScale = simd4f(mClothData.mFrictionScale);
- Simd4f curPos[3];
+ T4f curPos[3];
const float* __restrict weights = mClothData.mVirtualParticleWeights;
float* __restrict particles = mClothData.mCurParticles;
float* __restrict prevParticles = mClothData.mPrevParticles;
// move dummy particles outside of collision range
- Simd4f* __restrict dummy = mClothData.mNumParticles + reinterpret_cast<Simd4f*>(mClothData.mCurParticles);
- Simd4f invGridScale = recip(mGridScale) & (mGridScale > gSimd4fEpsilon);
+ T4f* __restrict dummy = mClothData.mNumParticles + reinterpret_cast<T4f*>(mClothData.mCurParticles);
+ T4f invGridScale = recip(mGridScale) & (mGridScale > gSimd4fEpsilon);
dummy[0] = dummy[1] = dummy[2] = invGridScale * mGridBias - invGridScale;
const uint16_t* __restrict vpIt = mClothData.mVirtualParticlesBegin;
@@ -1308,31 +1308,31 @@ void cloth::SwCollision<Simd4f>::collideVirtualParticles()
for (; vpIt != vpEnd; vpIt += 16)
{
// load 12 particles and 4 weights
- Simd4f p0v0 = loadAligned(particles, vpIt[0] * sizeof(PxVec4));
- Simd4f p0v1 = loadAligned(particles, vpIt[1] * sizeof(PxVec4));
- Simd4f p0v2 = loadAligned(particles, vpIt[2] * sizeof(PxVec4));
- Simd4f w0 = loadAligned(weights, vpIt[3] * sizeof(PxVec4));
-
- Simd4f p1v0 = loadAligned(particles, vpIt[4] * sizeof(PxVec4));
- Simd4f p1v1 = loadAligned(particles, vpIt[5] * sizeof(PxVec4));
- Simd4f p1v2 = loadAligned(particles, vpIt[6] * sizeof(PxVec4));
- Simd4f w1 = loadAligned(weights, vpIt[7] * sizeof(PxVec4));
-
- Simd4f p2v0 = loadAligned(particles, vpIt[8] * sizeof(PxVec4));
- Simd4f p2v1 = loadAligned(particles, vpIt[9] * sizeof(PxVec4));
- Simd4f p2v2 = loadAligned(particles, vpIt[10] * sizeof(PxVec4));
- Simd4f w2 = loadAligned(weights, vpIt[11] * sizeof(PxVec4));
-
- Simd4f p3v1 = loadAligned(particles, vpIt[13] * sizeof(PxVec4));
- Simd4f p3v0 = loadAligned(particles, vpIt[12] * sizeof(PxVec4));
- Simd4f p3v2 = loadAligned(particles, vpIt[14] * sizeof(PxVec4));
- Simd4f w3 = loadAligned(weights, vpIt[15] * sizeof(PxVec4));
+ T4f p0v0 = loadAligned(particles, vpIt[0] * sizeof(PxVec4));
+ T4f p0v1 = loadAligned(particles, vpIt[1] * sizeof(PxVec4));
+ T4f p0v2 = loadAligned(particles, vpIt[2] * sizeof(PxVec4));
+ T4f w0 = loadAligned(weights, vpIt[3] * sizeof(PxVec4));
+
+ T4f p1v0 = loadAligned(particles, vpIt[4] * sizeof(PxVec4));
+ T4f p1v1 = loadAligned(particles, vpIt[5] * sizeof(PxVec4));
+ T4f p1v2 = loadAligned(particles, vpIt[6] * sizeof(PxVec4));
+ T4f w1 = loadAligned(weights, vpIt[7] * sizeof(PxVec4));
+
+ T4f p2v0 = loadAligned(particles, vpIt[8] * sizeof(PxVec4));
+ T4f p2v1 = loadAligned(particles, vpIt[9] * sizeof(PxVec4));
+ T4f p2v2 = loadAligned(particles, vpIt[10] * sizeof(PxVec4));
+ T4f w2 = loadAligned(weights, vpIt[11] * sizeof(PxVec4));
+
+ T4f p3v1 = loadAligned(particles, vpIt[13] * sizeof(PxVec4));
+ T4f p3v0 = loadAligned(particles, vpIt[12] * sizeof(PxVec4));
+ T4f p3v2 = loadAligned(particles, vpIt[14] * sizeof(PxVec4));
+ T4f w3 = loadAligned(weights, vpIt[15] * sizeof(PxVec4));
// interpolate particles and transpose
- Simd4f px = p0v0 * splat<0>(w0) + p0v1 * splat<1>(w0) + p0v2 * splat<2>(w0);
- Simd4f py = p1v0 * splat<0>(w1) + p1v1 * splat<1>(w1) + p1v2 * splat<2>(w1);
- Simd4f pz = p2v0 * splat<0>(w2) + p2v1 * splat<1>(w2) + p2v2 * splat<2>(w2);
- Simd4f pw = p3v0 * splat<0>(w3) + p3v1 * splat<1>(w3) + p3v2 * splat<2>(w3);
+ T4f px = p0v0 * splat<0>(w0) + p0v1 * splat<1>(w0) + p0v2 * splat<2>(w0);
+ T4f py = p1v0 * splat<0>(w1) + p1v1 * splat<1>(w1) + p1v2 * splat<2>(w1);
+ T4f pz = p2v0 * splat<0>(w2) + p2v1 * splat<1>(w2) + p2v2 * splat<2>(w2);
+ T4f pw = p3v0 * splat<0>(w3) + p3v1 * splat<1>(w3) + p3v2 * splat<2>(w3);
transpose(px, py, pz, pw);
curPos[0] = px;
@@ -1340,55 +1340,55 @@ void cloth::SwCollision<Simd4f>::collideVirtualParticles()
curPos[2] = pz;
ImpulseAccumulator accum;
- Simd4i sphereMask = collideCones(curPos, accum);
+ T4i sphereMask = collideCones(curPos, accum);
collideSpheres(sphereMask, curPos, accum);
- Simd4f mask;
+ T4f mask;
if (!anyGreater(accum.mNumCollisions, gSimd4fEpsilon, mask))
continue;
- Simd4f invNumCollisions = recip(accum.mNumCollisions);
+ T4f invNumCollisions = recip(accum.mNumCollisions);
// displacement and transpose back
- Simd4f d0 = accum.mDeltaX * invNumCollisions;
- Simd4f d1 = accum.mDeltaY * invNumCollisions;
- Simd4f d2 = accum.mDeltaZ * invNumCollisions;
- Simd4f d3 = gSimd4fZero;
+ T4f d0 = accum.mDeltaX * invNumCollisions;
+ T4f d1 = accum.mDeltaY * invNumCollisions;
+ T4f d2 = accum.mDeltaZ * invNumCollisions;
+ T4f d3 = gSimd4fZero;
transpose(d0, d1, d2, d3);
// scale weights by 1/dot(w,w)
- Simd4f rw0 = w0 * splat<3>(w0);
- Simd4f rw1 = w1 * splat<3>(w1);
- Simd4f rw2 = w2 * splat<3>(w2);
- Simd4f rw3 = w3 * splat<3>(w3);
+ T4f rw0 = w0 * splat<3>(w0);
+ T4f rw1 = w1 * splat<3>(w1);
+ T4f rw2 = w2 * splat<3>(w2);
+ T4f rw3 = w3 * splat<3>(w3);
if (frictionEnabled)
{
- Simd4f q0v0 = loadAligned(prevParticles, vpIt[0] * sizeof(PxVec4));
- Simd4f q0v1 = loadAligned(prevParticles, vpIt[1] * sizeof(PxVec4));
- Simd4f q0v2 = loadAligned(prevParticles, vpIt[2] * sizeof(PxVec4));
+ T4f q0v0 = loadAligned(prevParticles, vpIt[0] * sizeof(PxVec4));
+ T4f q0v1 = loadAligned(prevParticles, vpIt[1] * sizeof(PxVec4));
+ T4f q0v2 = loadAligned(prevParticles, vpIt[2] * sizeof(PxVec4));
- Simd4f q1v0 = loadAligned(prevParticles, vpIt[4] * sizeof(PxVec4));
- Simd4f q1v1 = loadAligned(prevParticles, vpIt[5] * sizeof(PxVec4));
- Simd4f q1v2 = loadAligned(prevParticles, vpIt[6] * sizeof(PxVec4));
+ T4f q1v0 = loadAligned(prevParticles, vpIt[4] * sizeof(PxVec4));
+ T4f q1v1 = loadAligned(prevParticles, vpIt[5] * sizeof(PxVec4));
+ T4f q1v2 = loadAligned(prevParticles, vpIt[6] * sizeof(PxVec4));
- Simd4f q2v0 = loadAligned(prevParticles, vpIt[8] * sizeof(PxVec4));
- Simd4f q2v1 = loadAligned(prevParticles, vpIt[9] * sizeof(PxVec4));
- Simd4f q2v2 = loadAligned(prevParticles, vpIt[10] * sizeof(PxVec4));
+ T4f q2v0 = loadAligned(prevParticles, vpIt[8] * sizeof(PxVec4));
+ T4f q2v1 = loadAligned(prevParticles, vpIt[9] * sizeof(PxVec4));
+ T4f q2v2 = loadAligned(prevParticles, vpIt[10] * sizeof(PxVec4));
- Simd4f q3v0 = loadAligned(prevParticles, vpIt[12] * sizeof(PxVec4));
- Simd4f q3v1 = loadAligned(prevParticles, vpIt[13] * sizeof(PxVec4));
- Simd4f q3v2 = loadAligned(prevParticles, vpIt[14] * sizeof(PxVec4));
+ T4f q3v0 = loadAligned(prevParticles, vpIt[12] * sizeof(PxVec4));
+ T4f q3v1 = loadAligned(prevParticles, vpIt[13] * sizeof(PxVec4));
+ T4f q3v2 = loadAligned(prevParticles, vpIt[14] * sizeof(PxVec4));
// calculate previous interpolated positions
- Simd4f qx = q0v0 * splat<0>(w0) + q0v1 * splat<1>(w0) + q0v2 * splat<2>(w0);
- Simd4f qy = q1v0 * splat<0>(w1) + q1v1 * splat<1>(w1) + q1v2 * splat<2>(w1);
- Simd4f qz = q2v0 * splat<0>(w2) + q2v1 * splat<1>(w2) + q2v2 * splat<2>(w2);
- Simd4f qw = q3v0 * splat<0>(w3) + q3v1 * splat<1>(w3) + q3v2 * splat<2>(w3);
+ T4f qx = q0v0 * splat<0>(w0) + q0v1 * splat<1>(w0) + q0v2 * splat<2>(w0);
+ T4f qy = q1v0 * splat<0>(w1) + q1v1 * splat<1>(w1) + q1v2 * splat<2>(w1);
+ T4f qz = q2v0 * splat<0>(w2) + q2v1 * splat<1>(w2) + q2v2 * splat<2>(w2);
+ T4f qw = q3v0 * splat<0>(w3) + q3v1 * splat<1>(w3) + q3v2 * splat<2>(w3);
transpose(qx, qy, qz, qw);
- Simd4f prevPos[3] = { qx, qy, qz };
- Simd4f frictionImpulse[4];
+ T4f prevPos[3] = { qx, qy, qz };
+ T4f frictionImpulse[4];
frictionImpulse[3] = gSimd4fZero;
calculateFrictionImpulse(accum.mDeltaX, accum.mDeltaY, accum.mDeltaZ, accum.mVelX, accum.mVelY, accum.mVelZ,
@@ -1433,16 +1433,16 @@ void cloth::SwCollision<Simd4f>::collideVirtualParticles()
if (massScalingEnabled)
{
// calculate the inverse mass scale based on the collision impulse
- Simd4f dSq = invNumCollisions * invNumCollisions *
+ T4f dSq = invNumCollisions * invNumCollisions *
(accum.mDeltaX * accum.mDeltaX + accum.mDeltaY * accum.mDeltaY + accum.mDeltaZ * accum.mDeltaZ);
- Simd4f weightScale = recip(gSimd4fOne + massScale * dSq);
+ T4f weightScale = recip(gSimd4fOne + massScale * dSq);
weightScale = weightScale - gSimd4fOne;
- Simd4f s0 = gSimd4fOne + splat<0>(weightScale) * (w0 & splat<0>(mask));
- Simd4f s1 = gSimd4fOne + splat<1>(weightScale) * (w1 & splat<1>(mask));
- Simd4f s2 = gSimd4fOne + splat<2>(weightScale) * (w2 & splat<2>(mask));
- Simd4f s3 = gSimd4fOne + splat<3>(weightScale) * (w3 & splat<3>(mask));
+ T4f s0 = gSimd4fOne + splat<0>(weightScale) * (w0 & splat<0>(mask));
+ T4f s1 = gSimd4fOne + splat<1>(weightScale) * (w1 & splat<1>(mask));
+ T4f s2 = gSimd4fOne + splat<2>(weightScale) * (w2 & splat<2>(mask));
+ T4f s3 = gSimd4fOne + splat<3>(weightScale) * (w3 & splat<3>(mask));
p0v0 = p0v0 * (gSimd4fOneXYZ | (splat<0>(s0) & sMaskW));
p0v1 = p0v1 * (gSimd4fOneXYZ | (splat<1>(s0) & sMaskW));
@@ -1500,17 +1500,17 @@ void cloth::SwCollision<Simd4f>::collideVirtualParticles()
}
}
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::collideContinuousParticles()
+template <typename T4f>
+void cloth::SwCollision<T4f>::collideContinuousParticles()
{
- Simd4f curPos[4];
- Simd4f prevPos[4];
+ T4f curPos[4];
+ T4f prevPos[4];
const bool massScalingEnabled = mClothData.mCollisionMassScale > 0.0f;
- const Simd4f massScale = simd4f(mClothData.mCollisionMassScale);
+ const T4f massScale = simd4f(mClothData.mCollisionMassScale);
const bool frictionEnabled = mClothData.mFrictionScale > 0.0f;
- const Simd4f frictionScale = simd4f(mClothData.mFrictionScale);
+ const T4f frictionScale = simd4f(mClothData.mFrictionScale);
float* __restrict prevIt = mClothData.mPrevParticles;
float* __restrict curIt = mClothData.mCurParticles;
@@ -1531,18 +1531,18 @@ void cloth::SwCollision<Simd4f>::collideContinuousParticles()
transpose(curPos[0], curPos[1], curPos[2], curPos[3]);
ImpulseAccumulator accum;
- Simd4i sphereMask = collideCones(prevPos, curPos, accum);
+ T4i sphereMask = collideCones(prevPos, curPos, accum);
collideSpheres(sphereMask, prevPos, curPos, accum);
- Simd4f mask;
+ T4f mask;
if (!anyGreater(accum.mNumCollisions, gSimd4fEpsilon, mask))
continue;
- Simd4f invNumCollisions = recip(accum.mNumCollisions);
+ T4f invNumCollisions = recip(accum.mNumCollisions);
if (frictionEnabled)
{
- Simd4f frictionImpulse[3];
+ T4f frictionImpulse[3];
calculateFrictionImpulse(accum.mDeltaX, accum.mDeltaY, accum.mDeltaZ, accum.mVelX, accum.mVelY, accum.mVelZ,
curPos, prevPos, invNumCollisions, frictionScale, mask, frictionImpulse);
@@ -1560,10 +1560,10 @@ void cloth::SwCollision<Simd4f>::collideContinuousParticles()
if (massScalingEnabled)
{
// calculate the inverse mass scale based on the collision impulse magnitude
- Simd4f dSq = invNumCollisions * invNumCollisions *
+ T4f dSq = invNumCollisions * invNumCollisions *
(accum.mDeltaX * accum.mDeltaX + accum.mDeltaY * accum.mDeltaY + accum.mDeltaZ * accum.mDeltaZ);
- Simd4f weightScale = recip(gSimd4fOne + massScale * dSq);
+ T4f weightScale = recip(gSimd4fOne + massScale * dSq);
// scale invmass
curPos[3] = select(mask, curPos[3] * weightScale, curPos[3]);
@@ -1585,22 +1585,22 @@ void cloth::SwCollision<Simd4f>::collideContinuousParticles()
}
}
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::collideConvexes(const IterationState<Simd4f>& state)
+template <typename T4f>
+void cloth::SwCollision<T4f>::collideConvexes(const IterationState<T4f>& state)
{
if (!mClothData.mNumConvexes)
return;
// times 2 for plane equation result buffer
- Simd4f* planes = static_cast<Simd4f*>(mAllocator.allocate(sizeof(Simd4f) * mClothData.mNumPlanes * 2));
+ T4f* planes = static_cast<T4f*>(mAllocator.allocate(sizeof(T4f) * mClothData.mNumPlanes * 2));
- const Simd4f* targetPlanes = reinterpret_cast<const Simd4f*>(mClothData.mTargetCollisionPlanes);
+ const T4f* targetPlanes = reinterpret_cast<const T4f*>(mClothData.mTargetCollisionPlanes);
// generate plane collision data
if (state.mRemainingIterations != 1)
{
// interpolate planes
- LerpIterator<Simd4f, const Simd4f*> planeIter(reinterpret_cast<const Simd4f*>(mClothData.mStartCollisionPlanes),
+ LerpIterator<T4f, const T4f*> planeIter(reinterpret_cast<const T4f*>(mClothData.mStartCollisionPlanes),
targetPlanes, state.getCurrentAlpha());
// todo: normalize plane equations
@@ -1612,10 +1612,10 @@ void cloth::SwCollision<Simd4f>::collideConvexes(const IterationState<Simd4f>& s
generatePlanes(planes, targetPlanes, mClothData.mNumPlanes);
}
- Simd4f curPos[4], prevPos[4];
+ T4f curPos[4], prevPos[4];
const bool frictionEnabled = mClothData.mFrictionScale > 0.0f;
- const Simd4f frictionScale = simd4f(mClothData.mFrictionScale);
+ const T4f frictionScale = simd4f(mClothData.mFrictionScale);
float* __restrict curIt = mClothData.mCurParticles;
float* __restrict curEnd = curIt + mClothData.mNumParticles * 4;
@@ -1631,11 +1631,11 @@ void cloth::SwCollision<Simd4f>::collideConvexes(const IterationState<Simd4f>& s
ImpulseAccumulator accum;
collideConvexes(planes, curPos, accum);
- Simd4f mask;
+ T4f mask;
if (!anyGreater(accum.mNumCollisions, gSimd4fEpsilon, mask))
continue;
- Simd4f invNumCollisions = recip(accum.mNumCollisions);
+ T4f invNumCollisions = recip(accum.mNumCollisions);
if (frictionEnabled)
{
@@ -1645,7 +1645,7 @@ void cloth::SwCollision<Simd4f>::collideConvexes(const IterationState<Simd4f>& s
prevPos[3] = loadAligned(prevIt, 48);
transpose(prevPos[0], prevPos[1], prevPos[2], prevPos[3]);
- Simd4f frictionImpulse[3];
+ T4f frictionImpulse[3];
calculateFrictionImpulse(accum.mDeltaX, accum.mDeltaY, accum.mDeltaZ, accum.mVelX, accum.mVelY, accum.mVelZ,
curPos, prevPos, invNumCollisions, frictionScale, mask, frictionImpulse);
@@ -1678,20 +1678,20 @@ void cloth::SwCollision<Simd4f>::collideConvexes(const IterationState<Simd4f>& s
mAllocator.deallocate(planes);
}
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::collideConvexes(const Simd4f* __restrict planes, Simd4f* __restrict curPos,
+template <typename T4f>
+void cloth::SwCollision<T4f>::collideConvexes(const T4f* __restrict planes, T4f* __restrict curPos,
ImpulseAccumulator& accum)
{
- Simd4i result = gSimd4iZero;
- Simd4i mask4 = gSimd4iOne;
+ T4i result = gSimd4iZero;
+ T4i mask4 = gSimd4iOne;
- const Simd4f* __restrict pIt, *pEnd = planes + mClothData.mNumPlanes;
- Simd4f* __restrict dIt = const_cast<Simd4f*>(pEnd);
+ const T4f* __restrict pIt, *pEnd = planes + mClothData.mNumPlanes;
+ T4f* __restrict dIt = const_cast<T4f*>(pEnd);
for (pIt = planes; pIt != pEnd; ++pIt, ++dIt)
{
*dIt = splat<3>(*pIt) + curPos[2] * splat<2>(*pIt) + curPos[1] * splat<1>(*pIt) + curPos[0] * splat<0>(*pIt);
result = result | (mask4 & simd4i(*dIt < gSimd4fZero));
- mask4 = mask4 << 1; // todo: shift by Simd4i on consoles
+ mask4 = mask4 << 1; // todo: shift by T4i on consoles
}
if (allEqual(result, gSimd4iZero))
@@ -1708,18 +1708,18 @@ void cloth::SwCollision<Simd4f>::collideConvexes(const Simd4f* __restrict planes
uint32_t test = mask - 1;
uint32_t planeIndex = findBitSet(mask & ~test);
- Simd4f plane = planes[planeIndex];
- Simd4f planeX = splat<0>(plane);
- Simd4f planeY = splat<1>(plane);
- Simd4f planeZ = splat<2>(plane);
- Simd4f planeD = pEnd[planeIndex];
+ T4f plane = planes[planeIndex];
+ T4f planeX = splat<0>(plane);
+ T4f planeY = splat<1>(plane);
+ T4f planeZ = splat<2>(plane);
+ T4f planeD = pEnd[planeIndex];
while (mask &= test)
{
test = mask - 1;
planeIndex = findBitSet(mask & ~test);
plane = planes[planeIndex];
- Simd4f dist = pEnd[planeIndex];
- Simd4f closer = dist > planeD;
+ T4f dist = pEnd[planeIndex];
+ T4f closer = dist > planeD;
planeX = select(closer, splat<0>(plane), planeX);
planeY = select(closer, splat<1>(plane), planeY);
planeZ = select(closer, splat<2>(plane), planeZ);
@@ -1730,8 +1730,8 @@ void cloth::SwCollision<Simd4f>::collideConvexes(const Simd4f* __restrict planes
}
}
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::collideTriangles(const IterationState<Simd4f>& state)
+template <typename T4f>
+void cloth::SwCollision<T4f>::collideTriangles(const IterationState<T4f>& state)
{
if (!mClothData.mNumCollisionTriangles)
return;
@@ -1739,24 +1739,24 @@ void cloth::SwCollision<Simd4f>::collideTriangles(const IterationState<Simd4f>&
TriangleData* triangles =
static_cast<TriangleData*>(mAllocator.allocate(sizeof(TriangleData) * mClothData.mNumCollisionTriangles));
- UnalignedIterator<Simd4f, 3> targetTriangles(mClothData.mTargetCollisionTriangles);
+ UnalignedIterator<T4f, 3> targetTriangles(mClothData.mTargetCollisionTriangles);
// generate triangle collision data
if (state.mRemainingIterations != 1)
{
// interpolate triangles
- LerpIterator<Simd4f, UnalignedIterator<Simd4f, 3> > triangleIter(mClothData.mStartCollisionTriangles,
+ LerpIterator<T4f, UnalignedIterator<T4f, 3> > triangleIter(mClothData.mStartCollisionTriangles,
targetTriangles, state.getCurrentAlpha());
- generateTriangles<Simd4f>(triangles, triangleIter, mClothData.mNumCollisionTriangles);
+ generateTriangles<T4f>(triangles, triangleIter, mClothData.mNumCollisionTriangles);
}
else
{
// otherwise use the target triangles directly
- generateTriangles<Simd4f>(triangles, targetTriangles, mClothData.mNumCollisionTriangles);
+ generateTriangles<T4f>(triangles, targetTriangles, mClothData.mNumCollisionTriangles);
}
- Simd4f positions[4];
+ T4f positions[4];
float* __restrict pIt = mClothData.mCurParticles;
float* __restrict pEnd = pIt + mClothData.mNumParticles * 4;
@@ -1771,11 +1771,11 @@ void cloth::SwCollision<Simd4f>::collideTriangles(const IterationState<Simd4f>&
ImpulseAccumulator accum;
collideTriangles(triangles, positions, accum);
- Simd4f mask;
+ T4f mask;
if (!anyGreater(accum.mNumCollisions, gSimd4fEpsilon, mask))
continue;
- Simd4f invNumCollisions = recip(accum.mNumCollisions);
+ T4f invNumCollisions = recip(accum.mNumCollisions);
positions[0] = positions[0] + accum.mDeltaX * invNumCollisions;
positions[1] = positions[1] + accum.mDeltaY * invNumCollisions;
@@ -1795,60 +1795,60 @@ void cloth::SwCollision<Simd4f>::collideTriangles(const IterationState<Simd4f>&
mAllocator.deallocate(triangles);
}
-template <typename Simd4f>
-void cloth::SwCollision<Simd4f>::collideTriangles(const TriangleData* __restrict triangles, Simd4f* __restrict curPos,
+template <typename T4f>
+void cloth::SwCollision<T4f>::collideTriangles(const TriangleData* __restrict triangles, T4f* __restrict curPos,
ImpulseAccumulator& accum)
{
- Simd4f normalX, normalY, normalZ, normalD;
+ T4f normalX, normalY, normalZ, normalD;
normalX = normalY = normalZ = normalD = gSimd4fZero;
- Simd4f minSqrLength = gSimd4fFloatMax;
+ T4f minSqrLength = gSimd4fFloatMax;
const TriangleData* __restrict tIt, *tEnd = triangles + mClothData.mNumCollisionTriangles;
for (tIt = triangles; tIt != tEnd; ++tIt)
{
- Simd4f base = loadAligned(&tIt->base.x);
- Simd4f edge0 = loadAligned(&tIt->edge0.x);
- Simd4f edge1 = loadAligned(&tIt->edge1.x);
- Simd4f normal = loadAligned(&tIt->normal.x);
- Simd4f aux = loadAligned(&tIt->det);
+ T4f base = loadAligned(&tIt->base.x);
+ T4f edge0 = loadAligned(&tIt->edge0.x);
+ T4f edge1 = loadAligned(&tIt->edge1.x);
+ T4f normal = loadAligned(&tIt->normal.x);
+ T4f aux = loadAligned(&tIt->det);
- Simd4f dx = curPos[0] - splat<0>(base);
- Simd4f dy = curPos[1] - splat<1>(base);
- Simd4f dz = curPos[2] - splat<2>(base);
+ T4f dx = curPos[0] - splat<0>(base);
+ T4f dy = curPos[1] - splat<1>(base);
+ T4f dz = curPos[2] - splat<2>(base);
- Simd4f e0x = splat<0>(edge0);
- Simd4f e0y = splat<1>(edge0);
- Simd4f e0z = splat<2>(edge0);
+ T4f e0x = splat<0>(edge0);
+ T4f e0y = splat<1>(edge0);
+ T4f e0z = splat<2>(edge0);
- Simd4f e1x = splat<0>(edge1);
- Simd4f e1y = splat<1>(edge1);
- Simd4f e1z = splat<2>(edge1);
+ T4f e1x = splat<0>(edge1);
+ T4f e1y = splat<1>(edge1);
+ T4f e1z = splat<2>(edge1);
- Simd4f nx = splat<0>(normal);
- Simd4f ny = splat<1>(normal);
- Simd4f nz = splat<2>(normal);
+ T4f nx = splat<0>(normal);
+ T4f ny = splat<1>(normal);
+ T4f nz = splat<2>(normal);
- Simd4f deltaDotEdge0 = dx * e0x + dy * e0y + dz * e0z;
- Simd4f deltaDotEdge1 = dx * e1x + dy * e1y + dz * e1z;
- Simd4f deltaDotNormal = dx * nx + dy * ny + dz * nz;
+ T4f deltaDotEdge0 = dx * e0x + dy * e0y + dz * e0z;
+ T4f deltaDotEdge1 = dx * e1x + dy * e1y + dz * e1z;
+ T4f deltaDotNormal = dx * nx + dy * ny + dz * nz;
- Simd4f edge0DotEdge1 = splat<3>(base);
- Simd4f edge0SqrLength = splat<3>(edge0);
- Simd4f edge1SqrLength = splat<3>(edge1);
+ T4f edge0DotEdge1 = splat<3>(base);
+ T4f edge0SqrLength = splat<3>(edge0);
+ T4f edge1SqrLength = splat<3>(edge1);
- Simd4f s = edge1SqrLength * deltaDotEdge0 - edge0DotEdge1 * deltaDotEdge1;
- Simd4f t = edge0SqrLength * deltaDotEdge1 - edge0DotEdge1 * deltaDotEdge0;
+ T4f s = edge1SqrLength * deltaDotEdge0 - edge0DotEdge1 * deltaDotEdge1;
+ T4f t = edge0SqrLength * deltaDotEdge1 - edge0DotEdge1 * deltaDotEdge0;
- Simd4f sPositive = s > gSimd4fZero;
- Simd4f tPositive = t > gSimd4fZero;
+ T4f sPositive = s > gSimd4fZero;
+ T4f tPositive = t > gSimd4fZero;
- Simd4f det = splat<0>(aux);
+ T4f det = splat<0>(aux);
s = select(tPositive, s * det, deltaDotEdge0 * splat<2>(aux));
t = select(sPositive, t * det, deltaDotEdge1 * splat<3>(aux));
- Simd4f clamp = gSimd4fOne < s + t;
- Simd4f numerator = edge1SqrLength - edge0DotEdge1 + deltaDotEdge0 - deltaDotEdge1;
+ T4f clamp = gSimd4fOne < s + t;
+ T4f numerator = edge1SqrLength - edge0DotEdge1 + deltaDotEdge0 - deltaDotEdge1;
s = select(clamp, numerator * splat<1>(aux), s);
@@ -1859,13 +1859,13 @@ void cloth::SwCollision<Simd4f>::collideTriangles(const TriangleData* __restrict
dy = dy - e0y * s - e1y * t;
dz = dz - e0z * s - e1z * t;
- Simd4f sqrLength = dx * dx + dy * dy + dz * dz;
+ T4f sqrLength = dx * dx + dy * dy + dz * dz;
// slightly increase distance for colliding triangles
- Simd4f slack = (gSimd4fZero > deltaDotNormal) & simd4f(1e-4f);
+ T4f slack = (gSimd4fZero > deltaDotNormal) & simd4f(1e-4f);
sqrLength = sqrLength + sqrLength * slack;
- Simd4f mask = sqrLength < minSqrLength;
+ T4f mask = sqrLength < minSqrLength;
normalX = select(mask, nx, normalX);
normalY = select(mask, ny, normalY);
@@ -1875,7 +1875,7 @@ void cloth::SwCollision<Simd4f>::collideTriangles(const TriangleData* __restrict
minSqrLength = min(sqrLength, minSqrLength);
}
- Simd4f mask;
+ T4f mask;
if (!anyGreater(gSimd4fZero, normalD, mask))
return;
diff --git a/NvCloth/src/SwCollision.h b/NvCloth/src/SwCollision.h
index 8d5746c..5806b2e 100644
--- a/NvCloth/src/SwCollision.h
+++ b/NvCloth/src/SwCollision.h
@@ -52,16 +52,16 @@ typedef StackAllocator<16> SwKernelAllocator;
/**
Collision handler for SwSolver.
*/
-template <typename Simd4f>
+template <typename T4f>
class SwCollision
{
- typedef typename Simd4fToSimd4i<Simd4f>::Type Simd4i;
+ typedef typename Simd4fToSimd4i<T4f>::Type T4i;
public:
struct ShapeMask
{
- Simd4i mCones;
- Simd4i mSpheres;
+ T4i mCones;
+ T4i mSpheres;
ShapeMask& operator = (const ShapeMask&);
ShapeMask& operator &= (const ShapeMask&);
@@ -80,7 +80,7 @@ class SwCollision
SwCollision(SwClothData& clothData, SwKernelAllocator& alloc);
~SwCollision();
- void operator()(const IterationState<Simd4f>& state);
+ void operator()(const IterationState<T4f>& state);
static size_t estimateTemporaryMemory(const SwCloth& cloth);
static size_t estimatePersistentMemory(const SwCloth& cloth);
@@ -97,32 +97,32 @@ class SwCollision
static void mergeAcceleration(uint32_t*);
bool buildAcceleration();
- static ShapeMask getShapeMask(const Simd4f&, const Simd4i*, const Simd4i*);
- ShapeMask getShapeMask(const Simd4f*) const;
- ShapeMask getShapeMask(const Simd4f*, const Simd4f*) const;
+ static ShapeMask getShapeMask(const T4f&, const T4i*, const T4i*);
+ ShapeMask getShapeMask(const T4f*) const;
+ ShapeMask getShapeMask(const T4f*, const T4f*) const;
- void collideSpheres(const Simd4i&, const Simd4f*, ImpulseAccumulator&) const;
- Simd4i collideCones(const Simd4f*, ImpulseAccumulator&) const;
+ void collideSpheres(const T4i&, const T4f*, ImpulseAccumulator&) const;
+ T4i collideCones(const T4f*, ImpulseAccumulator&) const;
- void collideSpheres(const Simd4i&, const Simd4f*, Simd4f*, ImpulseAccumulator&) const;
- Simd4i collideCones(const Simd4f*, Simd4f*, ImpulseAccumulator&) const;
+ void collideSpheres(const T4i&, const T4f*, T4f*, ImpulseAccumulator&) const;
+ T4i collideCones(const T4f*, T4f*, ImpulseAccumulator&) const;
void collideParticles();
void collideVirtualParticles();
void collideContinuousParticles();
- void collideConvexes(const IterationState<Simd4f>&);
- void collideConvexes(const Simd4f*, Simd4f*, ImpulseAccumulator&);
+ void collideConvexes(const IterationState<T4f>&);
+ void collideConvexes(const T4f*, T4f*, ImpulseAccumulator&);
- void collideTriangles(const IterationState<Simd4f>&);
- void collideTriangles(const TriangleData*, Simd4f*, ImpulseAccumulator&);
+ void collideTriangles(const IterationState<T4f>&);
+ void collideTriangles(const TriangleData*, T4f*, ImpulseAccumulator&);
public:
// acceleration structure
static const uint32_t sGridSize = 8;
- Simd4i mSphereGrid[6 * sGridSize / 4];
- Simd4i mConeGrid[6 * sGridSize / 4];
- Simd4f mGridScale, mGridBias;
+ T4i mSphereGrid[6 * sGridSize / 4];
+ T4i mConeGrid[6 * sGridSize / 4];
+ T4f mGridScale, mGridBias;
CollisionData mPrevData;
CollisionData mCurData;
@@ -132,8 +132,16 @@ class SwCollision
uint32_t mNumCollisions;
- static const Simd4f sSkeletonWidth;
+ static const T4f sSkeletonWidth;
};
+//explicit template instantiation declaration
+#if NV_SIMD_SIMD
+extern template class SwCollision<Simd4f>;
+#endif
+#if NV_SIMD_SCALAR
+extern template class SwCollision<Scalar4f>;
+#endif
+
} // namespace cloth
} // namespace nv
diff --git a/NvCloth/src/SwFabric.cpp b/NvCloth/src/SwFabric.cpp
index 6309c80..9830398 100644
--- a/NvCloth/src/SwFabric.cpp
+++ b/NvCloth/src/SwFabric.cpp
@@ -27,7 +27,6 @@
// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
-#include "foundation/PxAssert.h"
#include "SwFabric.h"
#include "SwFactory.h"
#include "PsSort.h"
diff --git a/NvCloth/src/SwFactory.cpp b/NvCloth/src/SwFactory.cpp
index 418eb13..6f46c96 100644
--- a/NvCloth/src/SwFactory.cpp
+++ b/NvCloth/src/SwFactory.cpp
@@ -31,7 +31,6 @@
#include "SwFabric.h"
#include "SwCloth.h"
#include "SwSolver.h"
-#include "ClothImpl.h"
#include <string.h> // for memcpy
using namespace nv;
@@ -66,7 +65,7 @@ cloth::Fabric* cloth::SwFactory::createFabric(uint32_t numParticles, Range<const
cloth::Cloth* cloth::SwFactory::createCloth(Range<const PxVec4> particles, Fabric& fabric)
{
- return NV_CLOTH_NEW(SwClothImpl)(*this, fabric, particles);
+ return NV_CLOTH_NEW(SwCloth)(*this, static_cast<SwFabric&>(fabric), particles);
}
cloth::Solver* cloth::SwFactory::createSolver()
@@ -80,7 +79,7 @@ cloth::Cloth* cloth::SwFactory::clone(const Cloth& cloth)
return cloth.clone(*this); // forward to CuCloth
// copy construct
- return NV_CLOTH_NEW(SwClothImpl)(*this, static_cast<const SwClothImpl&>(cloth));
+ return NV_CLOTH_NEW(SwCloth)(*this, static_cast<const SwCloth&>(cloth));
}
void cloth::SwFactory::extractFabricData(const Fabric& fabric, Range<uint32_t> phaseIndices, Range<uint32_t> sets,
@@ -157,7 +156,7 @@ void cloth::SwFactory::extractCollisionData(const Cloth& cloth, Range<PxVec4> sp
{
NV_CLOTH_ASSERT(&cloth.getFactory() == this);
- const SwCloth& swCloth = static_cast<const SwClothImpl&>(cloth).mCloth;
+ const SwCloth& swCloth = static_cast<const SwCloth&>(cloth);
NV_CLOTH_ASSERT(spheres.empty() || spheres.size() == swCloth.mStartCollisionSpheres.size());
NV_CLOTH_ASSERT(capsules.empty() || capsules.size() == swCloth.mCapsuleIndices.size() * 2);
@@ -188,7 +187,7 @@ void cloth::SwFactory::extractMotionConstraints(const Cloth& cloth, Range<PxVec4
{
NV_CLOTH_ASSERT(&cloth.getFactory() == this);
- const SwCloth& swCloth = static_cast<const SwClothImpl&>(cloth).mCloth;
+ const SwCloth& swCloth = static_cast<const SwCloth&>(cloth);
Vector<PxVec4>::Type const& srcConstraints = !swCloth.mMotionConstraints.mTarget.empty()
? swCloth.mMotionConstraints.mTarget
@@ -207,7 +206,7 @@ void cloth::SwFactory::extractSeparationConstraints(const Cloth& cloth, Range<Px
{
NV_CLOTH_ASSERT(&cloth.getFactory() == this);
- const SwCloth& swCloth = static_cast<const SwClothImpl&>(cloth).mCloth;
+ const SwCloth& swCloth = static_cast<const SwCloth&>(cloth);
Vector<PxVec4>::Type const& srcConstraints = !swCloth.mSeparationConstraints.mTarget.empty()
? swCloth.mSeparationConstraints.mTarget
@@ -226,7 +225,7 @@ void cloth::SwFactory::extractParticleAccelerations(const Cloth& cloth, Range<Px
{
NV_CLOTH_ASSERT(&cloth.getFactory() == this);
- const SwCloth& swCloth = static_cast<const SwClothImpl&>(cloth).mCloth;
+ const SwCloth& swCloth = static_cast<const SwCloth&>(cloth);
if (!swCloth.mParticleAccelerations.empty())
{
@@ -242,7 +241,7 @@ void cloth::SwFactory::extractVirtualParticles(const Cloth& cloth, Range<uint32_
{
NV_CLOTH_ASSERT(this == &cloth.getFactory());
- const SwCloth& swCloth = static_cast<const SwClothImpl&>(cloth).mCloth;
+ const SwCloth& swCloth = static_cast<const SwCloth&>(cloth);
uint32_t numIndices = cloth.getNumVirtualParticles();
uint32_t numWeights = cloth.getNumVirtualParticleWeights();
@@ -286,14 +285,14 @@ void cloth::SwFactory::extractVirtualParticles(const Cloth& cloth, Range<uint32_
void cloth::SwFactory::extractSelfCollisionIndices(const Cloth& cloth, Range<uint32_t> destIndices) const
{
- const SwCloth& swCloth = static_cast<const SwClothImpl&>(cloth).mCloth;
+ const SwCloth& swCloth = static_cast<const SwCloth&>(cloth);
NV_CLOTH_ASSERT(destIndices.size() == swCloth.mSelfCollisionIndices.size());
memcpy(destIndices.begin(), swCloth.mSelfCollisionIndices.begin(), destIndices.size() * sizeof(uint32_t));
}
void cloth::SwFactory::extractRestPositions(const Cloth& cloth, Range<PxVec4> destRestPositions) const
{
- const SwCloth& swCloth = static_cast<const SwClothImpl&>(cloth).mCloth;
+ const SwCloth& swCloth = static_cast<const SwCloth&>(cloth);
NV_CLOTH_ASSERT(destRestPositions.size() == swCloth.mRestPositions.size());
memcpy(destRestPositions.begin(), swCloth.mRestPositions.begin(), destRestPositions.size() * sizeof(PxVec4));
}
diff --git a/NvCloth/src/SwFactory.h b/NvCloth/src/SwFactory.h
index e0caf87..4cbee0c 100644
--- a/NvCloth/src/SwFactory.h
+++ b/NvCloth/src/SwFactory.h
@@ -48,7 +48,7 @@ class SwFactory : public Factory
{
public:
typedef SwFabric FabricType;
- typedef ClothImpl<SwCloth> ImplType;
+ typedef SwCloth ClothType;
SwFactory();
virtual ~SwFactory();
diff --git a/NvCloth/src/SwInterCollision.cpp b/NvCloth/src/SwInterCollision.cpp
index 6d5e013..b9b494f 100644
--- a/NvCloth/src/SwInterCollision.cpp
+++ b/NvCloth/src/SwInterCollision.cpp
@@ -73,16 +73,16 @@ void radixSort(const uint32_t* first, const uint32_t* last, uint32_t* out)
for (uint32_t i = 0; i < 256; ++i)
{
uint32_t temp0 = histograms[0][i] + sums[0];
- histograms[0][i] = sums[0], sums[0] = temp0;
+ histograms[0][i] = sums[0]; sums[0] = temp0;
uint32_t temp1 = histograms[1][i] + sums[1];
- histograms[1][i] = sums[1], sums[1] = temp1;
+ histograms[1][i] = sums[1]; sums[1] = temp1;
uint32_t temp2 = histograms[2][i] + sums[2];
- histograms[2][i] = sums[2], sums[2] = temp2;
+ histograms[2][i] = sums[2]; sums[2] = temp2;
uint32_t temp3 = histograms[3][i] + sums[3];
- histograms[3][i] = sums[3], sums[3] = temp3;
+ histograms[3][i] = sums[3]; sums[3] = temp3;
}
NV_CLOTH_ASSERT(sums[0] == n && sums[1] == n && sums[2] == n && sums[3] == n);
@@ -98,18 +98,27 @@ void radixSort(const uint32_t* first, const uint32_t* last, uint32_t* out)
for (uint32_t i = 0; i != n; ++i)
indices[1][histograms[0][0xff & first[i]]++] = i;
- for (uint32_t i = 0, index; index = indices[1][i], i != n; ++i)
+ for (uint32_t i = 0, index; i != n; ++i)
+ {
+ index = indices[1][i];
indices[0][histograms[1][0xff & (first[index] >> 8)]++] = index;
+ }
- for (uint32_t i = 0, index; index = indices[0][i], i != n; ++i)
+ for (uint32_t i = 0, index; i != n; ++i)
+ {
+ index = indices[0][i];
indices[1][histograms[2][0xff & (first[index] >> 16)]++] = index;
+ }
- for (uint32_t i = 0, index; index = indices[1][i], i != n; ++i)
+ for (uint32_t i = 0, index; i != n; ++i)
+ {
+ index = indices[1][i];
indices[0][histograms[3][first[index] >> 24]++] = index;
+ }
}
-template <typename Simd4f>
-uint32_t longestAxis(const Simd4f& edgeLength)
+template <typename T4f>
+uint32_t longestAxis(const T4f& edgeLength)
{
const float* e = array(edgeLength);
@@ -120,8 +129,8 @@ uint32_t longestAxis(const Simd4f& edgeLength)
}
}
-template <typename Simd4f>
-cloth::SwInterCollision<Simd4f>::SwInterCollision(const cloth::SwInterCollisionData* instances, uint32_t n,
+template <typename T4f>
+cloth::SwInterCollision<T4f>::SwInterCollision(const cloth::SwInterCollisionData* instances, uint32_t n,
float colDist, float stiffness, uint32_t iterations,
InterCollisionFilter filter, cloth::SwKernelAllocator& alloc)
: mInstances(instances)
@@ -145,33 +154,33 @@ cloth::SwInterCollision<Simd4f>::SwInterCollision(const cloth::SwInterCollisionD
mTotalParticles += instances[i].mNumParticles;
}
-template <typename Simd4f>
-cloth::SwInterCollision<Simd4f>::~SwInterCollision()
+template <typename T4f>
+cloth::SwInterCollision<T4f>::~SwInterCollision()
{
}
namespace
{
// multiple x by m leaving w component of x intact
-template <typename Simd4f>
-PX_INLINE Simd4f transform(const Simd4f m[4], const Simd4f& x)
+template <typename T4f>
+PX_INLINE T4f transform(const T4f m[4], const T4f& x)
{
- const Simd4f a = m[3] + splat<0>(x) * m[0] + splat<1>(x) * m[1] + splat<2>(x) * m[2];
+ const T4f a = m[3] + splat<0>(x) * m[0] + splat<1>(x) * m[1] + splat<2>(x) * m[2];
return select(sMaskXYZ, a, x);
}
// rotate x by m leaving w component intact
-template <typename Simd4f>
-PX_INLINE Simd4f rotate(const Simd4f m[4], const Simd4f& x)
+template <typename T4f>
+PX_INLINE T4f rotate(const T4f m[4], const T4f& x)
{
- const Simd4f a = splat<0>(x) * m[0] + splat<1>(x) * m[1] + splat<2>(x) * m[2];
+ const T4f a = splat<0>(x) * m[0] + splat<1>(x) * m[1] + splat<2>(x) * m[2];
return select(sMaskXYZ, a, x);
}
-template <typename Simd4f>
+template <typename T4f>
struct ClothSorter
{
- typedef cloth::BoundingBox<Simd4f> BoundingBox;
+ typedef cloth::BoundingBox<T4f> BoundingBox;
ClothSorter(BoundingBox* bounds, uint32_t n, uint32_t axis) : mBounds(bounds), mNumBounds(n), mAxis(axis)
{
@@ -194,15 +203,15 @@ struct ClothSorter
// which potentially interact, the potential colliders are returned with their
// cloth index and particle index in clothIndices and particleIndices, the
// function returns the number of potential colliders
-template <typename Simd4f>
+template <typename T4f>
uint32_t calculatePotentialColliders(const cloth::SwInterCollisionData* cBegin, const cloth::SwInterCollisionData* cEnd,
- const Simd4f& colDist, uint16_t* clothIndices, uint32_t* particleIndices,
- cloth::BoundingBox<Simd4f>& bounds, uint32_t* overlapMasks,
+ const T4f& colDist, uint16_t* clothIndices, uint32_t* particleIndices,
+ cloth::BoundingBox<T4f>& bounds, uint32_t* overlapMasks,
cloth::InterCollisionFilter filter, cloth::SwKernelAllocator& allocator)
{
using namespace cloth;
- typedef BoundingBox<Simd4f> BoundingBox;
+ typedef BoundingBox<T4f> BoundingBox;
uint32_t numParticles = 0;
const uint32_t numCloths = uint32_t(cEnd - cBegin);
@@ -212,7 +221,7 @@ uint32_t calculatePotentialColliders(const cloth::SwInterCollisionData* cBegin,
BoundingBox* const overlapBounds = static_cast<BoundingBox*>(allocator.allocate(numCloths * sizeof(BoundingBox)));
// union of all cloth world bounds
- BoundingBox totalClothBounds = emptyBounds<Simd4f>();
+ BoundingBox totalClothBounds = emptyBounds<T4f>();
uint32_t* sortedIndices = static_cast<uint32_t*>(allocator.allocate(numCloths * sizeof(uint32_t)));
@@ -237,7 +246,7 @@ uint32_t calculatePotentialColliders(const cloth::SwInterCollisionData* cBegin,
// sort indices by their minimum extent on the longest axis
const uint32_t sweepAxis = longestAxis(totalClothBounds.mUpper - totalClothBounds.mLower);
- ClothSorter<Simd4f> predicate(clothBounds, numCloths, sweepAxis);
+ ClothSorter<T4f> predicate(clothBounds, numCloths, sweepAxis);
shdfnd::sort(sortedIndices, numCloths, predicate, nv::cloth::NonTrackingAllocator());
for (uint32_t i = 0; i < numCloths; ++i)
@@ -247,8 +256,8 @@ uint32_t calculatePotentialColliders(const cloth::SwInterCollisionData* cBegin,
const SwInterCollisionData& a = cBegin[sortedIndices[i]];
// local bounds
- const Simd4f aCenter = load(reinterpret_cast<const float*>(&a.mBoundsCenter));
- const Simd4f aHalfExtent = load(reinterpret_cast<const float*>(&a.mBoundsHalfExtent)) + colDist;
+ const T4f aCenter = load(reinterpret_cast<const float*>(&a.mBoundsCenter));
+ const T4f aHalfExtent = load(reinterpret_cast<const float*>(&a.mBoundsHalfExtent)) + colDist;
const BoundingBox aBounds = { aCenter - aHalfExtent, aCenter + aHalfExtent };
const PxMat44 aToWorld = PxMat44(a.mGlobalPose);
@@ -296,7 +305,7 @@ uint32_t calculatePotentialColliders(const cloth::SwInterCollisionData* cBegin,
BoundingBox iBounds = intersectBounds(aBounds, bBounds);
// setup bounding box w to make point containment test cheaper
- Simd4f floatMax = gSimd4fFloatMax & static_cast<Simd4f>(sMaskW);
+ T4f floatMax = gSimd4fFloatMax & static_cast<T4f>(sMaskW);
iBounds.mLower = (iBounds.mLower & sMaskXYZ) | -floatMax;
iBounds.mUpper = (iBounds.mUpper & sMaskXYZ) | floatMax;
@@ -310,22 +319,22 @@ uint32_t calculatePotentialColliders(const cloth::SwInterCollisionData* cBegin,
const uint32_t clothIndex = sortedIndices[i];
overlapMasks[clothIndex] = overlapMask;
- Simd4f* pBegin = reinterpret_cast<Simd4f*>(a.mParticles);
- Simd4f* qBegin = reinterpret_cast<Simd4f*>(a.mPrevParticles);
+ T4f* pBegin = reinterpret_cast<T4f*>(a.mParticles);
+ T4f* qBegin = reinterpret_cast<T4f*>(a.mPrevParticles);
- const Simd4f xform[4] = { load(reinterpret_cast<const float*>(&aToWorld.column0)),
+ const T4f xform[4] = { load(reinterpret_cast<const float*>(&aToWorld.column0)),
load(reinterpret_cast<const float*>(&aToWorld.column1)),
load(reinterpret_cast<const float*>(&aToWorld.column2)),
load(reinterpret_cast<const float*>(&aToWorld.column3)) };
- Simd4f impulseInvScale = recip(Simd4f(simd4f(cBegin[clothIndex].mImpulseScale)));
+ T4f impulseInvScale = recip(T4f(simd4f(cBegin[clothIndex].mImpulseScale)));
for (uint32_t k = 0; k < a.mNumParticles; ++k)
{
- Simd4f* pIt = a.mIndices ? pBegin + a.mIndices[k] : pBegin + k;
- Simd4f* qIt = a.mIndices ? qBegin + a.mIndices[k] : qBegin + k;
+ T4f* pIt = a.mIndices ? pBegin + a.mIndices[k] : pBegin + k;
+ T4f* qIt = a.mIndices ? qBegin + a.mIndices[k] : qBegin + k;
- const Simd4f p = *pIt;
+ const T4f p = *pIt;
for (const BoundingBox* oIt = overlapBounds, *oEnd = overlapBounds + numOverlaps; oIt != oEnd; ++oIt)
{
@@ -339,7 +348,7 @@ uint32_t calculatePotentialColliders(const cloth::SwInterCollisionData* cBegin,
// (will be transformed back after collision)
*pIt = transform(xform, p);
- Simd4f impulse = (p - *qIt) * impulseInvScale;
+ T4f impulse = (p - *qIt) * impulseInvScale;
*qIt = rotate(xform, impulse);
// update world bounds
@@ -364,8 +373,8 @@ uint32_t calculatePotentialColliders(const cloth::SwInterCollisionData* cBegin,
}
}
-template <typename Simd4f>
-PX_INLINE Simd4f& cloth::SwInterCollision<Simd4f>::getParticle(uint32_t index)
+template <typename T4f>
+PX_INLINE T4f& cloth::SwInterCollision<T4f>::getParticle(uint32_t index)
{
NV_CLOTH_ASSERT(index < mNumParticles);
@@ -374,11 +383,11 @@ PX_INLINE Simd4f& cloth::SwInterCollision<Simd4f>::getParticle(uint32_t index)
NV_CLOTH_ASSERT(clothIndex < mNumInstances);
- return reinterpret_cast<Simd4f&>(mInstances[clothIndex].mParticles[particleIndex]);
+ return reinterpret_cast<T4f&>(mInstances[clothIndex].mParticles[particleIndex]);
}
-template <typename Simd4f>
-void cloth::SwInterCollision<Simd4f>::operator()()
+template <typename T4f>
+void cloth::SwInterCollision<T4f>::operator()()
{
mNumTests = mNumCollisions = 0;
@@ -389,7 +398,7 @@ void cloth::SwInterCollision<Simd4f>::operator()()
for (uint32_t k = 0; k < mNumIterations; ++k)
{
// world bounds of particles
- BoundingBox<Simd4f> bounds = emptyBounds<Simd4f>();
+ BoundingBox<T4f> bounds = emptyBounds<T4f>();
// calculate potentially colliding set
{
@@ -405,8 +414,8 @@ void cloth::SwInterCollision<Simd4f>::operator()()
{
NV_CLOTH_PROFILE_ZONE("cloth::SwInterCollision::Collide", /*ProfileContext::None*/ 0);
- Simd4f lowerBound = bounds.mLower;
- Simd4f edgeLength = max(bounds.mUpper - lowerBound, sEpsilon);
+ T4f lowerBound = bounds.mLower;
+ T4f edgeLength = max(bounds.mUpper - lowerBound, sEpsilon);
// sweep along longest axis
uint32_t sweepAxis = longestAxis(edgeLength);
@@ -414,15 +423,15 @@ void cloth::SwInterCollision<Simd4f>::operator()()
uint32_t hashAxis1 = (sweepAxis + 2) % 3;
// reserve 0, 127, and 65535 for sentinel
- Simd4f cellSize = max(mCollisionDistance, simd4f(1.0f / 253) * edgeLength);
+ T4f cellSize = max(mCollisionDistance, simd4f(1.0f / 253) * edgeLength);
array(cellSize)[sweepAxis] = array(edgeLength)[sweepAxis] / 65533;
- Simd4f one = gSimd4fOne;
- Simd4f gridSize = simd4f(254.0f);
+ T4f one = gSimd4fOne;
+ T4f gridSize = simd4f(254.0f);
array(gridSize)[sweepAxis] = 65534.0f;
- Simd4f gridScale = recip<1>(cellSize);
- Simd4f gridBias = -lowerBound * gridScale + one;
+ T4f gridScale = recip<1>(cellSize);
+ T4f gridBias = -lowerBound * gridScale + one;
void* buffer = mAllocator.allocate(getBufferSize(mNumParticles));
@@ -430,13 +439,13 @@ void cloth::SwInterCollision<Simd4f>::operator()()
uint32_t* __restrict sortedKeys = sortedIndices + mNumParticles;
uint32_t* __restrict keys = std::max(sortedKeys + mNumParticles, sortedIndices + 2 * mNumParticles + 1024);
- typedef typename Simd4fToSimd4i<Simd4f>::Type Simd4i;
+ typedef typename Simd4fToSimd4i<T4f>::Type Simd4i;
// create keys
for (uint32_t i = 0; i < mNumParticles; ++i)
{
// grid coordinate
- Simd4f indexf = getParticle(i) * gridScale + gridBias;
+ T4f indexf = getParticle(i) * gridScale + gridBias;
// need to clamp index because shape collision potentially
// pushes particles outside of their original bounds
@@ -486,7 +495,7 @@ void cloth::SwInterCollision<Simd4f>::operator()()
{
NV_CLOTH_PROFILE_ZONE("cloth::SwInterCollision::PostTransform", /*ProfileContext::None*/ 0);
- Simd4f toLocal[4], impulseScale;
+ T4f toLocal[4], impulseScale;
uint16_t lastCloth = uint16_t(0xffff);
for (uint32_t i = 0; i < mNumParticles; ++i)
@@ -510,12 +519,12 @@ void cloth::SwInterCollision<Simd4f>::operator()()
}
uint32_t particleIndex = mParticleIndices[i];
- Simd4f& particle = reinterpret_cast<Simd4f&>(instance->mParticles[particleIndex]);
- Simd4f& impulse = reinterpret_cast<Simd4f&>(instance->mPrevParticles[particleIndex]);
+ T4f& particle = reinterpret_cast<T4f&>(instance->mParticles[particleIndex]);
+ T4f& impulse = reinterpret_cast<T4f&>(instance->mPrevParticles[particleIndex]);
particle = transform(toLocal, particle);
// avoid w becoming negative due to numerical inaccuracies
- impulse = max(sZeroW, particle - rotate(toLocal, Simd4f(impulse * impulseScale)));
+ impulse = max(sZeroW, particle - rotate(toLocal, T4f(impulse * impulseScale)));
}
}
}
@@ -525,15 +534,15 @@ void cloth::SwInterCollision<Simd4f>::operator()()
mAllocator.deallocate(mClothIndices);
}
-template <typename Simd4f>
-size_t cloth::SwInterCollision<Simd4f>::estimateTemporaryMemory(SwInterCollisionData* cloths, uint32_t n)
+template <typename T4f>
+size_t cloth::SwInterCollision<T4f>::estimateTemporaryMemory(SwInterCollisionData* cloths, uint32_t n)
{
// count total particles
uint32_t numParticles = 0;
for (uint32_t i = 0; i < n; ++i)
numParticles += cloths[i].mNumParticles;
- uint32_t boundsSize = 2 * n * sizeof(BoundingBox<Simd4f>) + n * sizeof(uint32_t);
+ uint32_t boundsSize = 2 * n * sizeof(BoundingBox<T4f>) + n * sizeof(uint32_t);
uint32_t clothIndicesSize = numParticles * sizeof(uint16_t);
uint32_t particleIndicesSize = numParticles * sizeof(uint32_t);
uint32_t masksSize = n * sizeof(uint32_t);
@@ -541,8 +550,8 @@ size_t cloth::SwInterCollision<Simd4f>::estimateTemporaryMemory(SwInterCollision
return boundsSize + clothIndicesSize + particleIndicesSize + masksSize + getBufferSize(numParticles);
}
-template <typename Simd4f>
-size_t cloth::SwInterCollision<Simd4f>::getBufferSize(uint32_t numParticles)
+template <typename T4f>
+size_t cloth::SwInterCollision<T4f>::getBufferSize(uint32_t numParticles)
{
uint32_t keysSize = numParticles * sizeof(uint32_t);
uint32_t indicesSize = numParticles * sizeof(uint32_t);
@@ -551,8 +560,8 @@ size_t cloth::SwInterCollision<Simd4f>::getBufferSize(uint32_t numParticles)
return keysSize + indicesSize + std::max(indicesSize + histogramSize, keysSize);
}
-template <typename Simd4f>
-void cloth::SwInterCollision<Simd4f>::collideParticle(uint32_t index)
+template <typename T4f>
+void cloth::SwInterCollision<T4f>::collideParticle(uint32_t index)
{
uint16_t clothIndex = mClothIndices[index];
@@ -562,10 +571,10 @@ void cloth::SwInterCollision<Simd4f>::collideParticle(uint32_t index)
const SwInterCollisionData* instance = mInstances + clothIndex;
uint32_t particleIndex = mParticleIndices[index];
- Simd4f& particle = reinterpret_cast<Simd4f&>(instance->mParticles[particleIndex]);
+ T4f& particle = reinterpret_cast<T4f&>(instance->mParticles[particleIndex]);
- Simd4f diff = particle - mParticle;
- Simd4f distSqr = dot3(diff, diff);
+ T4f diff = particle - mParticle;
+ T4f distSqr = dot3(diff, diff);
#if PX_DEBUG
++mNumTests;
@@ -574,17 +583,17 @@ void cloth::SwInterCollision<Simd4f>::collideParticle(uint32_t index)
if (allGreater(distSqr, mCollisionSquareDistance))
return;
- Simd4f w0 = splat<3>(mParticle);
- Simd4f w1 = splat<3>(particle);
+ T4f w0 = splat<3>(mParticle);
+ T4f w1 = splat<3>(particle);
- Simd4f ratio = mCollisionDistance * rsqrt<1>(distSqr);
- Simd4f scale = mStiffness * recip<1>(sEpsilon + w0 + w1);
- Simd4f delta = (scale * (diff - diff * ratio)) & sMaskXYZ;
+ T4f ratio = mCollisionDistance * rsqrt<1>(distSqr);
+ T4f scale = mStiffness * recip<1>(sEpsilon + w0 + w1);
+ T4f delta = (scale * (diff - diff * ratio)) & sMaskXYZ;
mParticle = mParticle + delta * w0;
particle = particle - delta * w1;
- Simd4f& impulse = reinterpret_cast<Simd4f&>(instance->mPrevParticles[particleIndex]);
+ T4f& impulse = reinterpret_cast<T4f&>(instance->mPrevParticles[particleIndex]);
mImpulse = mImpulse + delta * w0;
impulse = impulse - delta * w1;
@@ -594,8 +603,8 @@ void cloth::SwInterCollision<Simd4f>::collideParticle(uint32_t index)
#endif
}
-template <typename Simd4f>
-void cloth::SwInterCollision<Simd4f>::collideParticles(const uint32_t* keys, uint32_t firstColumnSize,
+template <typename T4f>
+void cloth::SwInterCollision<T4f>::collideParticles(const uint32_t* keys, uint32_t firstColumnSize,
const uint32_t* indices, uint32_t numParticles,
uint32_t collisionDistance)
{
@@ -653,8 +662,8 @@ void cloth::SwInterCollision<Simd4f>::collideParticles(const uint32_t* keys, uin
const SwInterCollisionData* instance = mInstances + mClothIndex;
mParticleIndex = mParticleIndices[index];
- mParticle = reinterpret_cast<const Simd4f&>(instance->mParticles[mParticleIndex]);
- mImpulse = reinterpret_cast<const Simd4f&>(instance->mPrevParticles[mParticleIndex]);
+ mParticle = reinterpret_cast<const T4f&>(instance->mParticles[mParticleIndex]);
+ mImpulse = reinterpret_cast<const T4f&>(instance->mPrevParticles[mParticleIndex]);
uint32_t key = *kFirst[0];
@@ -689,8 +698,8 @@ void cloth::SwInterCollision<Simd4f>::collideParticles(const uint32_t* keys, uin
}
// write back particle and impulse
- reinterpret_cast<Simd4f&>(instance->mParticles[mParticleIndex]) = mParticle;
- reinterpret_cast<Simd4f&>(instance->mPrevParticles[mParticleIndex]) = mImpulse;
+ reinterpret_cast<T4f&>(instance->mParticles[mParticleIndex]) = mParticle;
+ reinterpret_cast<T4f&>(instance->mPrevParticles[mParticleIndex]) = mImpulse;
}
}
diff --git a/NvCloth/src/SwInterCollision.h b/NvCloth/src/SwInterCollision.h
index 656fbbc..f57fe6c 100644
--- a/NvCloth/src/SwInterCollision.h
+++ b/NvCloth/src/SwInterCollision.h
@@ -78,7 +78,7 @@ struct SwInterCollisionData
void* mUserData;
};
-template <typename Simd4f>
+template <typename T4f>
class SwInterCollision
{
@@ -100,17 +100,17 @@ class SwInterCollision
void collideParticles(const uint32_t* keys, uint32_t firstColumnSize, const uint32_t* sortedIndices,
uint32_t numParticles, uint32_t collisionDistance);
- Simd4f& getParticle(uint32_t index);
+ T4f& getParticle(uint32_t index);
// better wrap these in a struct
void collideParticle(uint32_t index);
- Simd4f mParticle;
- Simd4f mImpulse;
+ T4f mParticle;
+ T4f mImpulse;
- Simd4f mCollisionDistance;
- Simd4f mCollisionSquareDistance;
- Simd4f mStiffness;
+ T4f mCollisionDistance;
+ T4f mCollisionSquareDistance;
+ T4f mStiffness;
uint16_t mClothIndex;
uint32_t mClothMask;
@@ -137,6 +137,15 @@ class SwInterCollision
mutable uint32_t mNumCollisions;
};
+
+//explicit template instantiation declaration
+#if NV_SIMD_SIMD
+extern template class SwInterCollision<Simd4f>;
+#endif
+#if NV_SIMD_SCALAR
+extern template class SwInterCollision<Scalar4f>;
+#endif
+
} // namespace cloth
} // namespace nv
diff --git a/NvCloth/src/SwSelfCollision.cpp b/NvCloth/src/SwSelfCollision.cpp
index 6b3e267..095943d 100644
--- a/NvCloth/src/SwSelfCollision.cpp
+++ b/NvCloth/src/SwSelfCollision.cpp
@@ -68,16 +68,16 @@ void radixSort(const uint32_t* first, const uint32_t* last, uint16_t* out)
for (uint32_t i = 0; i < 256; ++i)
{
uint16_t temp0 = uint16_t(histograms[0][i] + sums[0]);
- histograms[0][i] = sums[0], sums[0] = temp0;
+ histograms[0][i] = sums[0]; sums[0] = temp0;
uint16_t temp1 = uint16_t(histograms[1][i] + sums[1]);
- histograms[1][i] = sums[1], sums[1] = temp1;
+ histograms[1][i] = sums[1]; sums[1] = temp1;
uint16_t temp2 = uint16_t(histograms[2][i] + sums[2]);
- histograms[2][i] = sums[2], sums[2] = temp2;
+ histograms[2][i] = sums[2]; sums[2] = temp2;
uint16_t temp3 = uint16_t(histograms[3][i] + sums[3]);
- histograms[3][i] = sums[3], sums[3] = temp3;
+ histograms[3][i] = sums[3]; sums[3] = temp3;
}
NV_CLOTH_ASSERT(sums[0] == n && sums[1] == n && sums[2] == n && sums[3] == n);
@@ -93,18 +93,27 @@ void radixSort(const uint32_t* first, const uint32_t* last, uint16_t* out)
for (uint16_t i = 0; i != n; ++i)
indices[1][histograms[0][0xff & first[i]]++] = i;
- for (uint16_t i = 0, index; index = indices[1][i], i != n; ++i)
+ for (uint16_t i = 0, index; i != n; ++i)
+ {
+ index = indices[1][i];
indices[0][histograms[1][0xff & (first[index] >> 8)]++] = index;
+ }
- for (uint16_t i = 0, index; index = indices[0][i], i != n; ++i)
+ for (uint16_t i = 0, index; i != n; ++i)
+ {
+ index = indices[0][i];
indices[1][histograms[2][0xff & (first[index] >> 16)]++] = index;
-
- for (uint16_t i = 0, index; index = indices[1][i], i != n; ++i)
+
+ }
+ for (uint16_t i = 0, index; i != n; ++i)
+ {
+ index = indices[1][i];
indices[0][histograms[3][first[index] >> 24]++] = index;
+ }
}
-template <typename Simd4f>
-uint32_t longestAxis(const Simd4f& edgeLength)
+template <typename T4f>
+uint32_t longestAxis(const T4f& edgeLength)
{
const float* e = array(edgeLength);
@@ -131,30 +140,30 @@ inline uint32_t align2(uint32_t x)
} // anonymous namespace
-template <typename Simd4f>
-cloth::SwSelfCollision<Simd4f>::SwSelfCollision(cloth::SwClothData& clothData, cloth::SwKernelAllocator& alloc)
+template <typename T4f>
+cloth::SwSelfCollision<T4f>::SwSelfCollision(cloth::SwClothData& clothData, cloth::SwKernelAllocator& alloc)
: mClothData(clothData), mAllocator(alloc)
{
mCollisionDistance = simd4f(mClothData.mSelfCollisionDistance);
mCollisionSquareDistance = mCollisionDistance * mCollisionDistance;
- mStiffness = sMaskXYZ & static_cast<Simd4f>(simd4f(mClothData.mSelfCollisionStiffness));
+ mStiffness = sMaskXYZ & static_cast<T4f>(simd4f(mClothData.mSelfCollisionStiffness));
}
-template <typename Simd4f>
-cloth::SwSelfCollision<Simd4f>::~SwSelfCollision()
+template <typename T4f>
+cloth::SwSelfCollision<T4f>::~SwSelfCollision()
{
}
-template <typename Simd4f>
-void cloth::SwSelfCollision<Simd4f>::operator()()
+template <typename T4f>
+void cloth::SwSelfCollision<T4f>::operator()()
{
mNumTests = mNumCollisions = 0;
if (!isSelfCollisionEnabled(mClothData))
return;
- Simd4f lowerBound = load(mClothData.mCurBounds);
- Simd4f edgeLength = max(load(mClothData.mCurBounds + 3) - lowerBound, gSimd4fEpsilon);
+ T4f lowerBound = load(mClothData.mCurBounds);
+ T4f edgeLength = max(load(mClothData.mCurBounds + 3) - lowerBound, gSimd4fEpsilon);
// sweep along longest axis
uint32_t sweepAxis = longestAxis(edgeLength);
@@ -162,15 +171,15 @@ void cloth::SwSelfCollision<Simd4f>::operator()()
uint32_t hashAxis1 = (sweepAxis + 2) % 3;
// reserve 0, 127, and 65535 for sentinel
- Simd4f cellSize = max(mCollisionDistance, simd4f(1.0f / 253) * edgeLength);
+ T4f cellSize = max(mCollisionDistance, simd4f(1.0f / 253) * edgeLength);
array(cellSize)[sweepAxis] = array(edgeLength)[sweepAxis] / 65533;
- Simd4f one = gSimd4fOne;
- Simd4f gridSize = simd4f(254.0f);
+ T4f one = gSimd4fOne;
+ T4f gridSize = simd4f(254.0f);
array(gridSize)[sweepAxis] = 65534.0f;
- Simd4f gridScale = recip<1>(cellSize);
- Simd4f gridBias = -lowerBound * gridScale + one;
+ T4f gridScale = recip<1>(cellSize);
+ T4f gridBias = -lowerBound * gridScale + one;
uint32_t numIndices = mClothData.mNumSelfCollisionIndices;
void* buffer = mAllocator.allocate(getBufferSize(numIndices));
@@ -180,7 +189,7 @@ void cloth::SwSelfCollision<Simd4f>::operator()()
uint16_t* __restrict sortedIndices = reinterpret_cast<uint16_t*>(keys + numIndices);
uint32_t* __restrict sortedKeys = reinterpret_cast<uint32_t*>(sortedIndices + align2(numIndices));
- const Simd4f* particles = reinterpret_cast<const Simd4f*>(mClothData.mCurParticles);
+ const T4f* particles = reinterpret_cast<const T4f*>(mClothData.mCurParticles);
// create keys
for (uint32_t i = 0; i < numIndices; ++i)
@@ -188,7 +197,7 @@ void cloth::SwSelfCollision<Simd4f>::operator()()
uint32_t index = indices ? indices[i] : i;
// grid coordinate
- Simd4f keyf = particles[index] * gridScale + gridBias;
+ T4f keyf = particles[index] * gridScale + gridBias;
// need to clamp index because shape collision potentially
// pushes particles outside of their original bounds
@@ -235,8 +244,8 @@ void cloth::SwSelfCollision<Simd4f>::operator()()
uint32_t numCollisions = mNumCollisions;
mNumCollisions = 0;
- Simd4f* qarticles = reinterpret_cast<
- Simd4f*>(mClothData.mCurParticles);
+ T4f* qarticles = reinterpret_cast<
+ T4f*>(mClothData.mCurParticles);
for (uint32_t i = 0; i < numIndices; ++i)
{
uint32_t indexI = indices ? indices[i] : i;
@@ -253,16 +262,16 @@ void cloth::SwSelfCollision<Simd4f>::operator()()
*/
}
-template <typename Simd4f>
-size_t cloth::SwSelfCollision<Simd4f>::estimateTemporaryMemory(const SwCloth& cloth)
+template <typename T4f>
+size_t cloth::SwSelfCollision<T4f>::estimateTemporaryMemory(const SwCloth& cloth)
{
uint32_t numIndices =
uint32_t(cloth.mSelfCollisionIndices.empty() ? cloth.mCurParticles.size() : cloth.mSelfCollisionIndices.size());
return isSelfCollisionEnabled(cloth) ? getBufferSize(numIndices) : 0;
}
-template <typename Simd4f>
-size_t cloth::SwSelfCollision<Simd4f>::getBufferSize(uint32_t numIndices)
+template <typename T4f>
+size_t cloth::SwSelfCollision<T4f>::getBufferSize(uint32_t numIndices)
{
uint32_t keysSize = numIndices * sizeof(uint32_t);
uint32_t indicesSize = align2(numIndices) * sizeof(uint16_t);
@@ -270,13 +279,13 @@ size_t cloth::SwSelfCollision<Simd4f>::getBufferSize(uint32_t numIndices)
return keysSize + indicesSize + std::max(radixSize, keysSize + uint32_t(sizeof(uint32_t)));
}
-template <typename Simd4f>
+template <typename T4f>
template <bool useRestParticles>
-void cloth::SwSelfCollision<Simd4f>::collideParticles(Simd4f& pos0, Simd4f& pos1, const Simd4f& pos0rest,
- const Simd4f& pos1rest)
+void cloth::SwSelfCollision<T4f>::collideParticles(T4f& pos0, T4f& pos1, const T4f& pos0rest,
+ const T4f& pos1rest)
{
- Simd4f diff = pos1 - pos0;
- Simd4f distSqr = dot3(diff, diff);
+ T4f diff = pos1 - pos0;
+ T4f distSqr = dot3(diff, diff);
#if PX_DEBUG
++mNumTests;
@@ -289,19 +298,19 @@ void cloth::SwSelfCollision<Simd4f>::collideParticles(Simd4f& pos0, Simd4f& pos1
{
// calculate distance in rest configuration, if less than collision
// distance then ignore collision between particles in deformed config
- Simd4f restDiff = pos1rest - pos0rest;
- Simd4f restDistSqr = dot3(restDiff, restDiff);
+ T4f restDiff = pos1rest - pos0rest;
+ T4f restDistSqr = dot3(restDiff, restDiff);
if (allGreater(mCollisionSquareDistance, restDistSqr))
return;
}
- Simd4f w0 = splat<3>(pos0);
- Simd4f w1 = splat<3>(pos1);
+ T4f w0 = splat<3>(pos0);
+ T4f w1 = splat<3>(pos1);
- Simd4f ratio = mCollisionDistance * rsqrt(distSqr);
- Simd4f scale = mStiffness * recip(gSimd4fEpsilon + w0 + w1);
- Simd4f delta = (scale * (diff - diff * ratio)) & sMaskXYZ;
+ T4f ratio = mCollisionDistance * rsqrt(distSqr);
+ T4f scale = mStiffness * recip(gSimd4fEpsilon + w0 + w1);
+ T4f delta = (scale * (diff - diff * ratio)) & sMaskXYZ;
pos0 = pos0 + delta * w0;
pos1 = pos1 - delta * w1;
@@ -311,14 +320,14 @@ void cloth::SwSelfCollision<Simd4f>::collideParticles(Simd4f& pos0, Simd4f& pos1
#endif
}
-template <typename Simd4f>
+template <typename T4f>
template <bool useRestParticles>
-void cloth::SwSelfCollision<Simd4f>::collideParticles(const uint32_t* keys, uint16_t firstColumnSize,
+void cloth::SwSelfCollision<T4f>::collideParticles(const uint32_t* keys, uint16_t firstColumnSize,
const uint16_t* indices, uint32_t collisionDistance)
{
- Simd4f* __restrict particles = reinterpret_cast<Simd4f*>(mClothData.mCurParticles);
- Simd4f* __restrict restParticles =
- useRestParticles ? reinterpret_cast<Simd4f*>(mClothData.mRestPositions) : particles;
+ T4f* __restrict particles = reinterpret_cast<T4f*>(mClothData.mCurParticles);
+ T4f* __restrict restParticles =
+ useRestParticles ? reinterpret_cast<T4f*>(mClothData.mRestPositions) : particles;
const uint32_t bucketMask = uint16_t(-1);
@@ -367,8 +376,8 @@ void cloth::SwSelfCollision<Simd4f>::collideParticles(const uint32_t* keys, uint
NV_CLOTH_ASSERT(*iIt < mClothData.mNumParticles);
// load current particle once outside of inner loop
- Simd4f particle = particles[*iIt];
- Simd4f restParticle = restParticles[*iIt];
+ T4f particle = particles[*iIt];
+ T4f restParticle = restParticles[*iIt];
uint32_t key = *kFirst[0];
diff --git a/NvCloth/src/SwSelfCollision.h b/NvCloth/src/SwSelfCollision.h
index 0348e29..cd665b6 100644
--- a/NvCloth/src/SwSelfCollision.h
+++ b/NvCloth/src/SwSelfCollision.h
@@ -43,10 +43,10 @@ struct SwClothData;
typedef StackAllocator<16> SwKernelAllocator;
-template <typename Simd4f>
+template <typename T4f>
class SwSelfCollision
{
- typedef typename Simd4fToSimd4i<Simd4f>::Type Simd4i;
+ typedef typename Simd4fToSimd4i<T4f>::Type Simd4i;
public:
SwSelfCollision(SwClothData& clothData, SwKernelAllocator& alloc);
@@ -61,14 +61,14 @@ class SwSelfCollision
static size_t getBufferSize(uint32_t);
template <bool useRestParticles>
- void collideParticles(Simd4f&, Simd4f&, const Simd4f&, const Simd4f&);
+ void collideParticles(T4f&, T4f&, const T4f&, const T4f&);
template <bool useRestParticles>
void collideParticles(const uint32_t*, uint16_t, const uint16_t*, uint32_t);
- Simd4f mCollisionDistance;
- Simd4f mCollisionSquareDistance;
- Simd4f mStiffness;
+ T4f mCollisionDistance;
+ T4f mCollisionSquareDistance;
+ T4f mStiffness;
SwClothData& mClothData;
SwKernelAllocator& mAllocator;
@@ -78,6 +78,15 @@ class SwSelfCollision
mutable uint32_t mNumCollisions;
};
+//explicit template instantiation declaration
+#if NV_SIMD_SIMD
+extern template class SwSelfCollision<Simd4f>;
+#endif
+#if NV_SIMD_SCALAR
+extern template class SwSelfCollision<Scalar4f>;
+#endif
+
+
} // namespace cloth
} // namespace nv
diff --git a/NvCloth/src/SwSolver.cpp b/NvCloth/src/SwSolver.cpp
index c83eed8..c7437e1 100644
--- a/NvCloth/src/SwSolver.cpp
+++ b/NvCloth/src/SwSolver.cpp
@@ -93,29 +93,57 @@ void sortTasks(shdfnd::Array<T, cloth::NonTrackingAllocator>& tasks)
void cloth::SwSolver::addCloth(Cloth* cloth)
{
- SwCloth& swCloth = static_cast<SwClothImpl&>(*cloth).mCloth;
+ SwCloth& swCloth = *static_cast<SwCloth*>(cloth);
mSimulatedCloths.pushBack(SimulatedCloth(swCloth, this));
sortTasks(mSimulatedCloths);
+
+ mCloths.pushBack(&swCloth);
}
void cloth::SwSolver::removeCloth(Cloth* cloth)
{
- SwCloth& swCloth = static_cast<SwClothImpl&>(*cloth).mCloth;
+ SwCloth& swCloth = *static_cast<SwCloth*>(cloth);
- Vector<SimulatedCloth>::Type::Iterator tIt = mSimulatedCloths.begin();
- Vector<SimulatedCloth>::Type::Iterator tEnd = mSimulatedCloths.end();
- while (tIt != tEnd && tIt->mCloth != &swCloth)
- ++tIt;
+ //Remove from mSimulatedCloths
+ {
+ Vector<SimulatedCloth>::Type::Iterator tIt = mSimulatedCloths.begin();
+ Vector<SimulatedCloth>::Type::Iterator tEnd = mSimulatedCloths.end();
+ while(tIt != tEnd && tIt->mCloth != &swCloth)
+ ++tIt;
+
+ if(tIt != tEnd)
+ {
+ NV_CLOTH_FREE(tIt->mScratchMemory);
+ mSimulatedCloths.replaceWithLast(tIt);
+ sortTasks(mSimulatedCloths);
+ }
+ }
- if (tIt != tEnd)
+ //Remove from mCloths
{
- NV_CLOTH_FREE(tIt->mScratchMemory);
- mSimulatedCloths.replaceWithLast(tIt);
- sortTasks(mSimulatedCloths);
+ ClothVector::Iterator tEnd = mCloths.end();
+ ClothVector::Iterator it = mCloths.find(&swCloth);
+
+ if(it != tEnd)
+ {
+ mCloths.replaceWithLast(it);
+ }
}
}
+int cloth::SwSolver::getNumCloths() const
+{
+ return mCloths.size();
+}
+cloth::Cloth * const * cloth::SwSolver::getClothList() const
+{
+ if(getNumCloths())
+ return reinterpret_cast<Cloth* const*>(&mCloths[0]);
+ else
+ return nullptr;
+}
+
bool cloth::SwSolver::beginSimulation(float dt)
{
if (mSimulatedCloths.empty())
diff --git a/NvCloth/src/SwSolver.h b/NvCloth/src/SwSolver.h
index 0c503ac..c7b177b 100644
--- a/NvCloth/src/SwSolver.h
+++ b/NvCloth/src/SwSolver.h
@@ -65,6 +65,8 @@ class SwSolver : public Solver
virtual void addCloth(Cloth*) override;
virtual void removeCloth(Cloth*) override;
+ virtual int getNumCloths() const override;
+ virtual Cloth * const * getClothList() const override;
// functions executing the simulation work.
virtual bool beginSimulation(float dt) override;
@@ -117,6 +119,8 @@ class SwSolver : public Solver
private:
Vector<SimulatedCloth>::Type mSimulatedCloths;
+ typedef Vector<SwCloth*>::Type ClothVector;
+ ClothVector mCloths;
float mInterCollisionDistance;
diff --git a/NvCloth/src/SwSolverKernel.cpp b/NvCloth/src/SwSolverKernel.cpp
index f53c9ab..52dfdaa 100644
--- a/NvCloth/src/SwSolverKernel.cpp
+++ b/NvCloth/src/SwSolverKernel.cpp
@@ -124,55 +124,55 @@ const Simd4fTupleFactory sMinusFloatMaxXYZ = simd4f(-FLT_MAX, -FLT_MAX, -FLT_MAX
The g * dt * dt term is folded into accelIt.
*/
-template <typename Simd4f, typename AccelerationIterator>
-void integrateParticles(Simd4f* __restrict curIt, Simd4f* __restrict curEnd, Simd4f* __restrict prevIt,
- const Simd4f& scale, const AccelerationIterator& aIt, const Simd4f& prevBias)
+template <typename T4f, typename AccelerationIterator>
+void integrateParticles(T4f* __restrict curIt, T4f* __restrict curEnd, T4f* __restrict prevIt,
+ const T4f& scale, const AccelerationIterator& aIt, const T4f& prevBias)
{
// local copy to avoid LHS
AccelerationIterator accelIt(aIt);
for (; curIt != curEnd; ++curIt, ++prevIt, ++accelIt)
{
- Simd4f current = *curIt;
- Simd4f previous = *prevIt;
+ T4f current = *curIt;
+ T4f previous = *prevIt;
// if (current.w == 0) current.w = previous.w
current = select(current > sMinusFloatMaxXYZ, current, previous);
- Simd4f finiteMass = splat<3>(previous) > sFloatMaxW;
- Simd4f delta = (current - previous) * scale + *accelIt;
+ T4f finiteMass = splat<3>(previous) > sFloatMaxW;
+ T4f delta = (current - previous) * scale + *accelIt;
*curIt = current + (delta & finiteMass);
*prevIt = select(sMaskW, previous, current) + (prevBias & finiteMass);
}
}
-template <typename Simd4f, typename AccelerationIterator>
-void integrateParticles(Simd4f* __restrict curIt, Simd4f* __restrict curEnd, Simd4f* __restrict prevIt,
- const Simd4f (&prevMatrix)[3], const Simd4f (&curMatrix)[3], const AccelerationIterator& aIt,
- const Simd4f& prevBias)
+template <typename T4f, typename AccelerationIterator>
+void integrateParticles(T4f* __restrict curIt, T4f* __restrict curEnd, T4f* __restrict prevIt,
+ const T4f (&prevMatrix)[3], const T4f (&curMatrix)[3], const AccelerationIterator& aIt,
+ const T4f& prevBias)
{
// local copy to avoid LHS
AccelerationIterator accelIt(aIt);
for (; curIt != curEnd; ++curIt, ++prevIt, ++accelIt)
{
- Simd4f current = *curIt;
- Simd4f previous = *prevIt;
+ T4f current = *curIt;
+ T4f previous = *prevIt;
// if (current.w == 0) current.w = previous.w
current = select(current > sMinusFloatMaxXYZ, current, previous);
- Simd4f finiteMass = splat<3>(previous) > sFloatMaxW;
+ T4f finiteMass = splat<3>(previous) > sFloatMaxW;
// curMatrix * current + prevMatrix * previous + accel
- Simd4f delta = cloth::transform(curMatrix, cloth::transform(prevMatrix, *accelIt, previous), current);
+ T4f delta = cloth::transform(curMatrix, cloth::transform(prevMatrix, *accelIt, previous), current);
*curIt = current + (delta & finiteMass);
*prevIt = select(sMaskW, previous, current) + (prevBias & finiteMass);
}
}
-template <typename Simd4f, typename ConstraintIterator>
-void constrainMotion(Simd4f* __restrict curIt, const Simd4f* __restrict curEnd, const ConstraintIterator& spheres,
- const Simd4f& scaleBiasStiffness)
+template <typename T4f, typename ConstraintIterator>
+void constrainMotion(T4f* __restrict curIt, const T4f* __restrict curEnd, const ConstraintIterator& spheres,
+ const T4f& scaleBiasStiffness)
{
- Simd4f scale = splat<0>(scaleBiasStiffness);
- Simd4f bias = splat<1>(scaleBiasStiffness);
- Simd4f stiffness = splat<3>(scaleBiasStiffness);
+ T4f scale = splat<0>(scaleBiasStiffness);
+ T4f bias = splat<1>(scaleBiasStiffness);
+ T4f stiffness = splat<3>(scaleBiasStiffness);
// local copy of iterator to maintain alignment
ConstraintIterator sphIt = spheres;
@@ -180,33 +180,33 @@ void constrainMotion(Simd4f* __restrict curIt, const Simd4f* __restrict curEnd,
for (; curIt < curEnd; curIt += 4)
{
// todo: use msub where available
- Simd4f curPos0 = curIt[0];
- Simd4f curPos1 = curIt[1];
- Simd4f curPos2 = curIt[2];
- Simd4f curPos3 = curIt[3];
+ T4f curPos0 = curIt[0];
+ T4f curPos1 = curIt[1];
+ T4f curPos2 = curIt[2];
+ T4f curPos3 = curIt[3];
//delta.xyz = sphereCenter - currentPosition
//delta.w = sphereRadius
- Simd4f delta0 = *sphIt - (sMaskXYZ & curPos0);
+ T4f delta0 = *sphIt - (sMaskXYZ & curPos0);
++sphIt;
- Simd4f delta1 = *sphIt - (sMaskXYZ & curPos1);
+ T4f delta1 = *sphIt - (sMaskXYZ & curPos1);
++sphIt;
- Simd4f delta2 = *sphIt - (sMaskXYZ & curPos2);
+ T4f delta2 = *sphIt - (sMaskXYZ & curPos2);
++sphIt;
- Simd4f delta3 = *sphIt - (sMaskXYZ & curPos3);
+ T4f delta3 = *sphIt - (sMaskXYZ & curPos3);
++sphIt;
- Simd4f deltaX = delta0, deltaY = delta1, deltaZ = delta2, deltaW = delta3;
+ T4f deltaX = delta0, deltaY = delta1, deltaZ = delta2, deltaW = delta3;
transpose(deltaX, deltaY, deltaZ, deltaW);
- Simd4f sqrLength = gSimd4fEpsilon + deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ;
- Simd4f radius = max(gSimd4fZero, deltaW * scale + bias);
+ T4f sqrLength = gSimd4fEpsilon + deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ;
+ T4f radius = max(gSimd4fZero, deltaW * scale + bias);
- Simd4f slack = gSimd4fOne - radius * rsqrt(sqrLength);
+ T4f slack = gSimd4fOne - radius * rsqrt(sqrLength);
// if slack <= 0.0f then we don't want to affect particle
// and can skip if all particles are unaffected
- Simd4f isPositive;
+ T4f isPositive;
if (anyGreater(slack, gSimd4fZero, isPositive))
{
// set invMass to zero if radius is zero
@@ -225,8 +225,8 @@ void constrainMotion(Simd4f* __restrict curIt, const Simd4f* __restrict curEnd,
}
}
-template <typename Simd4f, typename ConstraintIterator>
-void constrainSeparation(Simd4f* __restrict curIt, const Simd4f* __restrict curEnd, const ConstraintIterator& spheres)
+template <typename T4f, typename ConstraintIterator>
+void constrainSeparation(T4f* __restrict curIt, const T4f* __restrict curEnd, const ConstraintIterator& spheres)
{
// local copy of iterator to maintain alignment
ConstraintIterator sphIt = spheres;
@@ -234,32 +234,32 @@ void constrainSeparation(Simd4f* __restrict curIt, const Simd4f* __restrict curE
for (; curIt < curEnd; curIt += 4)
{
// todo: use msub where available
- Simd4f curPos0 = curIt[0];
- Simd4f curPos1 = curIt[1];
- Simd4f curPos2 = curIt[2];
- Simd4f curPos3 = curIt[3];
+ T4f curPos0 = curIt[0];
+ T4f curPos1 = curIt[1];
+ T4f curPos2 = curIt[2];
+ T4f curPos3 = curIt[3];
//delta.xyz = sphereCenter - currentPosition
//delta.w = sphereRadius
- Simd4f delta0 = *sphIt - (sMaskXYZ & curPos0);
+ T4f delta0 = *sphIt - (sMaskXYZ & curPos0);
++sphIt;
- Simd4f delta1 = *sphIt - (sMaskXYZ & curPos1);
+ T4f delta1 = *sphIt - (sMaskXYZ & curPos1);
++sphIt;
- Simd4f delta2 = *sphIt - (sMaskXYZ & curPos2);
+ T4f delta2 = *sphIt - (sMaskXYZ & curPos2);
++sphIt;
- Simd4f delta3 = *sphIt - (sMaskXYZ & curPos3);
+ T4f delta3 = *sphIt - (sMaskXYZ & curPos3);
++sphIt;
- Simd4f deltaX = delta0, deltaY = delta1, deltaZ = delta2, deltaW = delta3;
+ T4f deltaX = delta0, deltaY = delta1, deltaZ = delta2, deltaW = delta3;
transpose(deltaX, deltaY, deltaZ, deltaW);
- Simd4f sqrLength = gSimd4fEpsilon + deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ;
+ T4f sqrLength = gSimd4fEpsilon + deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ;
- Simd4f slack = gSimd4fOne - deltaW * rsqrt<1>(sqrLength);
+ T4f slack = gSimd4fOne - deltaW * rsqrt<1>(sqrLength);
// if slack >= 0.0f then we don't want to affect particle
// and can skip if all particles are unaffected
- Simd4f isNegative;
+ T4f isNegative;
if (anyGreater(gSimd4fZero, slack, isNegative))
{
slack = slack & isNegative;
@@ -275,22 +275,22 @@ void constrainSeparation(Simd4f* __restrict curIt, const Simd4f* __restrict curE
/**
traditional gauss-seidel internal constraint solver
*/
-template <bool useMultiplier, typename Simd4f>
+template <bool useMultiplier, typename T4f>
void solveConstraints(float* __restrict posIt, const float* __restrict rIt, const float* __restrict stIt, const float* __restrict rEnd,
- const uint16_t* __restrict iIt, const Simd4f& stiffnessEtc, const Simd4f& stiffnessExponent)
+ const uint16_t* __restrict iIt, const T4f& stiffnessEtc, const T4f& stiffnessExponent)
{
//posIt particle position (and invMass) iterator
//rIt,rEnd edge rest length iterator
//iIt index set iterator
- Simd4f stretchLimit, compressionLimit, multiplier;
+ T4f stretchLimit, compressionLimit, multiplier;
if (useMultiplier)
{
stretchLimit = splat<3>(stiffnessEtc);
compressionLimit = splat<2>(stiffnessEtc);
multiplier = splat<1>(stiffnessEtc);
}
- Simd4f stiffness = splat<0>(stiffnessEtc);
+ T4f stiffness = splat<0>(stiffnessEtc);
bool useStiffnessPerConstraint = stIt!=nullptr;
for (; rIt != rEnd; rIt += 4, stIt += 4, iIt += 8)
@@ -307,39 +307,39 @@ void solveConstraints(float* __restrict posIt, const float* __restrict rIt, cons
//Load particle positions
//v.w = invMass
- Simd4f v0i = loadAligned(posIt, p0i);
- Simd4f v0j = loadAligned(posIt, p0j);
- Simd4f v1i = loadAligned(posIt, p1i);
- Simd4f v1j = loadAligned(posIt, p1j);
- Simd4f v2i = loadAligned(posIt, p2i);
- Simd4f v2j = loadAligned(posIt, p2j);
- Simd4f v3i = loadAligned(posIt, p3i);
- Simd4f v3j = loadAligned(posIt, p3j);
+ T4f v0i = loadAligned(posIt, p0i);
+ T4f v0j = loadAligned(posIt, p0j);
+ T4f v1i = loadAligned(posIt, p1i);
+ T4f v1j = loadAligned(posIt, p1j);
+ T4f v2i = loadAligned(posIt, p2i);
+ T4f v2j = loadAligned(posIt, p2j);
+ T4f v3i = loadAligned(posIt, p3i);
+ T4f v3j = loadAligned(posIt, p3j);
//offset.xyz = posB - posA
//offset.w = invMassB + invMassA
- Simd4f h0ij = v0j + v0i * sMinusOneXYZOneW;
- Simd4f h1ij = v1j + v1i * sMinusOneXYZOneW;
- Simd4f h2ij = v2j + v2i * sMinusOneXYZOneW;
- Simd4f h3ij = v3j + v3i * sMinusOneXYZOneW;
+ T4f h0ij = v0j + v0i * sMinusOneXYZOneW;
+ T4f h1ij = v1j + v1i * sMinusOneXYZOneW;
+ T4f h2ij = v2j + v2i * sMinusOneXYZOneW;
+ T4f h3ij = v3j + v3i * sMinusOneXYZOneW;
//h xyz = offset
//vw = invMass sum
- Simd4f hxij = h0ij, hyij = h1ij, hzij = h2ij, vwij = h3ij;
+ T4f hxij = h0ij, hyij = h1ij, hzij = h2ij, vwij = h3ij;
transpose(hxij, hyij, hzij, vwij);
//load rest lengths
- Simd4f rij = loadAligned(rIt);
+ T4f rij = loadAligned(rIt);
//Load/calculate the constraint stiffness
- Simd4f stij = useStiffnessPerConstraint ? gSimd4fOne - exp2(stiffnessExponent * static_cast<Simd4f>(loadAligned(stIt))) : stiffness;
+ T4f stij = useStiffnessPerConstraint ? gSimd4fOne - exp2(stiffnessExponent * static_cast<T4f>(loadAligned(stIt))) : stiffness;
//squared distance between particles: e2 = epsilon + |h|^2
- Simd4f e2ij = gSimd4fEpsilon + hxij * hxij + hyij * hyij + hzij * hzij;
+ T4f e2ij = gSimd4fEpsilon + hxij * hxij + hyij * hyij + hzij * hzij;
//slack: er = 1 - r / sqrt(e2)
// or er = 0 if rest length < epsilon
- Simd4f erij = (gSimd4fOne - rij * rsqrt(e2ij)) & (rij > gSimd4fEpsilon);
+ T4f erij = (gSimd4fOne - rij * rsqrt(e2ij)) & (rij > gSimd4fEpsilon);
if (useMultiplier)
{
@@ -347,7 +347,7 @@ void solveConstraints(float* __restrict posIt, const float* __restrict rIt, cons
}
//ex = er * stiffness / sqrt(epsilon + vw)
- Simd4f exij = erij * stij * recip(gSimd4fEpsilon + vwij);
+ T4f exij = erij * stij * recip(gSimd4fEpsilon + vwij);
//h = h * ex
h0ij = h0ij * splat<0>(exij) & sMaskXYZ;
@@ -372,22 +372,22 @@ void solveConstraints(float* __restrict posIt, const float* __restrict rIt, cons
#endif
// calculates upper bound of all position deltas
-template <typename Simd4f>
-Simd4f calculateMaxDelta(const Simd4f* prevIt, const Simd4f* curIt, const Simd4f* curEnd)
+template <typename T4f>
+T4f calculateMaxDelta(const T4f* prevIt, const T4f* curIt, const T4f* curEnd)
{
- Simd4f maxDelta = gSimd4fZero;
+ T4f maxDelta = gSimd4fZero;
for (; curIt < curEnd; ++curIt, ++prevIt)
maxDelta = max(maxDelta, abs(*curIt - *prevIt));
return maxDelta & sMaskXYZ;
}
-template <bool IsTurning, typename Simd4f>
-void applyWind(Simd4f* __restrict curIt, const Simd4f* __restrict prevIt, const uint16_t* __restrict tIt,
- const uint16_t* __restrict tEnd, Simd4f dragCoefficient, Simd4f liftCoefficient, Simd4f wind,
- const Simd4f (&rotation)[3])
+template <bool IsTurning, typename T4f>
+void applyWind(T4f* __restrict curIt, const T4f* __restrict prevIt, const uint16_t* __restrict tIt,
+ const uint16_t* __restrict tEnd, T4f dragCoefficient, T4f liftCoefficient, T4f wind,
+ const T4f (&rotation)[3])
{
- const Simd4f oneThird = simd4f(1.0f / 3.0f);
+ const T4f oneThird = simd4f(1.0f / 3.0f);
for (; tIt < tEnd; tIt += 3)
{
@@ -397,20 +397,20 @@ void applyWind(Simd4f* __restrict curIt, const Simd4f* __restrict prevIt, const
uint16_t i2 = tIt[2];
//Get the current particle positions
- Simd4f c0 = curIt[i0];
- Simd4f c1 = curIt[i1];
- Simd4f c2 = curIt[i2];
+ T4f c0 = curIt[i0];
+ T4f c1 = curIt[i1];
+ T4f c2 = curIt[i2];
//Previous positions
- Simd4f p0 = prevIt[i0];
- Simd4f p1 = prevIt[i1];
- Simd4f p2 = prevIt[i2];
+ T4f p0 = prevIt[i0];
+ T4f p1 = prevIt[i1];
+ T4f p2 = prevIt[i2];
- Simd4f current = oneThird * (c0 + c1 + c2);
- Simd4f previous = oneThird * (p0 + p1 + p2);
+ T4f current = oneThird * (c0 + c1 + c2);
+ T4f previous = oneThird * (p0 + p1 + p2);
//offset of the triangle center, including wind
- Simd4f delta = current - previous + wind;
+ T4f delta = current - previous + wind;
if (IsTurning)
{
@@ -420,26 +420,26 @@ void applyWind(Simd4f* __restrict curIt, const Simd4f* __restrict prevIt, const
}
//not normalized
- Simd4f normal = cross3(c2 - c0, c1 - c0);
+ T4f normal = cross3(c2 - c0, c1 - c0);
- Simd4f doubleArea = sqrt(dot3(normal, normal));
+ T4f doubleArea = sqrt(dot3(normal, normal));
- Simd4f invSqrScale = dot3(delta, delta);
- Simd4f isZero = invSqrScale < gSimd4fEpsilon;
- Simd4f scale = rsqrt(invSqrScale);
+ T4f invSqrScale = dot3(delta, delta);
+ T4f isZero = invSqrScale < gSimd4fEpsilon;
+ T4f scale = rsqrt(invSqrScale);
//scale 'normalizes' delta, doubleArea normalized normal
- Simd4f cosTheta = dot3(normal, delta) * scale / doubleArea;
- Simd4f sinTheta = sqrt(max(gSimd4fZero, gSimd4fOne - cosTheta * cosTheta));
+ T4f cosTheta = dot3(normal, delta) * scale / doubleArea;
+ T4f sinTheta = sqrt(max(gSimd4fZero, gSimd4fOne - cosTheta * cosTheta));
// orthogonal to delta, in delta-normal plane, same length as delta
- Simd4f liftDir = cross3(cross3(delta, normal), delta * scale);
+ T4f liftDir = cross3(cross3(delta, normal), delta * scale);
// sin(theta) * cos(theta) = 0.5 * sin(2 * theta)
- Simd4f lift = liftCoefficient * cosTheta * sinTheta * liftDir;
- Simd4f drag = dragCoefficient * abs(cosTheta) * doubleArea * delta; //dragCoefficient should compensate for double area
+ T4f lift = liftCoefficient * cosTheta * sinTheta * liftDir;
+ T4f drag = dragCoefficient * abs(cosTheta) * doubleArea * delta; //dragCoefficient should compensate for double area
- Simd4f impulse = (lift + drag) & ~isZero;
+ T4f impulse = (lift + drag) & ~isZero;
curIt[i0] = c0 - impulse * splat<3>(c0);
curIt[i1] = c1 - impulse * splat<3>(c1);
@@ -449,33 +449,33 @@ void applyWind(Simd4f* __restrict curIt, const Simd4f* __restrict prevIt, const
} // anonymous namespace
-template <typename Simd4f>
-cloth::SwSolverKernel<Simd4f>::SwSolverKernel(SwCloth const& cloth, SwClothData& clothData,
+template <typename T4f>
+cloth::SwSolverKernel<T4f>::SwSolverKernel(SwCloth const& cloth, SwClothData& clothData,
SwKernelAllocator& allocator, IterationStateFactory& factory)
: mCloth(cloth)
, mClothData(clothData)
, mAllocator(allocator)
, mCollision(clothData, allocator)
, mSelfCollision(clothData, allocator)
-, mState(factory.create<Simd4f>(cloth))
+, mState(factory.create<T4f>(cloth))
{
mClothData.verify();
}
-template <typename Simd4f>
-void cloth::SwSolverKernel<Simd4f>::operator()()
+template <typename T4f>
+void cloth::SwSolverKernel<T4f>::operator()()
{
simulateCloth();
}
-template <typename Simd4f>
-size_t cloth::SwSolverKernel<Simd4f>::estimateTemporaryMemory(const SwCloth& cloth)
+template <typename T4f>
+size_t cloth::SwSolverKernel<T4f>::estimateTemporaryMemory(const SwCloth& cloth)
{
- size_t collisionTempMemory = SwCollision<Simd4f>::estimateTemporaryMemory(cloth);
- size_t selfCollisionTempMemory = SwSelfCollision<Simd4f>::estimateTemporaryMemory(cloth);
+ size_t collisionTempMemory = SwCollision<T4f>::estimateTemporaryMemory(cloth);
+ size_t selfCollisionTempMemory = SwSelfCollision<T4f>::estimateTemporaryMemory(cloth);
size_t tempMemory = std::max(collisionTempMemory, selfCollisionTempMemory);
- size_t persistentMemory = SwCollision<Simd4f>::estimatePersistentMemory(cloth);
+ size_t persistentMemory = SwCollision<T4f>::estimatePersistentMemory(cloth);
// account for any allocator overhead (this could be exposed in the allocator)
size_t maxAllocs = 32;
@@ -485,13 +485,13 @@ size_t cloth::SwSolverKernel<Simd4f>::estimateTemporaryMemory(const SwCloth& clo
return maxAllocatorOverhead + persistentMemory + tempMemory;
}
-template <typename Simd4f>
+template <typename T4f>
template <typename AccelerationIterator>
-void cloth::SwSolverKernel<Simd4f>::integrateParticles(AccelerationIterator& accelIt, const Simd4f& prevBias)
+void cloth::SwSolverKernel<T4f>::integrateParticles(AccelerationIterator& accelIt, const T4f& prevBias)
{
- Simd4f* curIt = reinterpret_cast<Simd4f*>(mClothData.mCurParticles);
- Simd4f* curEnd = curIt + mClothData.mNumParticles;
- Simd4f* prevIt = reinterpret_cast<Simd4f*>(mClothData.mPrevParticles);
+ T4f* curIt = reinterpret_cast<T4f*>(mClothData.mCurParticles);
+ T4f* curEnd = curIt + mClothData.mNumParticles;
+ T4f* prevIt = reinterpret_cast<T4f*>(mClothData.mPrevParticles);
if (!mState.mIsTurning)
{
@@ -504,32 +504,32 @@ void cloth::SwSolverKernel<Simd4f>::integrateParticles(AccelerationIterator& acc
}
}
-template <typename Simd4f>
-void cloth::SwSolverKernel<Simd4f>::integrateParticles()
+template <typename T4f>
+void cloth::SwSolverKernel<T4f>::integrateParticles()
{
NV_CLOTH_PROFILE_ZONE("cloth::SwSolverKernel::integrateParticles", /*ProfileContext::None*/ 0);
- const Simd4f* startAccelIt = reinterpret_cast<const Simd4f*>(mClothData.mParticleAccelerations);
+ const T4f* startAccelIt = reinterpret_cast<const T4f*>(mClothData.mParticleAccelerations);
// dt^2 (todo: should this be the smoothed dt used for gravity?)
- const Simd4f sqrIterDt = simd4f(sqr(mState.mIterDt)) & static_cast<Simd4f>(sMaskXYZ);
+ const T4f sqrIterDt = simd4f(sqr(mState.mIterDt)) & static_cast<T4f>(sMaskXYZ);
if (!startAccelIt)
{
// no per-particle accelerations, use a constant
- ConstantIterator<Simd4f> accelIt(mState.mCurBias);
+ ConstantIterator<T4f> accelIt(mState.mCurBias);
integrateParticles(accelIt, mState.mPrevBias);
}
else
{
// iterator implicitly scales by dt^2 and adds gravity
- ScaleBiasIterator<Simd4f, const Simd4f*> accelIt(startAccelIt, sqrIterDt, mState.mCurBias);
+ ScaleBiasIterator<T4f, const T4f*> accelIt(startAccelIt, sqrIterDt, mState.mCurBias);
integrateParticles(accelIt, mState.mPrevBias);
}
}
-template <typename Simd4f>
-void cloth::SwSolverKernel<Simd4f>::constrainTether()
+template <typename T4f>
+void cloth::SwSolverKernel<T4f>::constrainTether()
{
if (0.0f == mClothData.mTetherConstraintStiffness || !mClothData.mNumTethers)
return;
@@ -551,15 +551,15 @@ void cloth::SwSolverKernel<Simd4f>::constrainTether()
TetherIter tEnd = tFirst + numTethers;
//Tether properties
- Simd4f stiffness =
- static_cast<Simd4f>(sMaskXYZ) & simd4f(numParticles * mClothData.mTetherConstraintStiffness / numTethers);
- Simd4f scale = simd4f(mClothData.mTetherConstraintScale);
+ T4f stiffness =
+ static_cast<T4f>(sMaskXYZ) & simd4f(numParticles * mClothData.mTetherConstraintStiffness / numTethers);
+ T4f scale = simd4f(mClothData.mTetherConstraintScale);
//Loop through all particles
for (; curIt != curEnd; curIt += 4, ++tFirst)
{
- Simd4f position = loadAligned(curIt); //Get the first particle
- Simd4f offset = gSimd4fZero; //We accumulate the offset in this variable
+ T4f position = loadAligned(curIt); //Get the first particle
+ T4f offset = gSimd4fZero; //We accumulate the offset in this variable
//Loop through all tethers connected to our particle
for (TetherIter tIt = tFirst; tIt < tEnd; tIt += numParticles)
@@ -567,15 +567,15 @@ void cloth::SwSolverKernel<Simd4f>::constrainTether()
NV_CLOTH_ASSERT(tIt->mAnchor < numParticles);
//Get the particle on the other end of the tether
- Simd4f anchor = loadAligned(curFirst, tIt->mAnchor * sizeof(PxVec4));
- Simd4f delta = anchor - position;
- Simd4f sqrLength = gSimd4fEpsilon + dot3(delta, delta);
+ T4f anchor = loadAligned(curFirst, tIt->mAnchor * sizeof(PxVec4));
+ T4f delta = anchor - position;
+ T4f sqrLength = gSimd4fEpsilon + dot3(delta, delta);
- Simd4f tetherLength = load(&tIt->mLength);
+ T4f tetherLength = load(&tIt->mLength);
tetherLength = splat<0>(tetherLength);
- Simd4f radius = tetherLength * scale;
- Simd4f slack = gSimd4fOne - radius * rsqrt(sqrLength);
+ T4f radius = tetherLength * scale;
+ T4f slack = gSimd4fOne - radius * rsqrt(sqrLength);
offset = offset + delta * max(slack, gSimd4fZero);
}
@@ -584,8 +584,8 @@ void cloth::SwSolverKernel<Simd4f>::constrainTether()
}
}
-template <typename Simd4f>
-void cloth::SwSolverKernel<Simd4f>::solveFabric()
+template <typename T4f>
+void cloth::SwSolverKernel<T4f>::solveFabric()
{
NV_CLOTH_PROFILE_ZONE("cloth::SwSolverKernel::solveFabric", /*ProfileContext::None*/ 0);
@@ -604,7 +604,7 @@ void cloth::SwSolverKernel<Simd4f>::solveFabric()
uint32_t totalConstraints = 0;
- Simd4f stiffnessExponent = simd4f(mCloth.mStiffnessFrequency * mState.mIterDt);
+ T4f stiffnessExponent = simd4f(mCloth.mStiffnessFrequency * mState.mIterDt);
//Loop through all phase configs
for (; cIt != cEnd; ++cIt)
@@ -623,10 +623,10 @@ void cloth::SwSolverKernel<Simd4f>::solveFabric()
totalConstraints += uint32_t(rEnd - rIt);
// (stiffness, multiplier, compressionLimit, stretchLimit)
- Simd4f config = load(&cIt->mStiffness);
+ T4f config = load(&cIt->mStiffness);
// stiffness specified as fraction of constraint error per-millisecond
- Simd4f scaledConfig = gSimd4fOne - exp2(config * stiffnessExponent);
- Simd4f stiffness = select(sMaskXY, scaledConfig, config);
+ T4f scaledConfig = gSimd4fOne - exp2(config * stiffnessExponent);
+ T4f stiffness = select(sMaskXY, scaledConfig, config);
int neutralMultiplier = allEqual(sMaskYZW & stiffness, gSimd4fZero);
@@ -654,22 +654,22 @@ void cloth::SwSolverKernel<Simd4f>::solveFabric()
}
}
-template <typename Simd4f>
-void cloth::SwSolverKernel<Simd4f>::applyWind()
+template <typename T4f>
+void cloth::SwSolverKernel<T4f>::applyWind()
{
if (mClothData.mDragCoefficient == 0.0f && mClothData.mLiftCoefficient == 0.0f)
return;
NV_CLOTH_PROFILE_ZONE("cloth::SwSolverKernel::applyWind", /*ProfileContext::None*/ 0);
- Simd4f* curIt = reinterpret_cast<Simd4f*>(mClothData.mCurParticles);
- Simd4f* prevIt = reinterpret_cast<Simd4f*>(mClothData.mPrevParticles);
+ T4f* curIt = reinterpret_cast<T4f*>(mClothData.mCurParticles);
+ T4f* prevIt = reinterpret_cast<T4f*>(mClothData.mPrevParticles);
const uint16_t* tIt = mClothData.mTriangles;
const uint16_t* tEnd = tIt + 3 * mClothData.mNumTriangles;
- Simd4f dragCoefficient = simd4f(mClothData.mDragCoefficient);
- Simd4f liftCoefficient = simd4f(mClothData.mLiftCoefficient);
+ T4f dragCoefficient = simd4f(mClothData.mDragCoefficient);
+ T4f liftCoefficient = simd4f(mClothData.mLiftCoefficient);
if (mState.mIsTurning)
{
@@ -683,23 +683,23 @@ void cloth::SwSolverKernel<Simd4f>::applyWind()
}
}
-template <typename Simd4f>
-void cloth::SwSolverKernel<Simd4f>::constrainMotion()
+template <typename T4f>
+void cloth::SwSolverKernel<T4f>::constrainMotion()
{
if (!mClothData.mStartMotionConstraints)
return;
NV_CLOTH_PROFILE_ZONE("cloth::SwSolverKernel::constrainMotion", /*ProfileContext::None*/ 0);
- Simd4f* curIt = reinterpret_cast<Simd4f*>(mClothData.mCurParticles);
- Simd4f* curEnd = curIt + mClothData.mNumParticles;
+ T4f* curIt = reinterpret_cast<T4f*>(mClothData.mCurParticles);
+ T4f* curEnd = curIt + mClothData.mNumParticles;
- const Simd4f* startIt = reinterpret_cast<const Simd4f*>(mClothData.mStartMotionConstraints);
- const Simd4f* targetIt = reinterpret_cast<const Simd4f*>(mClothData.mTargetMotionConstraints);
+ const T4f* startIt = reinterpret_cast<const T4f*>(mClothData.mStartMotionConstraints);
+ const T4f* targetIt = reinterpret_cast<const T4f*>(mClothData.mTargetMotionConstraints);
- Simd4f scaleBias = load(&mCloth.mMotionConstraintScale);
- Simd4f stiffness = simd4f(mClothData.mMotionConstraintStiffness);
- Simd4f scaleBiasStiffness = select(sMaskXYZ, scaleBias, stiffness);
+ T4f scaleBias = load(&mCloth.mMotionConstraintScale);
+ T4f stiffness = simd4f(mClothData.mMotionConstraintStiffness);
+ T4f scaleBiasStiffness = select(sMaskXYZ, scaleBias, stiffness);
if (!mClothData.mTargetMotionConstraints)
{
@@ -714,23 +714,23 @@ void cloth::SwSolverKernel<Simd4f>::constrainMotion()
}
// otherwise use an interpolating iterator
- LerpIterator<Simd4f, const Simd4f*> interpolator(startIt, targetIt, mState.getCurrentAlpha());
+ LerpIterator<T4f, const T4f*> interpolator(startIt, targetIt, mState.getCurrentAlpha());
::constrainMotion(curIt, curEnd, interpolator, scaleBiasStiffness);
}
-template <typename Simd4f>
-void cloth::SwSolverKernel<Simd4f>::constrainSeparation()
+template <typename T4f>
+void cloth::SwSolverKernel<T4f>::constrainSeparation()
{
if (!mClothData.mStartSeparationConstraints)
return;
NV_CLOTH_PROFILE_ZONE("cloth::SwSolverKernel::constrainSeparation", /*ProfileContext::None*/ 0);
- Simd4f* curIt = reinterpret_cast<Simd4f*>(mClothData.mCurParticles);
- Simd4f* curEnd = curIt + mClothData.mNumParticles;
+ T4f* curIt = reinterpret_cast<T4f*>(mClothData.mCurParticles);
+ T4f* curEnd = curIt + mClothData.mNumParticles;
- const Simd4f* startIt = reinterpret_cast<const Simd4f*>(mClothData.mStartSeparationConstraints);
- const Simd4f* targetIt = reinterpret_cast<const Simd4f*>(mClothData.mTargetSeparationConstraints);
+ const T4f* startIt = reinterpret_cast<const T4f*>(mClothData.mStartSeparationConstraints);
+ const T4f* targetIt = reinterpret_cast<const T4f*>(mClothData.mTargetSeparationConstraints);
if (!mClothData.mTargetSeparationConstraints)
{
@@ -744,43 +744,43 @@ void cloth::SwSolverKernel<Simd4f>::constrainSeparation()
return ::constrainSeparation(curIt, curEnd, targetIt);
}
// otherwise use an interpolating iterator
- LerpIterator<Simd4f, const Simd4f*> interpolator(startIt, targetIt, mState.getCurrentAlpha());
+ LerpIterator<T4f, const T4f*> interpolator(startIt, targetIt, mState.getCurrentAlpha());
::constrainSeparation(curIt, curEnd, interpolator);
}
-template <typename Simd4f>
-void cloth::SwSolverKernel<Simd4f>::collideParticles()
+template <typename T4f>
+void cloth::SwSolverKernel<T4f>::collideParticles()
{
NV_CLOTH_PROFILE_ZONE("cloth::SwSolverKernel::collideParticles", /*ProfileContext::None*/ 0);
mCollision(mState);
}
-template <typename Simd4f>
-void cloth::SwSolverKernel<Simd4f>::selfCollideParticles()
+template <typename T4f>
+void cloth::SwSolverKernel<T4f>::selfCollideParticles()
{
NV_CLOTH_PROFILE_ZONE("cloth::SwSolverKernel::selfCollideParticles", /*ProfileContext::None*/ 0);
mSelfCollision();
}
-template <typename Simd4f>
-void cloth::SwSolverKernel<Simd4f>::updateSleepState()
+template <typename T4f>
+void cloth::SwSolverKernel<T4f>::updateSleepState()
{
NV_CLOTH_PROFILE_ZONE("cloth::SwSolverKernel::updateSleepState", /*ProfileContext::None*/ 0);
mClothData.mSleepTestCounter += std::max(1u, uint32_t(mState.mIterDt * 1000));
if (mClothData.mSleepTestCounter >= mCloth.mSleepTestInterval)
{
- const Simd4f* prevIt = reinterpret_cast<Simd4f*>(mClothData.mPrevParticles);
- const Simd4f* curIt = reinterpret_cast<Simd4f*>(mClothData.mCurParticles);
- const Simd4f* curEnd = curIt + mClothData.mNumParticles;
+ const T4f* prevIt = reinterpret_cast<T4f*>(mClothData.mPrevParticles);
+ const T4f* curIt = reinterpret_cast<T4f*>(mClothData.mCurParticles);
+ const T4f* curEnd = curIt + mClothData.mNumParticles;
// calculate max particle delta since last iteration
- Simd4f maxDelta = calculateMaxDelta(prevIt, curIt, curEnd);
+ T4f maxDelta = calculateMaxDelta(prevIt, curIt, curEnd);
++mClothData.mSleepPassCounter;
- Simd4f threshold = simd4f(mCloth.mSleepThreshold * mState.mIterDt);
+ T4f threshold = simd4f(mCloth.mSleepThreshold * mState.mIterDt);
if (anyGreaterEqual(maxDelta, threshold))
mClothData.mSleepPassCounter = 0;
@@ -788,8 +788,8 @@ void cloth::SwSolverKernel<Simd4f>::updateSleepState()
}
}
-template <typename Simd4f>
-void cloth::SwSolverKernel<Simd4f>::iterateCloth()
+template <typename T4f>
+void cloth::SwSolverKernel<T4f>::iterateCloth()
{
// note on invMass (stored in current/previous positions.w):
// integrateParticles()
@@ -832,8 +832,8 @@ void cloth::SwSolverKernel<Simd4f>::iterateCloth()
updateSleepState();
}
-template <typename Simd4f>
-void cloth::SwSolverKernel<Simd4f>::simulateCloth()
+template <typename T4f>
+void cloth::SwSolverKernel<T4f>::simulateCloth()
{
while (mState.mRemainingIterations)
{
diff --git a/NvCloth/src/SwSolverKernel.h b/NvCloth/src/SwSolverKernel.h
index f71514d..a199691 100644
--- a/NvCloth/src/SwSolverKernel.h
+++ b/NvCloth/src/SwSolverKernel.h
@@ -41,7 +41,7 @@ namespace cloth
class SwCloth;
struct SwClothData;
-template <typename Simd4f>
+template <typename T4f>
class SwSolverKernel
{
public:
@@ -71,14 +71,23 @@ class SwSolverKernel
SwClothData& mClothData;
SwKernelAllocator& mAllocator;
- SwCollision<Simd4f> mCollision;
- SwSelfCollision<Simd4f> mSelfCollision;
- IterationState<Simd4f> mState;
+ SwCollision<T4f> mCollision;
+ SwSelfCollision<T4f> mSelfCollision;
+ IterationState<T4f> mState;
private:
- SwSolverKernel<Simd4f>& operator = (const SwSolverKernel<Simd4f>&);
+ SwSolverKernel<T4f>& operator = (const SwSolverKernel<T4f>&);
template <typename AccelerationIterator>
- void integrateParticles(AccelerationIterator& accelIt, const Simd4f&);
+ void integrateParticles(AccelerationIterator& accelIt, const T4f&);
};
+
+//explicit template instantiation declaration
+#if NV_SIMD_SIMD
+extern template class SwSolverKernel<Simd4f>;
+#endif
+#if NV_SIMD_SCALAR
+extern template class SwSolverKernel<Scalar4f>;
+#endif
+
}
}
diff --git a/NvCloth/src/TripletScheduler.cpp b/NvCloth/src/TripletScheduler.cpp
index e051131..999be0e 100644
--- a/NvCloth/src/TripletScheduler.cpp
+++ b/NvCloth/src/TripletScheduler.cpp
@@ -207,7 +207,10 @@ void cloth::TripletScheduler::warp(uint32_t numParticles, uint32_t warpWidth)
numReplays += set.mNumReplays[i] == set.mNumConflicts[i][warpMask & (*tIt)[i]];
if (minReplays > numReplays)
- minReplays = numReplays, bestIndex = setIndex;
+ {
+ minReplays = numReplays;
+ bestIndex = setIndex;
+ }
}
// add new set if none found
diff --git a/NvCloth/src/cuda/CuCloth.cpp b/NvCloth/src/cuda/CuCloth.cpp
index 93b2370..3e6175b 100644
--- a/NvCloth/src/cuda/CuCloth.cpp
+++ b/NvCloth/src/cuda/CuCloth.cpp
@@ -37,7 +37,6 @@
#include "../TripletScheduler.h"
#include "../ClothBase.h"
#include <foundation/PxMat44.h>
-#include <PsFoundation.h>
using namespace physx;
@@ -215,7 +214,7 @@ uint32_t cloth::CuCloth::getSharedMemorySize() const
return phaseConfigSize + sizeof(float) * (continuousCollisionSize + std::max(selfCollisionSize, discreteCollisionSize));
}
-void cloth::CuCloth::setPhaseConfig(Range<const PhaseConfig> configs)
+void cloth::CuCloth::setPhaseConfigInternal(Range<const PhaseConfig> configs)
{
mHostPhaseConfigs.assign(configs.begin(), configs.end());
@@ -317,69 +316,60 @@ namespace nv
namespace cloth
{
-// ClothImpl<CuCloth>::clone() implemented in CuClothClone.cpp
+// CuCloth::clone() implemented in CuClothClone.cpp
-template <>
-uint32_t ClothImpl<CuCloth>::getNumParticles() const
+uint32_t CuCloth::getNumParticles() const
{
- return mCloth.mNumParticles;
+ return mNumParticles;
}
-template <>
-void ClothImpl<CuCloth>::lockParticles() const
+void CuCloth::lockParticles() const
{
- const_cast<CuCloth&>(mCloth).syncHostParticles();
+ const_cast<CuCloth&>(*this).syncHostParticles();
}
-template <>
-void ClothImpl<CuCloth>::unlockParticles() const
+void CuCloth::unlockParticles() const
{
}
-template <>
-MappedRange<PxVec4> ClothImpl<CuCloth>::getCurrentParticles()
+MappedRange<PxVec4> CuCloth::getCurrentParticles()
{
- mCloth.wakeUp();
+ wakeUp();
lockParticles();
- mCloth.mDeviceParticlesDirty = true;
- return getMappedParticles(mCloth.mParticlesHostCopy.begin());
+ mDeviceParticlesDirty = true;
+ return getMappedParticles(mParticlesHostCopy.begin());
}
-template <>
-MappedRange<const PxVec4> ClothImpl<CuCloth>::getCurrentParticles() const
+MappedRange<const PxVec4> CuCloth::getCurrentParticles() const
{
lockParticles();
- return getMappedParticles(mCloth.mParticlesHostCopy.begin());
+ return getMappedParticles(mParticlesHostCopy.begin());
}
-template <>
-MappedRange<PxVec4> ClothImpl<CuCloth>::getPreviousParticles()
+MappedRange<PxVec4> CuCloth::getPreviousParticles()
{
- mCloth.wakeUp();
+ wakeUp();
lockParticles();
- mCloth.mDeviceParticlesDirty = true;
- return getMappedParticles(mCloth.mParticlesHostCopy.begin() + mCloth.mNumParticles);
+ mDeviceParticlesDirty = true;
+ return getMappedParticles(mParticlesHostCopy.begin() + mNumParticles);
}
-template <>
-MappedRange<const PxVec4> ClothImpl<CuCloth>::getPreviousParticles() const
+MappedRange<const PxVec4> CuCloth::getPreviousParticles() const
{
lockParticles();
- return getMappedParticles(mCloth.mParticlesHostCopy.begin() + mCloth.mNumParticles);
+ return getMappedParticles(mParticlesHostCopy.begin() + mNumParticles);
}
-template <>
-GpuParticles ClothImpl<CuCloth>::getGpuParticles()
+GpuParticles CuCloth::getGpuParticles()
{
- mCloth.syncDeviceParticles();
- mCloth.mHostParticlesDirty = true;
- PxVec4* particles = mCloth.mParticles.begin().get();
- GpuParticles result = { particles, particles + mCloth.mNumParticles, 0 };
+ syncDeviceParticles();
+ mHostParticlesDirty = true;
+ PxVec4* particles = mParticles.begin().get();
+ GpuParticles result = { particles, particles + mNumParticles, 0 };
return result;
}
-template <>
-void ClothImpl<CuCloth>::setPhaseConfig(Range<const PhaseConfig> configs)
+void CuCloth::setPhaseConfig(Range<const PhaseConfig> configs)
{
Vector<PhaseConfig>::Type transformedConfigs;
transformedConfigs.reserve(configs.size());
@@ -389,56 +379,52 @@ void ClothImpl<CuCloth>::setPhaseConfig(Range<const PhaseConfig> configs)
if (configs.front().mStiffness > 0.0f)
transformedConfigs.pushBack(transform(configs.front()));
- mCloth.setPhaseConfig(Range<const PhaseConfig>(transformedConfigs.begin(), transformedConfigs.end()));
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ setPhaseConfigInternal(Range<const PhaseConfig>(transformedConfigs.begin(), transformedConfigs.end()));
+ notifyChanged();
+ wakeUp();
}
-template <>
-void ClothImpl<CuCloth>::setSelfCollisionIndices(Range<const uint32_t> indices)
+void CuCloth::setSelfCollisionIndices(Range<const uint32_t> indices)
{
- ContextLockType lock(mCloth.mFactory);
- mCloth.mSelfCollisionIndices.assign(indices.begin(), indices.end());
- mCloth.mSelfCollisionIndicesHost.assign(indices.begin(), indices.end());
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ ContextLockType lock(mFactory);
+ mSelfCollisionIndices.assign(indices.begin(), indices.end());
+ mSelfCollisionIndicesHost.assign(indices.begin(), indices.end());
+ notifyChanged();
+ wakeUp();
}
-template <>
-uint32_t ClothImpl<CuCloth>::getNumVirtualParticles() const
+uint32_t CuCloth::getNumVirtualParticles() const
{
- return uint32_t(mCloth.mVirtualParticleIndices.size());
+ return uint32_t(mVirtualParticleIndices.size());
}
-template <>
-Range<PxVec4> ClothImpl<CuCloth>::getParticleAccelerations()
+Range<PxVec4> CuCloth::getParticleAccelerations()
{
- if (mCloth.mParticleAccelerations.empty())
+ if (mParticleAccelerations.empty())
{
- CuContextLock contextLock(mCloth.mFactory);
- mCloth.mParticleAccelerations.resize(mCloth.mNumParticles);
+ CuContextLock contextLock(mFactory);
+ mParticleAccelerations.resize(mNumParticles);
}
- if (!mCloth.mParticleAccelerationsHostCopy.capacity())
+ if (!mParticleAccelerationsHostCopy.capacity())
{
- CuContextLock contextLock(mCloth.mFactory);
- mCloth.mParticleAccelerationsHostCopy.reserve(mCloth.mNumParticles);
+ CuContextLock contextLock(mFactory);
+ mParticleAccelerationsHostCopy.reserve(mNumParticles);
}
- mCloth.mParticleAccelerationsHostCopy.resizeUninitialized(mCloth.mNumParticles);
+ mParticleAccelerationsHostCopy.resizeUninitialized(mNumParticles);
- mCloth.wakeUp();
+ wakeUp();
- PxVec4* data = mCloth.mParticleAccelerationsHostCopy.begin();
- return Range<PxVec4>(data, mCloth.mParticleAccelerationsHostCopy.end());
+ PxVec4* data = mParticleAccelerationsHostCopy.begin();
+ return Range<PxVec4>(data, mParticleAccelerationsHostCopy.end());
}
-template <>
-void ClothImpl<CuCloth>::clearParticleAccelerations()
+void CuCloth::clearParticleAccelerations()
{
- CuContextLock contextLock(mCloth.mFactory);
- CuDeviceVector<PxVec4>(mCloth.mFactory.mContext).swap(mCloth.mParticleAccelerations);
- CuHostVector<PxVec4, CU_MEMHOSTALLOC_DEVICEMAP>::Type().swap(mCloth.mParticleAccelerationsHostCopy);
- mCloth.wakeUp();
+ CuContextLock contextLock(mFactory);
+ CuDeviceVector<PxVec4>(mFactory.mContext).swap(mParticleAccelerations);
+ CuHostVector<PxVec4, CU_MEMHOSTALLOC_DEVICEMAP>::Type().swap(mParticleAccelerationsHostCopy);
+ wakeUp();
}
namespace
@@ -469,12 +455,11 @@ namespace
}
}
-template <>
-void ClothImpl<CuCloth>::setVirtualParticles(Range<const uint32_t[4]> indices, Range<const PxVec3> weights)
+void CuCloth::setVirtualParticles(Range<const uint32_t[4]> indices, Range<const PxVec3> weights)
{
// shuffle indices to form independent SIMD sets
TripletScheduler scheduler(indices);
- scheduler.warp(mCloth.mNumParticles, 32);
+ scheduler.warp(mNumParticles, 32);
// convert to 16bit indices
Vector<Vec4us>::Type hostIndices;
@@ -497,15 +482,15 @@ void ClothImpl<CuCloth>::setVirtualParticles(Range<const uint32_t[4]> indices, R
hostWeights.pushBack(PxVec4( w.x, w.y, w.z, scale ));
}
- CuContextLock contextLock(mCloth.mFactory);
+ CuContextLock contextLock(mFactory);
// todo: 'swap' these to force reallocation?
- mCloth.mVirtualParticleIndices = hostIndices;
- mCloth.mVirtualParticleSetSizes = scheduler.mSetSizes;
- mCloth.mVirtualParticleWeights = hostWeights;
+ mVirtualParticleIndices = hostIndices;
+ mVirtualParticleSetSizes = scheduler.mSetSizes;
+ mVirtualParticleWeights = hostWeights;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ notifyChanged();
+ wakeUp();
}
} // namespace cloth
diff --git a/NvCloth/src/cuda/CuCloth.h b/NvCloth/src/cuda/CuCloth.h
index 1f86343..8dc3082 100644
--- a/NvCloth/src/cuda/CuCloth.h
+++ b/NvCloth/src/cuda/CuCloth.h
@@ -43,6 +43,8 @@
#include <foundation/PxVec3.h>
#include <foundation/PxTransform.h>
#include "NvCloth/Allocator.h"
+#include "ClothImpl.h"
+#include "CuFactory.h"
namespace nv
{
@@ -50,7 +52,6 @@ namespace cloth
{
class CuFabric;
-class CuFactory;
struct CuClothData;
struct CuConstraints
@@ -74,7 +75,18 @@ struct CuConstraints
CuHostVector<physx::PxVec4, CU_MEMHOSTALLOC_DEVICEMAP>::Type mHostCopy;
};
-class CuCloth : protected CuContextLock
+class CuCloth;
+
+template<>
+class ClothTraits<CuCloth>
+{
+public:
+ typedef CuFactory FactoryType;
+ typedef CuFabric FabricType;
+ typedef CuContextLock ContextLockType;
+};
+
+class CuCloth : protected CuContextLock, public ClothImpl<CuCloth>
{
CuCloth(); // not implemented
@@ -94,14 +106,24 @@ class CuCloth : protected CuContextLock
~CuCloth(); // not virtual on purpose
public:
- bool isSleeping() const
- {
- return mSleepPassCounter >= mSleepAfterCount;
- }
- void wakeUp()
- {
- mSleepPassCounter = 0;
- }
+ virtual Cloth* clone(Factory& factory) const;
+ uint32_t getNumParticles() const;
+
+ void lockParticles() const;
+ void unlockParticles() const;
+
+ MappedRange<physx::PxVec4> getCurrentParticles();
+ MappedRange<const physx::PxVec4> getCurrentParticles() const;
+ MappedRange<physx::PxVec4> getPreviousParticles();
+ MappedRange<const physx::PxVec4> getPreviousParticles() const;
+ GpuParticles getGpuParticles();
+ void setPhaseConfig(Range<const PhaseConfig> configs);
+
+ void setSelfCollisionIndices(Range<const uint32_t> indices);
+ uint32_t getNumVirtualParticles() const;
+ Range<physx::PxVec4> getParticleAccelerations();
+ void clearParticleAccelerations();
+ void setVirtualParticles(Range<const uint32_t[4]> indices, Range<const physx::PxVec3> weights);
void notifyChanged();
@@ -109,7 +131,7 @@ class CuCloth : protected CuContextLock
uint32_t getSharedMemorySize() const; // without particle data
// expects transformed configs, doesn't call notifyChanged()
- void setPhaseConfig(Range<const PhaseConfig>);
+ void setPhaseConfigInternal(Range<const PhaseConfig>);
Range<physx::PxVec4> push(CuConstraints&);
void clear(CuConstraints&);
@@ -133,27 +155,6 @@ class CuCloth : protected CuContextLock
bool mDeviceParticlesDirty;
bool mHostParticlesDirty;
- physx::PxVec3 mParticleBoundsCenter;
- physx::PxVec3 mParticleBoundsHalfExtent;
-
- physx::PxVec3 mGravity;
- physx::PxVec3 mLogDamping;
- physx::PxVec3 mLinearLogDrag;
- physx::PxVec3 mAngularLogDrag;
- physx::PxVec3 mLinearInertia;
- physx::PxVec3 mAngularInertia;
- physx::PxVec3 mCentrifugalInertia;
- float mSolverFrequency;
- float mStiffnessFrequency;
-
- physx::PxTransform mTargetMotion;
- physx::PxTransform mCurrentMotion;
- physx::PxVec3 mLinearVelocity;
- physx::PxVec3 mAngularVelocity;
-
- float mPrevIterDt;
- MovingAverage mIterDtAvg;
-
CuDeviceVector<CuPhaseConfig> mPhaseConfigs; // transformed!
Vector<PhaseConfig>::Type mHostPhaseConfigs; // transformed!
@@ -174,11 +175,6 @@ class CuCloth : protected CuContextLock
CuDeviceVector<physx::PxVec4> mParticleAccelerations;
CuHostVector<physx::PxVec4, CU_MEMHOSTALLOC_DEVICEMAP>::Type mParticleAccelerationsHostCopy;
- // wind
- physx::PxVec3 mWind;
- float mDragLogCoefficient;
- float mLiftLogCoefficient;
-
// collision stuff
CuHostVector<IndexPair, CU_MEMHOSTALLOC_DEVICEMAP>::Type mCapsuleIndices;
CuHostVector<physx::PxVec4, CU_MEMHOSTALLOC_DEVICEMAP>::Type mStartCollisionSpheres;
@@ -208,13 +204,6 @@ class CuCloth : protected CuContextLock
// 4 (position) + 2 (key) per particle + cellStart (8322)
CuDeviceVector<float> mSelfCollisionData;
- // sleeping (see SwCloth for comments)
- uint32_t mSleepTestInterval;
- uint32_t mSleepAfterCount;
- float mSleepThreshold;
- uint32_t mSleepPassCounter;
- uint32_t mSleepTestCounter;
-
uint32_t mSharedMemorySize;
void* mUserData;
diff --git a/NvCloth/src/cuda/CuClothClone.cpp b/NvCloth/src/cuda/CuClothClone.cpp
index df43c66..5dba4ec 100644
--- a/NvCloth/src/cuda/CuClothClone.cpp
+++ b/NvCloth/src/cuda/CuClothClone.cpp
@@ -56,11 +56,10 @@ Range<const uint32_t> getSelfCollisionIndices(const CuCloth& cloth)
return makeRange(cloth.mSelfCollisionIndicesHost);
}
-template <>
-Cloth* ClothImpl<CuCloth>::clone(Factory& factory) const
+Cloth* CuCloth::clone(Factory& factory) const
{
- if (&mCloth.mFactory == &factory)
- return NV_CLOTH_NEW(ClothImpl<CuCloth>)(factory, *this); // copy construct directly
+ if (&mFactory == &factory)
+ return NV_CLOTH_NEW(CuCloth)(mFactory, *this); // copy construct directly
switch(factory.getPlatform())
{
@@ -77,7 +76,7 @@ Cloth* ClothImpl<CuCloth>::clone(Factory& factory) const
Cloth* CuFactory::clone(const Cloth& cloth)
{
if (cloth.getFactory().getPlatform() == Platform::CPU)
- return convertCloth(*this, static_cast<const SwClothImpl&>(cloth));
+ return convertCloth(*this, static_cast<const SwCloth&>(cloth));
return cloth.clone(*this);
}
diff --git a/NvCloth/src/cuda/CuFactory.cpp b/NvCloth/src/cuda/CuFactory.cpp
index 460cebc..397262c 100644
--- a/NvCloth/src/cuda/CuFactory.cpp
+++ b/NvCloth/src/cuda/CuFactory.cpp
@@ -35,7 +35,6 @@
#include "CuCheckSuccess.h"
#include "CuContextLock.h"
#include <cuda.h>
-#include <PsFoundation.h>
#include "CuSolverKernelBlob.h"
#if PX_VC
@@ -155,7 +154,7 @@ cloth::Fabric* cloth::CuFactory::createFabric(uint32_t numParticles, Range<const
cloth::Cloth* cloth::CuFactory::createCloth(Range<const PxVec4> particles, Fabric& fabric)
{
- return NV_CLOTH_NEW(CuClothImpl)(*this, fabric, particles);
+ return NV_CLOTH_NEW(CuCloth)(*this, static_cast<CuFabric&>(fabric), particles);
}
cloth::Solver* cloth::CuFactory::createSolver()
@@ -255,7 +254,7 @@ void cloth::CuFactory::extractCollisionData(const Cloth& cloth, Range<PxVec4> sp
{
NV_CLOTH_ASSERT(&cloth.getFactory() == this);
- const CuCloth& cuCloth = static_cast<const CuClothImpl&>(cloth).mCloth;
+ const CuCloth& cuCloth = static_cast<const CuCloth&>(cloth);
NV_CLOTH_ASSERT(spheres.empty() || spheres.size() == cuCloth.mStartCollisionSpheres.size());
NV_CLOTH_ASSERT(capsules.empty() || capsules.size() == cuCloth.mCapsuleIndices.size() * 2);
@@ -287,7 +286,7 @@ void cloth::CuFactory::extractMotionConstraints(const Cloth& cloth, Range<PxVec4
{
NV_CLOTH_ASSERT(&cloth.getFactory() == this);
- const CuCloth& cuCloth = static_cast<const CuClothImpl&>(cloth).mCloth;
+ const CuCloth& cuCloth = static_cast<const CuCloth&>(cloth);
if (cuCloth.mMotionConstraints.mHostCopy.size())
{
@@ -314,7 +313,7 @@ void cloth::CuFactory::extractSeparationConstraints(const Cloth& cloth, Range<Px
{
NV_CLOTH_ASSERT(&cloth.getFactory() == this);
- const CuCloth& cuCloth = static_cast<const CuClothImpl&>(cloth).mCloth;
+ const CuCloth& cuCloth = static_cast<const CuCloth&>(cloth);
if (cuCloth.mSeparationConstraints.mHostCopy.size())
{
@@ -341,7 +340,7 @@ void cloth::CuFactory::extractParticleAccelerations(const Cloth& cloth, Range<Px
{
NV_CLOTH_ASSERT(&cloth.getFactory() == this);
- const CuCloth& cuCloth = static_cast<const CuClothImpl&>(cloth).mCloth;
+ const CuCloth& cuCloth = static_cast<const CuCloth&>(cloth);
if (cuCloth.mParticleAccelerationsHostCopy.size())
{
@@ -359,7 +358,7 @@ void cloth::CuFactory::extractVirtualParticles(const Cloth& cloth, Range<uint32_
CuContextLock contextLock(*this);
- const CuCloth& cuCloth = static_cast<const CuClothImpl&>(cloth).mCloth;
+ const CuCloth& cuCloth = static_cast<const CuCloth&>(cloth);
if (destWeights.size() > 0)
{
@@ -400,7 +399,7 @@ void cloth::CuFactory::extractVirtualParticles(const Cloth& cloth, Range<uint32_
void cloth::CuFactory::extractSelfCollisionIndices(const Cloth& cloth, Range<uint32_t> destIndices) const
{
- const CuCloth& cuCloth = static_cast<const CuClothImpl&>(cloth).mCloth;
+ const CuCloth& cuCloth = static_cast<const CuCloth&>(cloth);
NV_CLOTH_ASSERT(destIndices.size() == cuCloth.mSelfCollisionIndices.size());
copyToHost(cuCloth.mSelfCollisionIndices.begin().get(), cuCloth.mSelfCollisionIndices.end().get(),
destIndices.begin());
@@ -408,7 +407,7 @@ void cloth::CuFactory::extractSelfCollisionIndices(const Cloth& cloth, Range<uin
void cloth::CuFactory::extractRestPositions(const Cloth& cloth, Range<PxVec4> destRestPositions) const
{
- const CuCloth& cuCloth = static_cast<const CuClothImpl&>(cloth).mCloth;
+ const CuCloth& cuCloth = static_cast<const CuCloth&>(cloth);
NV_CLOTH_ASSERT(destRestPositions.size() == cuCloth.mRestPositions.size());
copyToHost(cuCloth.mRestPositions.begin().get(), cuCloth.mRestPositions.end().get(), destRestPositions.begin());
}
diff --git a/NvCloth/src/cuda/CuFactory.h b/NvCloth/src/cuda/CuFactory.h
index 81799ec..3ff5752 100644
--- a/NvCloth/src/cuda/CuFactory.h
+++ b/NvCloth/src/cuda/CuFactory.h
@@ -52,7 +52,7 @@ class CuFactory : public Factory
public:
typedef CuFabric FabricType;
- typedef ClothImpl<CuCloth> ImplType;
+ typedef CuCloth ClothType;
CuFactory(CUcontext);
virtual ~CuFactory();
diff --git a/NvCloth/src/cuda/CuSolver.cpp b/NvCloth/src/cuda/CuSolver.cpp
index 7927a42..f0e328f 100644
--- a/NvCloth/src/cuda/CuSolver.cpp
+++ b/NvCloth/src/cuda/CuSolver.cpp
@@ -326,7 +326,7 @@ struct ClothSimCostGreater
void cloth::CuSolver::addCloth(Cloth* cloth)
{
- CuCloth& cuCloth = static_cast<CuClothImpl&>(*cloth).mCloth;
+ CuCloth& cuCloth = *static_cast<CuCloth*>(cloth);
NV_CLOTH_ASSERT(mCloths.find(&cuCloth) == mCloths.end());
@@ -348,7 +348,7 @@ void cloth::CuSolver::addCloth(Cloth* cloth)
void cloth::CuSolver::removeCloth(Cloth* cloth)
{
- CuCloth& cuCloth = static_cast<CuClothImpl&>(*cloth).mCloth;
+ CuCloth& cuCloth = static_cast<CuCloth&>(*cloth);
ClothVector::Iterator begin = mCloths.begin(), end = mCloths.end();
ClothVector::Iterator it = mCloths.find(&cuCloth);
@@ -364,6 +364,18 @@ void cloth::CuSolver::removeCloth(Cloth* cloth)
mClothDataDirty = true;
}
+int cloth::CuSolver::getNumCloths() const
+{
+ return mCloths.size();
+}
+cloth::Cloth * const * cloth::CuSolver::getClothList() const
+{
+ if(getNumCloths())
+ return reinterpret_cast<Cloth* const*>(&mCloths[0]);
+ else
+ return nullptr;
+}
+
bool cloth::CuSolver::beginSimulation(float dt)
{
if (mCloths.empty())
diff --git a/NvCloth/src/cuda/CuSolver.h b/NvCloth/src/cuda/CuSolver.h
index 8e256a7..0406e00 100644
--- a/NvCloth/src/cuda/CuSolver.h
+++ b/NvCloth/src/cuda/CuSolver.h
@@ -57,8 +57,10 @@ public:
CuSolver(CuFactory&);
~CuSolver();
- virtual void addCloth(Cloth*);
- virtual void removeCloth(Cloth*);
+ virtual void addCloth(Cloth*) override;
+ virtual void removeCloth(Cloth*) override;
+ virtual int getNumCloths() const override;
+ virtual Cloth * const * getClothList() const override;
// functions executing the simulation work.
virtual bool beginSimulation(float dt);
diff --git a/NvCloth/src/dx/DxBatchedVector.h b/NvCloth/src/dx/DxBatchedVector.h
index 674586e..2c5e313 100644
--- a/NvCloth/src/dx/DxBatchedVector.h
+++ b/NvCloth/src/dx/DxBatchedVector.h
@@ -225,7 +225,7 @@ class DxBatchedVector
DxBatchedVector& operator = (const DxBatchedVector& other)
{
NV_CLOTH_ASSERT(mSize == other.size()); // current limitation
- NV_CLOTH_ASSERT(!mStorage.mMapRefCount);
+ NV_CLOTH_ASSERT(!mStorage.mMapRefCount); // This will trigger if the user still has a reference to the MappedRange returned by Cloth::getCurrentParticles
CD3D11_BOX box(other.mOffset * sizeof(T), 0, 0, (other.mOffset + other.size()) * sizeof(T), 1, 1);
mStorage.mBuffer.context()->CopySubresourceRegion(buffer(), 0, mOffset * sizeof(T), 0, 0, other.buffer(), 0,
diff --git a/NvCloth/src/dx/DxCloth.cpp b/NvCloth/src/dx/DxCloth.cpp
index f87943e..68c3289 100644
--- a/NvCloth/src/dx/DxCloth.cpp
+++ b/NvCloth/src/dx/DxCloth.cpp
@@ -36,7 +36,6 @@
#include "../TripletScheduler.h"
#include "../ClothBase.h"
#include <foundation/PxMat44.h>
-#include <PsFoundation.h>
#if NV_CLOTH_ENABLE_DX11
@@ -224,7 +223,7 @@ uint32_t cloth::DxCloth::getSharedMemorySize() const
return phaseConfigSize + sizeof(float) * (continuousCollisionSize + std::max(selfCollisionSize, discreteCollisionSize));
}
-void cloth::DxCloth::setPhaseConfig(Range<const PhaseConfig> configs)
+void cloth::DxCloth::setPhaseConfigInternal(Range<const PhaseConfig> configs)
{
mHostPhaseConfigs.assign(configs.begin(), configs.end());
@@ -332,71 +331,62 @@ namespace nv
namespace cloth
{
-// ClothImpl<DxCloth>::clone() implemented in DxClothClone.cpp
+// DxCloth::clone() implemented in DxClothClone.cpp
-template <>
-uint32_t ClothImpl<DxCloth>::getNumParticles() const
+uint32_t DxCloth::getNumParticles() const
{
- return mCloth.mNumParticles;
+ return mNumParticles;
}
-template <>
-void ClothImpl<DxCloth>::lockParticles() const
+void DxCloth::lockParticles() const
{
- const_cast<DxCloth&>(mCloth).mapParticles();
+ const_cast<DxCloth&>(*this).mapParticles();
}
-template <>
-void ClothImpl<DxCloth>::unlockParticles() const
+void DxCloth::unlockParticles() const
{
- const_cast<DxCloth&>(mCloth).unmapParticles();
+ const_cast<DxCloth&>(*this).unmapParticles();
}
-template <>
-MappedRange<PxVec4> ClothImpl<DxCloth>::getCurrentParticles()
+MappedRange<PxVec4> DxCloth::getCurrentParticles()
{
- mCloth.wakeUp();
+ wakeUp();
lockParticles();
- mCloth.mDeviceParticlesDirty = true;
- return getMappedParticles(mCloth.mParticlesMapPointer);
+ mDeviceParticlesDirty = true;
+ return getMappedParticles(mParticlesMapPointer);
}
-template <>
-MappedRange<const PxVec4> ClothImpl<DxCloth>::getCurrentParticles() const
+MappedRange<const PxVec4> DxCloth::getCurrentParticles() const
{
lockParticles();
- const PxVec4* data = mCloth.mParticlesMapPointer;
+ const PxVec4* data = mParticlesMapPointer;
return getMappedParticles(data);
}
-template <>
-MappedRange<PxVec4> ClothImpl<DxCloth>::getPreviousParticles()
+MappedRange<PxVec4> DxCloth::getPreviousParticles()
{
- mCloth.wakeUp();
+ wakeUp();
lockParticles();
- mCloth.mDeviceParticlesDirty = true;
- return getMappedParticles(mCloth.mParticlesMapPointer + mCloth.mNumParticles);
+ mDeviceParticlesDirty = true;
+ return getMappedParticles(mParticlesMapPointer + mNumParticles);
}
-template <>
-MappedRange<const PxVec4> ClothImpl<DxCloth>::getPreviousParticles() const
+MappedRange<const PxVec4> DxCloth::getPreviousParticles() const
{
lockParticles();
- const PxVec4* data = (const PxVec4*)mCloth.mParticlesMapPointer;
- return getMappedParticles(data + mCloth.mNumParticles);
+ const PxVec4* data = (const PxVec4*)mParticlesMapPointer;
+ return getMappedParticles(data + mNumParticles);
}
-template <>
-GpuParticles ClothImpl<DxCloth>::getGpuParticles()
+GpuParticles DxCloth::getGpuParticles()
{
- ID3D11Buffer* buffer = mCloth.mParticles.buffer();
- PxVec4* offset = (PxVec4*)nullptr + mCloth.mParticles.mOffset;
- GpuParticles result = { offset, offset + mCloth.mNumParticles, buffer };
+ ID3D11Buffer* buffer = mParticles.buffer();
+ PxVec4* offset = (PxVec4*)nullptr + mParticles.mOffset;
+ GpuParticles result = { offset, offset + mNumParticles, buffer };
return result;
}
-template <>
-void ClothImpl<DxCloth>::setPhaseConfig(Range<const PhaseConfig> configs)
+void DxCloth::setPhaseConfig(Range<const PhaseConfig> configs)
{
Vector<PhaseConfig>::Type transformedConfigs;
transformedConfigs.reserve(configs.size());
@@ -406,57 +396,53 @@ void ClothImpl<DxCloth>::setPhaseConfig(Range<const PhaseConfig> configs)
if (configs.front().mStiffness > 0.0f)
transformedConfigs.pushBack(transform(configs.front()));
- mCloth.setPhaseConfig(Range<const PhaseConfig>(transformedConfigs.begin(),
+ setPhaseConfigInternal(Range<const PhaseConfig>(transformedConfigs.begin(),
transformedConfigs.begin() + transformedConfigs.size()));
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ notifyChanged();
+ wakeUp();
}
-template <>
-void ClothImpl<DxCloth>::setSelfCollisionIndices(Range<const uint32_t> indices)
+void DxCloth::setSelfCollisionIndices(Range<const uint32_t> indices)
{
- ContextLockType lock(mCloth.mFactory);
- mCloth.mSelfCollisionIndices.assign(indices.begin(), indices.end());
- mCloth.mSelfCollisionIndicesHost.assign(indices.begin(), indices.end());
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ ContextLockType lock(mFactory);
+ mSelfCollisionIndices.assign(indices.begin(), indices.end());
+ mSelfCollisionIndicesHost.assign(indices.begin(), indices.end());
+ notifyChanged();
+ wakeUp();
}
-template <>
-uint32_t ClothImpl<DxCloth>::getNumVirtualParticles() const
+uint32_t DxCloth::getNumVirtualParticles() const
{
- return uint32_t(mCloth.mVirtualParticleIndices.size());
+ return uint32_t(mVirtualParticleIndices.size());
}
-template <>
-Range<PxVec4> ClothImpl<DxCloth>::getParticleAccelerations()
+Range<PxVec4> DxCloth::getParticleAccelerations()
{
- if (mCloth.mParticleAccelerations.empty())
+ if (mParticleAccelerations.empty())
{
- DxContextLock contextLock(mCloth.mFactory);
- mCloth.mParticleAccelerations.resize(mCloth.mNumParticles);
+ DxContextLock contextLock(mFactory);
+ mParticleAccelerations.resize(mNumParticles);
}
- if (!mCloth.mParticleAccelerationsHostCopy.capacity())
+ if (!mParticleAccelerationsHostCopy.capacity())
{
- DxContextLock contextLock(mCloth.mFactory);
- mCloth.mParticleAccelerationsHostCopy.reserve(mCloth.mNumParticles);
+ DxContextLock contextLock(mFactory);
+ mParticleAccelerationsHostCopy.reserve(mNumParticles);
}
- mCloth.mParticleAccelerationsHostCopy.resizeUninitialized(mCloth.mNumParticles);
+ mParticleAccelerationsHostCopy.resizeUninitialized(mNumParticles);
- mCloth.wakeUp();
+ wakeUp();
- PxVec4* data = mCloth.mParticleAccelerationsHostCopy.begin();
- return Range<PxVec4>(data, mCloth.mParticleAccelerationsHostCopy.end());
+ PxVec4* data = mParticleAccelerationsHostCopy.begin();
+ return Range<PxVec4>(data, mParticleAccelerationsHostCopy.end());
}
-template <>
-void ClothImpl<DxCloth>::clearParticleAccelerations()
+void DxCloth::clearParticleAccelerations()
{
- DxContextLock contextLock(mCloth.mFactory);
- mCloth.mParticleAccelerations.clear();
- Vector<PxVec4>::Type().swap(mCloth.mParticleAccelerationsHostCopy);
- mCloth.wakeUp();
+ DxContextLock contextLock(mFactory);
+ mParticleAccelerations.clear();
+ Vector<PxVec4>::Type().swap(mParticleAccelerationsHostCopy);
+ wakeUp();
}
namespace
@@ -488,12 +474,11 @@ uint32_t calculateNumReplays(const Vector<Vec4u>::Type& triplets, const Vector<u
}
}
-template <>
-void ClothImpl<DxCloth>::setVirtualParticles(Range<const uint32_t[4]> indices, Range<const PxVec3> weights)
+void DxCloth::setVirtualParticles(Range<const uint32_t[4]> indices, Range<const PxVec3> weights)
{
// shuffle indices to form independent SIMD sets
TripletScheduler scheduler(indices);
- scheduler.warp(mCloth.mNumParticles, 32);
+ scheduler.warp(mNumParticles, 32);
// convert to 16bit indices
Vector<Vec4us>::Type hostIndices;
@@ -516,15 +501,15 @@ void ClothImpl<DxCloth>::setVirtualParticles(Range<const uint32_t[4]> indices, R
hostWeights.pushBack(PxVec4(w.x, w.y, w.z, scale));
}
- DxContextLock contextLock(mCloth.mFactory);
+ DxContextLock contextLock(mFactory);
// todo: 'swap' these to force reallocation?
- mCloth.mVirtualParticleIndices = hostIndices;
- mCloth.mVirtualParticleSetSizes = scheduler.mSetSizes;
- mCloth.mVirtualParticleWeights = hostWeights;
+ mVirtualParticleIndices = hostIndices;
+ mVirtualParticleSetSizes = scheduler.mSetSizes;
+ mVirtualParticleWeights = hostWeights;
- mCloth.notifyChanged();
- mCloth.wakeUp();
+ notifyChanged();
+ wakeUp();
}
} // namespace cloth
diff --git a/NvCloth/src/dx/DxCloth.h b/NvCloth/src/dx/DxCloth.h
index bde2bd6..5e783fa 100644
--- a/NvCloth/src/dx/DxCloth.h
+++ b/NvCloth/src/dx/DxCloth.h
@@ -40,14 +40,15 @@
#include <foundation/PxVec4.h>
#include <foundation/PxVec3.h>
#include <foundation/PxTransform.h>
+#include "DxFactory.h"
+#include "DxFabric.h"
+#include "ClothImpl.h"
namespace nv
{
namespace cloth
{
-class DxFabric;
-class DxFactory;
struct DxClothData;
struct DxConstraints
@@ -71,7 +72,16 @@ struct DxConstraints
Vector<physx::PxVec4>::Type mHostCopy;
};
-class DxCloth : protected DxContextLock
+template<>
+class ClothTraits<DxCloth>
+{
+public:
+ typedef DxFactory FactoryType;
+ typedef DxFabric FabricType;
+ typedef DxContextLock ContextLockType;
+};
+
+class DxCloth : protected DxContextLock, public ClothImpl<DxCloth>
{
DxCloth(const DxCloth&); // not implemented
DxCloth& operator = (const DxCloth&); // not implemented
@@ -94,14 +104,24 @@ class DxCloth : protected DxContextLock
~DxCloth(); // not virtual on purpose
public:
- bool isSleeping() const
- {
- return mSleepPassCounter >= mSleepAfterCount;
- }
- void wakeUp()
- {
- mSleepPassCounter = 0;
- }
+ virtual Cloth* clone(Factory& factory) const;
+ uint32_t getNumParticles() const;
+
+ void lockParticles() const;
+ void unlockParticles() const;
+
+ MappedRange<physx::PxVec4> getCurrentParticles();
+ MappedRange<const physx::PxVec4> getCurrentParticles() const;
+ MappedRange<physx::PxVec4> getPreviousParticles();
+ MappedRange<const physx::PxVec4> getPreviousParticles() const;
+ GpuParticles getGpuParticles();
+
+ void setPhaseConfig(Range<const PhaseConfig> configs);
+ void setSelfCollisionIndices(Range<const uint32_t> indices);
+ uint32_t getNumVirtualParticles() const;
+ Range<physx::PxVec4> getParticleAccelerations();
+ void clearParticleAccelerations();
+ void setVirtualParticles(Range<const uint32_t[4]> indices, Range<const physx::PxVec3> weights);
void notifyChanged();
@@ -109,7 +129,7 @@ class DxCloth : protected DxContextLock
uint32_t getSharedMemorySize() const; // without particle data
// expects transformed configs, doesn't call notifyChanged()
- void setPhaseConfig(Range<const PhaseConfig>);
+ void setPhaseConfigInternal(Range<const PhaseConfig>);
Range<physx::PxVec4> push(DxConstraints&);
void clear(DxConstraints&);
@@ -136,27 +156,6 @@ class DxCloth : protected DxContextLock
bool mDeviceParticlesDirty;
bool mHostParticlesDirty;
- physx::PxVec3 mParticleBoundsCenter;
- physx::PxVec3 mParticleBoundsHalfExtent;
-
- physx::PxVec3 mGravity;
- physx::PxVec3 mLogDamping;
- physx::PxVec3 mLinearLogDrag;
- physx::PxVec3 mAngularLogDrag;
- physx::PxVec3 mLinearInertia;
- physx::PxVec3 mAngularInertia;
- physx::PxVec3 mCentrifugalInertia;
- float mSolverFrequency;
- float mStiffnessFrequency;
-
- physx::PxTransform mTargetMotion;
- physx::PxTransform mCurrentMotion;
- physx::PxVec3 mLinearVelocity;
- physx::PxVec3 mAngularVelocity;
-
- float mPrevIterDt;
- MovingAverage mIterDtAvg;
-
DxBatchedVector<DxPhaseConfig> mPhaseConfigs;
Vector<PhaseConfig>::Type mHostPhaseConfigs;
@@ -177,11 +176,6 @@ class DxCloth : protected DxContextLock
DxBatchedVector<physx::PxVec4> mParticleAccelerations;
Vector<physx::PxVec4>::Type mParticleAccelerationsHostCopy;
- // wind
- physx::PxVec3 mWind;
- float mDragLogCoefficient;
- float mLiftLogCoefficient;
-
// collision stuff
DxBatchedVector<IndexPair> mCapsuleIndices;
DxBatchedVector<physx::PxVec4> mStartCollisionSpheres;
@@ -214,13 +208,6 @@ class DxCloth : protected DxContextLock
bool mInitSelfCollisionData;
- // sleeping
- uint32_t mSleepTestInterval; // how often to test for movement
- uint32_t mSleepAfterCount; // number of tests to pass before sleep
- float mSleepThreshold; // max movement delta to pass test
- uint32_t mSleepPassCounter; // how many tests passed
- uint32_t mSleepTestCounter; // how many iterations since tested
-
uint32_t mSharedMemorySize;
void* mUserData;
diff --git a/NvCloth/src/dx/DxClothClone.cpp b/NvCloth/src/dx/DxClothClone.cpp
index 3f41cdc..77ba96a 100644
--- a/NvCloth/src/dx/DxClothClone.cpp
+++ b/NvCloth/src/dx/DxClothClone.cpp
@@ -58,11 +58,10 @@ Range<const uint32_t> getSelfCollisionIndices(const DxCloth& cloth)
return makeRange(cloth.mSelfCollisionIndicesHost);
}
-template <>
-Cloth* ClothImpl<DxCloth>::clone(Factory& factory) const
+Cloth* DxCloth::clone(Factory& factory) const
{
- if (&mCloth.mFactory == &factory)
- return NV_CLOTH_NEW(ClothImpl<DxCloth>)(factory, *this); // copy construct directly
+ if (&mFactory == &factory)
+ return NV_CLOTH_NEW(DxCloth)(mFactory, *this); // copy construct directly
switch(factory.getPlatform())
{
@@ -82,7 +81,7 @@ Cloth* DxFactory::clone(const Cloth& cloth)
{
if (cloth.getNumParticles() > 2025 /* see DxSolverKernel.hlsl gCurParticles */)
return nullptr; // can only fit 2025 particles in dx shared memory
- return convertCloth(*this, static_cast<const SwClothImpl&>(cloth));
+ return convertCloth(*this, static_cast<const SwCloth&>(cloth));
}
return cloth.clone(*this);
diff --git a/NvCloth/src/dx/DxClothData.cpp b/NvCloth/src/dx/DxClothData.cpp
index 2625eac..075dc81 100644
--- a/NvCloth/src/dx/DxClothData.cpp
+++ b/NvCloth/src/dx/DxClothData.cpp
@@ -51,6 +51,9 @@ cloth::DxClothData::DxClothData(DxCloth& cloth)
mConstraintOffset = cloth.mFabric.mConstraints.mOffset;
mStiffnessOffset = cloth.mFabric.mStiffnessValues.empty() ? -1: cloth.mFabric.mStiffnessValues.mOffset;
+ mNumTriangles = cloth.mFabric.getNumTriangles();
+ mStartTriangleOffset = cloth.mFabric.mTriangles.mOffset;
+
mNumTethers = cloth.mFabric.mTethers.size();
mTetherOffset = cloth.mFabric.mTethers.mOffset;
mTetherConstraintScale = cloth.mTetherConstraintScale * cloth.mFabric.mTetherLengthScale;
@@ -94,14 +97,24 @@ cloth::DxFrameData::DxFrameData(DxCloth& cloth, uint32_t numSharedPositions, con
mFirstIteration = firstIteration;
mNumIterations = state.mRemainingIterations;
- Simd4f logStiffness = simd4f(0.0f, cloth.mSelfCollisionLogStiffness, cloth.mMotionConstraintLogStiffness,
- cloth.mTetherConstraintLogStiffness);
Simd4f stiffnessExponent = simd4f(cloth.mStiffnessFrequency * mIterDt);
- Simd4f stiffness = gSimd4fOne - exp2(logStiffness * stiffnessExponent);
+ {
+ Simd4f logStiffness = simd4f(0.0f, cloth.mSelfCollisionLogStiffness, cloth.mMotionConstraintLogStiffness,
+ cloth.mTetherConstraintLogStiffness);
+ Simd4f stiffness = gSimd4fOne - exp2(logStiffness * stiffnessExponent);
- mTetherConstraintStiffness = array(stiffness)[3];
- mMotionConstraintStiffness = array(stiffness)[2];
- mSelfCollisionStiffness = array(stiffness)[1];
+ mTetherConstraintStiffness = array(stiffness)[3];
+ mMotionConstraintStiffness = array(stiffness)[2];
+ mSelfCollisionStiffness = array(stiffness)[1];
+ }
+ {
+ Simd4f logStiffness = simd4f(cloth.mDragLogCoefficient, cloth.mLiftLogCoefficient, 0.0f, 0.0f);
+ Simd4f stiffness = gSimd4fOne - exp2(logStiffness * stiffnessExponent);
+ mDragCoefficient = array(stiffness)[0];
+ mLiftCoefficient = array(stiffness)[1];
+ for(int i = 0; i < 9; ++i)
+ mRotation[i] = array(state.mRotationMatrix[i / 3])[i % 3];
+ }
mStartSphereOffset = cloth.mStartCollisionSpheres.mOffset;
mTargetSphereOffset =
@@ -111,7 +124,6 @@ cloth::DxFrameData::DxFrameData(DxCloth& cloth, uint32_t numSharedPositions, con
mTargetCollisionPlaneOffset =
cloth.mTargetCollisionPlanes.empty() ? mStartCollisionPlaneOffset : cloth.mTargetCollisionPlanes.mOffset;
-
mStartCollisionTrianglesOffset = cloth.mStartCollisionTriangles.mOffset;
mTargetCollisionTrianglesOffset =
cloth.mTargetCollisionTriangles.empty() ? mStartCollisionTrianglesOffset : cloth.mTargetCollisionTriangles.mOffset;
@@ -172,6 +184,10 @@ cloth::DxIterationData::DxIterationData(const IterationState<Simd4f>& state)
copySquareTransposed(mIntegrationTrafo + 15, array(*state.mCurMatrix));
mIsTurning = uint32_t(state.mIsTurning);
+
+ mWind[0] = array(state.mWind)[0];
+ mWind[1] = array(state.mWind)[1];
+ mWind[2] = array(state.mWind)[2];
}
#endif // NV_CLOTH_ENABLE_DX11
diff --git a/NvCloth/src/dx/DxClothData.h b/NvCloth/src/dx/DxClothData.h
index bac1a98..af02bc6 100644
--- a/NvCloth/src/dx/DxClothData.h
+++ b/NvCloth/src/dx/DxClothData.h
@@ -46,7 +46,7 @@ typedef unsigned int uint32_t;
typedef int int32_t;
#endif
-static const uint32_t MaxParticlesInSharedMem = 1975;
+static const uint32_t MaxParticlesInSharedMem = 1972;
struct DxPhaseConfig
@@ -106,6 +106,9 @@ struct DxClothData
uint32_t mTetherOffset;
float mTetherConstraintScale;
+ uint32_t mNumTriangles;
+ uint32_t mStartTriangleOffset;
+
// motion constraint data
float mMotionConstraintScale;
float mMotionConstraintBias;
@@ -161,6 +164,11 @@ struct DxFrameData
float mTetherConstraintStiffness;
+ // wind data
+ float mDragCoefficient;
+ float mLiftCoefficient;
+ float mRotation[9];
+
// motion constraint data
float mMotionConstraintStiffness;
uint32_t mStartMotionConstrainsOffset;
@@ -206,6 +214,7 @@ struct DxIterationData
explicit DxIterationData(const IterationState<Simd4f>&);
#endif
float mIntegrationTrafo[24];
+ float mWind[3];
uint32_t mIsTurning;
};
diff --git a/NvCloth/src/dx/DxDeviceVector.h b/NvCloth/src/dx/DxDeviceVector.h
index d64bd77..17b7d6e 100644
--- a/NvCloth/src/dx/DxDeviceVector.h
+++ b/NvCloth/src/dx/DxDeviceVector.h
@@ -44,6 +44,8 @@ struct DxBufferFlags
D3D11_BIND_FLAG mBindFlag;
D3D11_RESOURCE_MISC_FLAG mMiscFlag;
D3D11_CPU_ACCESS_FLAG mCpuAccessFlag;
+
+ bool isRawBuffer() { return (mMiscFlag & D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS) != 0; }
};
inline DxBufferFlags DxDefaultBufferPolicy()
@@ -55,6 +57,15 @@ inline DxBufferFlags DxDefaultBufferPolicy()
return result;
};
+inline DxBufferFlags DxDefaultRawBufferPolicy()
+{
+ DxBufferFlags result = {D3D11_USAGE_DEFAULT,
+ D3D11_BIND_FLAG(D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_UNORDERED_ACCESS),
+ D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS,
+ D3D11_CPU_ACCESS_FLAG(0)};
+ return result;
+};
+
inline DxBufferFlags DxDynamicBufferPolicy()
{
DxBufferFlags result = { D3D11_USAGE_DYNAMIC, D3D11_BIND_SHADER_RESOURCE,
@@ -78,20 +89,20 @@ class DxBuffer : public DxBufferFlags
public:
DxBuffer(DxContextManagerCallback* manager, const DxBufferFlags& flags = DxDefaultBufferPolicy())
- : DxBufferFlags(flags), mCapacity(0), mBuffer(0), mManager(manager), mResourceView(nullptr), mAccessView(nullptr)
+ : DxBufferFlags(flags), mCapacity(0), mBuffer(0), mManager(manager), mResourceView(nullptr), mAccessView(nullptr), mAccessRawView(nullptr)
{
}
DxBuffer(const T* first, const T* last, DxContextManagerCallback* manager,
const DxBufferFlags& flags = DxDefaultBufferPolicy())
- : DxBufferFlags(flags), mCapacity(0), mBuffer(0), mManager(manager), mResourceView(nullptr), mAccessView(nullptr)
+ : DxBufferFlags(flags), mCapacity(0), mBuffer(0), mManager(manager), mResourceView(nullptr), mAccessView(nullptr), mAccessRawView(nullptr)
{
D3D11_SUBRESOURCE_DATA data = { first };
create(uint32_t(last - first), &data);
}
DxBuffer(const DxBuffer& other)
- : DxBufferFlags(other), mCapacity(0), mBuffer(0), mManager(other.mManager), mResourceView(nullptr), mAccessView(nullptr)
+ : DxBufferFlags(other), mCapacity(0), mBuffer(0), mManager(other.mManager), mResourceView(nullptr), mAccessView(nullptr), mAccessRawView(nullptr)
{
operator=(other);
}
@@ -100,6 +111,8 @@ class DxBuffer : public DxBufferFlags
{
if (mAccessView)
mAccessView->Release();
+ if(mAccessRawView)
+ mAccessRawView->Release();
if (mResourceView)
mResourceView->Release();
if (mBuffer)
@@ -173,10 +186,28 @@ class DxBuffer : public DxBufferFlags
return mAccessView;
}
+ ID3D11UnorderedAccessView* accessViewRaw()
+ {
+ if(!mAccessRawView && mBuffer)
+ {
+ D3D11_BUFFER_UAV buffuav;
+ buffuav.FirstElement = 0;
+ buffuav.NumElements = (mCapacity * SizeOfT)>>2;
+ buffuav.Flags = D3D11_BUFFER_UAV_FLAG_RAW;
+
+ D3D11_UNORDERED_ACCESS_VIEW_DESC desc;
+ desc.Format = DXGI_FORMAT_R32_TYPELESS;
+ desc.ViewDimension = D3D11_UAV_DIMENSION_BUFFER;
+ desc.Buffer = buffuav;
+ mManager->getDevice()->CreateUnorderedAccessView(mBuffer, &desc, &mAccessRawView);
+ }
+ return mAccessRawView;
+ }
+
private:
void create(uint32_t capacity, D3D11_SUBRESOURCE_DATA* data = 0)
{
- CD3D11_BUFFER_DESC desc(capacity * SizeOfT, mBindFlag, mUsage, mCpuAccessFlag, mMiscFlag, SizeOfT);
+ CD3D11_BUFFER_DESC desc(capacity * SizeOfT, mBindFlag, mUsage, mCpuAccessFlag, mMiscFlag, isRawBuffer()?0:SizeOfT);
checkSuccess(mManager->getDevice()->CreateBuffer(&desc, data, &mBuffer));
mCapacity = capacity;
@@ -187,6 +218,10 @@ class DxBuffer : public DxBufferFlags
if (mAccessView)
mAccessView->Release();
mAccessView = nullptr;
+
+ if(mAccessRawView)
+ mAccessRawView->Release();
+ mAccessRawView = nullptr;
}
public:
@@ -195,6 +230,7 @@ class DxBuffer : public DxBufferFlags
DxContextManagerCallback* mManager;
ID3D11ShaderResourceView* mResourceView;
ID3D11UnorderedAccessView* mAccessView;
+ ID3D11UnorderedAccessView* mAccessRawView;
};
// STL-style vector that holds POD types in DX device memory. The interface
@@ -383,6 +419,7 @@ void swap(nv::cloth::DxBuffer<T>& left, nv::cloth::DxBuffer<T>& right)
swap(left.mManager, right.mManager);
swap(left.mResourceView, right.mResourceView);
swap(left.mAccessView, right.mAccessView);
+ swap(left.mAccessRawView, right.mAccessRawView);
}
}
}
diff --git a/NvCloth/src/dx/DxFabric.cpp b/NvCloth/src/dx/DxFabric.cpp
index 4952e80..56b2b0a 100644
--- a/NvCloth/src/dx/DxFabric.cpp
+++ b/NvCloth/src/dx/DxFabric.cpp
@@ -49,6 +49,7 @@ cloth::DxFabric::DxFabric(DxFactory& factory, uint32_t numParticles, Range<const
, mSets(sets.begin(), sets.end())
, mConstraints(mFactory.mConstraints)
, mConstraintsHostCopy(mFactory.mConstraintsHostCopy)
+, mTriangles(mFactory.mTriangles)
, mStiffnessValues(mFactory.mStiffnessValues)
, mTethers(mFactory.mTethers)
, mId(id)
@@ -114,12 +115,20 @@ cloth::DxFabric::DxFabric(DxFactory& factory, uint32_t numParticles, Range<const
mTethers.assign(tethers.begin(), tethers.end());
// triangles
- Vector<uint16_t>::Type hostTriangles;
- hostTriangles.resizeUninitialized(triangles.size());
- Vector<uint16_t>::Type::Iterator tIt = hostTriangles.begin();
+ Vector<uint32_t>::Type hostTriangles;
+ mNumTriangles = triangles.size();
+ //make sure there is an even number of elements allocated
+ hostTriangles.resizeUninitialized(triangles.size()>>1);
+ Vector<uint32_t>::Type::Iterator tIt = hostTriangles.begin();
for (; !triangles.empty(); triangles.popFront())
- *tIt++ = uint16_t(triangles.front());
+ {
+ uint32_t packed = triangles.front();
+ triangles.popFront();
+ if(!triangles.empty())
+ packed |= triangles.front()<<16;
+ *tIt++ = packed;
+ }
mTriangles.assign(hostTriangles.begin(), hostTriangles.end());
@@ -181,7 +190,7 @@ uint32_t cloth::DxFabric::getNumTethers() const
uint32_t cloth::DxFabric::getNumTriangles() const
{
- return uint32_t(mTriangles.size()) / 3;
+ return uint32_t(mNumTriangles) / 3;
}
void cloth::DxFabric::scaleRestvalues(float scale)
diff --git a/NvCloth/src/dx/DxFabric.h b/NvCloth/src/dx/DxFabric.h
index 2e64cee..6bc5b07 100644
--- a/NvCloth/src/dx/DxFabric.h
+++ b/NvCloth/src/dx/DxFabric.h
@@ -85,7 +85,8 @@ public:
DxBatchedVector<DxTether> mTethers;
float mTetherLengthScale;
- Vector<uint16_t>::Type mTriangles;
+ DxBatchedVector<uint32_t> mTriangles; //data stored is actually uint16_t
+ int mNumTriangles;
Vector<uint32_t>::Type mFirstConstraintInPhase;
Vector<uint32_t>::Type mNumConstraintsInPhase;
diff --git a/NvCloth/src/dx/DxFactory.cpp b/NvCloth/src/dx/DxFactory.cpp
index 0ab7129..fbf0c51 100644
--- a/NvCloth/src/dx/DxFactory.cpp
+++ b/NvCloth/src/dx/DxFactory.cpp
@@ -35,7 +35,6 @@
#include "DxCheckSuccess.h"
#include "DxContextLock.h"
#include "../ClothImpl.h"
-#include <PsFoundation.h>
#if NV_CLOTH_ENABLE_DX11
@@ -82,7 +81,7 @@ typedef Vec4T<uint32_t> Vec4u;
, mConstraintsHostCopy(mContextManager, DxStagingBufferPolicy())
, mStiffnessValues(mContextManager)
, mTethers(mContextManager)
- , mParticles(mContextManager)
+ , mParticles(mContextManager, DxDefaultRawBufferPolicy())
, mParticlesHostCopy(mContextManager, DxStagingBufferPolicy())
, mParticleAccelerations(mContextManager)
, mParticleAccelerationsHostCopy(mContextManager, DxStagingBufferPolicy())
@@ -104,6 +103,7 @@ typedef Vec4T<uint32_t> Vec4u;
, mSelfCollisionIndices(mContextManager)
, mSelfCollisionParticles(mContextManager)
, mSelfCollisionData(mContextManager)
+ , mTriangles(mContextManager)
{
if (mContextManager->synchronizeResources())
{
@@ -135,7 +135,7 @@ cloth::Fabric* cloth::DxFactory::createFabric(uint32_t numParticles, Range<const
cloth::Cloth* cloth::DxFactory::createCloth(Range<const PxVec4> particles, Fabric& fabric)
{
- return NV_CLOTH_NEW(DxClothImpl)(*this, fabric, particles);
+ return NV_CLOTH_NEW(DxCloth)(*this, static_cast<DxFabric&>(fabric), particles);
}
cloth::Solver* cloth::DxFactory::createSolver()
@@ -253,7 +253,7 @@ void cloth::DxFactory::extractFabricData(const Fabric& fabric, Range<uint32_t> p
{
PX_ASSERT(&cloth.getFactory() == this);
- const DxCloth& dxCloth = static_cast<const DxClothImpl&>(cloth).mCloth;
+ const DxCloth& dxCloth = static_cast<const DxCloth&>(cloth);
PX_ASSERT(spheres.empty() || spheres.size() == dxCloth.mStartCollisionSpheres.size());
PX_ASSERT(capsules.empty() || capsules.size() == dxCloth.mCapsuleIndices.size() * 2);
@@ -298,7 +298,7 @@ void cloth::DxFactory::extractFabricData(const Fabric& fabric, Range<uint32_t> p
{
PX_ASSERT(&cloth.getFactory() == this);
- const DxCloth& dxCloth = static_cast<const DxClothImpl&>(cloth).mCloth;
+ const DxCloth& dxCloth = static_cast<const DxCloth&>(cloth);
if (dxCloth.mMotionConstraints.mHostCopy.size())
{
@@ -324,7 +324,7 @@ void cloth::DxFactory::extractFabricData(const Fabric& fabric, Range<uint32_t> p
{
PX_ASSERT(&cloth.getFactory() == this);
- const DxCloth& dxCloth = static_cast<const DxClothImpl&>(cloth).mCloth;
+ const DxCloth& dxCloth = static_cast<const DxCloth&>(cloth);
if (dxCloth.mSeparationConstraints.mHostCopy.size())
{
@@ -383,7 +383,7 @@ void cloth::DxFactory::extractFabricData(const Fabric& fabric, Range<uint32_t> p
DxContextLock contextLock(*this);
- const DxCloth& dxCloth = static_cast<const DxClothImpl&>(cloth).mCloth;
+ const DxCloth& dxCloth = static_cast<const DxCloth&>(cloth);
if (destWeights.size() > 0)
{
@@ -424,7 +424,7 @@ void cloth::DxFactory::extractFabricData(const Fabric& fabric, Range<uint32_t> p
void cloth::DxFactory::extractSelfCollisionIndices(const Cloth& cloth, Range<uint32_t> destIndices) const
{
- const DxCloth& dxCloth = static_cast<const DxClothImpl&>(cloth).mCloth;
+ const DxCloth& dxCloth = static_cast<const DxCloth&>(cloth);
PX_ASSERT(destIndices.size() == dxCloth.mSelfCollisionIndices.size());
intrinsics::memCopy(destIndices.begin(), dxCloth.mSelfCollisionIndicesHost.begin(),
destIndices.size() * sizeof(uint32_t));
@@ -432,7 +432,7 @@ void cloth::DxFactory::extractFabricData(const Fabric& fabric, Range<uint32_t> p
void cloth::DxFactory::extractRestPositions(const Cloth& cloth, Range<PxVec4> destRestPositions) const
{
- const DxCloth& dxCloth = static_cast<const DxClothImpl&>(cloth).mCloth;
+ const DxCloth& dxCloth = static_cast<const DxCloth&>(cloth);
PX_ASSERT(destRestPositions.size() == dxCloth.mRestPositions.size());
intrinsics::memCopy(destRestPositions.begin(), DxCloth::MappedVec4fVectorType(const_cast<DxCloth&>(dxCloth).mRestPositions).begin(),
destRestPositions.size() * sizeof(PxVec4));
diff --git a/NvCloth/src/dx/DxFactory.h b/NvCloth/src/dx/DxFactory.h
index 0fec0d8..23d5382 100644
--- a/NvCloth/src/dx/DxFactory.h
+++ b/NvCloth/src/dx/DxFactory.h
@@ -63,7 +63,7 @@ protected:
public:
typedef DxFabric FabricType;
- typedef ClothImpl<DxCloth> ImplType;
+ typedef DxCloth ClothType;
explicit DxFactory(DxContextManagerCallback*);
virtual ~DxFactory();
@@ -155,6 +155,8 @@ protected:
DxBatchedStorage<uint32_t> mSelfCollisionIndices;
DxBatchedStorage<physx::PxVec4> mSelfCollisionParticles;
DxBatchedStorage<uint32_t> mSelfCollisionData;
+
+ DxBatchedStorage<uint32_t> mTriangles;
};
}
}
diff --git a/NvCloth/src/dx/DxSolver.cpp b/NvCloth/src/dx/DxSolver.cpp
index 4670bb6..ab030d5 100644
--- a/NvCloth/src/dx/DxSolver.cpp
+++ b/NvCloth/src/dx/DxSolver.cpp
@@ -36,7 +36,6 @@
#include "../IterationState.h"
#include <PsSort.h>
#include <foundation/PxProfiler.h>
-#include <PsFoundation.h>
#if NV_CLOTH_ENABLE_DX11
@@ -114,7 +113,7 @@ struct ClothSimCostGreater
void cloth::DxSolver::addCloth(Cloth* cloth)
{
- DxCloth& dxCloth = static_cast<DxClothImpl&>(*cloth).mCloth;
+ DxCloth& dxCloth = static_cast<DxCloth&>(*cloth);
NV_CLOTH_ASSERT(mCloths.find(&dxCloth) == mCloths.end());
@@ -211,10 +210,10 @@ void cloth::DxSolver::addCloth(Cloth* cloth)
void cloth::DxSolver::removeCloth(Cloth* cloth)
{
- DxCloth& cuCloth = static_cast<DxClothImpl&>(*cloth).mCloth;
+ DxCloth& dxCloth = static_cast<DxCloth&>(*cloth);
ClothVector::Iterator begin = mCloths.begin(), end = mCloths.end();
- ClothVector::Iterator it = mCloths.find(&cuCloth);
+ ClothVector::Iterator it = mCloths.find(&dxCloth);
if (it == end)
return; // not found
@@ -227,6 +226,18 @@ void cloth::DxSolver::removeCloth(Cloth* cloth)
mClothDataDirty = true;
}
+int cloth::DxSolver::getNumCloths() const
+{
+ return mCloths.size();
+}
+cloth::Cloth * const * cloth::DxSolver::getClothList() const
+{
+ if(getNumCloths())
+ return reinterpret_cast<Cloth* const*>(&mCloths[0]);
+ else
+ return nullptr;
+}
+
bool cloth::DxSolver::beginSimulation(float dt)
{
if (mCloths.empty())
@@ -340,24 +351,25 @@ void cloth::DxSolver::executeKernel()
{
context->CSSetShader(mFactory.mSolverKernelComputeShader, NULL, 0);
- ID3D11ShaderResourceView* resourceViews[17] = {
+ ID3D11ShaderResourceView* resourceViews[18] = {
mClothData.mBuffer.resourceView(), /*mFrameData.mBuffer.resourceView()*/NULL,
mIterationData.mBuffer.resourceView(), mFactory.mPhaseConfigs.mBuffer.resourceView(),
mFactory.mConstraints.mBuffer.resourceView(), mFactory.mTethers.mBuffer.resourceView(),
mFactory.mCapsuleIndicesDeviceCopy.resourceView(), mFactory.mCollisionSpheresDeviceCopy.resourceView(),
mFactory.mConvexMasksDeviceCopy.resourceView(), mFactory.mCollisionPlanesDeviceCopy.resourceView(),
- mFactory.mCollisionTriangles.mBuffer.resourceView(),
+ mFactory.mCollisionTrianglesDeviceCopy.resourceView(),
mFactory.mMotionConstraints.mBuffer.resourceView(),
mFactory.mSeparationConstraints.mBuffer.resourceView(),
mFactory.mParticleAccelerations.mBuffer.resourceView(),
mFactory.mRestPositionsDeviceCopy.resourceView(),
mFactory.mSelfCollisionIndices.mBuffer.resourceView(),
- mFactory.mStiffnessValues.mBuffer.resourceView()
+ mFactory.mStiffnessValues.mBuffer.resourceView(),
+ mFactory.mTriangles.mBuffer.resourceView()
};
- context->CSSetShaderResources(0, 17, resourceViews);
+ context->CSSetShaderResources(0, 18, resourceViews);
ID3D11UnorderedAccessView* accessViews[4] = {
- mFactory.mParticles.mBuffer.accessView(),
+ mFactory.mParticles.mBuffer.accessViewRaw(),
mFactory.mSelfCollisionParticles.mBuffer.accessView(),
mFactory.mSelfCollisionData.mBuffer.accessView(),
mFrameData.mBuffer.accessView()
diff --git a/NvCloth/src/dx/DxSolver.h b/NvCloth/src/dx/DxSolver.h
index cafbfa5..09f523a 100644
--- a/NvCloth/src/dx/DxSolver.h
+++ b/NvCloth/src/dx/DxSolver.h
@@ -55,8 +55,10 @@ class DxSolver : private DxContextLock, public Solver
DxSolver(DxFactory&);
~DxSolver();
- virtual void addCloth(Cloth*);
- virtual void removeCloth(Cloth*);
+ virtual void addCloth(Cloth*) override;
+ virtual void removeCloth(Cloth*) override;
+ virtual int getNumCloths() const override;
+ virtual Cloth * const * getClothList() const override;
// functions executing the simulation work.
virtual bool beginSimulation(float dt);
diff --git a/NvCloth/src/dx/DxSolverKernel.hlsl b/NvCloth/src/dx/DxSolverKernel.hlsl
index 2d42dea..2ca42b3 100644
--- a/NvCloth/src/dx/DxSolverKernel.hlsl
+++ b/NvCloth/src/dx/DxSolverKernel.hlsl
@@ -41,7 +41,7 @@ struct IndexPair
uint32_t second;
};
-RWStructuredBuffer<float4> bParticles : register(u0);
+RWByteAddressBuffer bParticles : register(u0); //contains float4 data
RWStructuredBuffer<float4> bSelfCollisionParticles : register(u1);
RWStructuredBuffer<uint32_t> bSelfCollisionData : register(u2);
@@ -73,6 +73,9 @@ StructuredBuffer<int32_t> bSelfCollisionIndices : register(t15);
StructuredBuffer<float> bPerConstraintStiffness : register(t16);
+//cloth mesh triangle information for air drag/lift
+//Note that the buffer actually contains uint16_t values
+StructuredBuffer<uint32_t> bTriangles : register(t17);
groupshared DxClothData gClothData;
groupshared DxFrameData gFrameData;
@@ -94,6 +97,7 @@ interface IParticles
{
float4 get(uint32_t index);
void set(uint32_t index, float4 value);
+ void atomicAdd(uint32_t index, float3 value);
};
@@ -184,6 +188,99 @@ void accelerateParticles(IParticles curParticles, uint32_t threadIdx)
GroupMemoryBarrierWithGroupSync();
}
+float rsqrt_2(const float v)
+{
+ float halfV = v * 0.5f;
+ float threeHalf = 1.5f;
+ float r = rsqrt(v);
+ for(int i = 0; i < 10; ++i)
+ r = r * (threeHalf - halfV * r * r);
+ return r;
+}
+
+void applyWind(IParticles curParticles, IParticles prevParticles, uint32_t threadIdx)
+{
+ const float dragCoefficient = gFrameData.mDragCoefficient;
+ const float liftCoefficient = gFrameData.mLiftCoefficient;
+
+ if(dragCoefficient == 0.0f && liftCoefficient == 0.0f)
+ return;
+
+ const float oneThird = 1.0f / 3.0f;
+ float3 wind = float3(gIterData.mWind[0], gIterData.mWind[1], gIterData.mWind[2]);
+
+ GroupMemoryBarrierWithGroupSync();
+
+ uint32_t triangleOffset = gClothData.mStartTriangleOffset;
+
+ for(uint32_t i = threadIdx; i < gClothData.mNumTriangles; i += blockDim.x)
+ {
+ uint32_t i0 = bTriangles[triangleOffset + ((i * 3 + 0) >> 1)];
+ uint32_t i1 = bTriangles[triangleOffset + ((i * 3 + 1) >> 1)];
+ uint32_t i2 = bTriangles[triangleOffset + ((i * 3 + 2) >> 1)];
+
+ if((i * 3) & 1)
+ {
+ i0 = (i0 & 0xFFFF0000) >> 16;
+ i1 = (i1 & 0x0000FFFF);
+ i2 = (i2 & 0xFFFF0000) >> 16;
+ }
+ else
+ {
+ i0 = (i0 & 0x0000FFFF);
+ i1 = (i1 & 0xFFFF0000) >> 16;
+ i2 = (i2 & 0x0000FFFF);
+ }
+
+ float4 c0 = curParticles.get(i0);
+ float4 c1 = curParticles.get(i1);
+ float4 c2 = curParticles.get(i2);
+
+ float4 p0 = prevParticles.get(i0);
+ float4 p1 = prevParticles.get(i1);
+ float4 p2 = prevParticles.get(i2);
+
+ float3 cur = oneThird * (c0.xyz + c1.xyz + c2.xyz);
+ float3 prev = oneThird * (p0.xyz + p1.xyz + p2.xyz);
+
+ float3 delta = cur - prev + wind;
+
+ if(gIterData.mIsTurning)
+ {
+ const float3 rot[3] = {
+ float3(gFrameData.mRotation[0], gFrameData.mRotation[1], gFrameData.mRotation[2]),
+ float3(gFrameData.mRotation[3], gFrameData.mRotation[4], gFrameData.mRotation[5]),
+ float3(gFrameData.mRotation[6], gFrameData.mRotation[7], gFrameData.mRotation[8])
+ };
+ float3 d = wind - prev;
+ delta = cur + d.x * rot[0] + d.y * rot[1] + d.z * rot[2];
+ }
+
+ float3 normal = cross(c2.xyz - c0.xyz, c1.xyz - c0.xyz);
+
+ float doubleArea = sqrt(dot(normal, normal));
+
+ float invSqrScale = dot(delta, delta);
+ float scale = rsqrt(invSqrScale);
+
+ float cosTheta = dot(normal, delta) * scale / doubleArea;
+ float sinTheta = sqrt(max(0.0f, 1.0f - cosTheta * cosTheta));
+
+ float3 liftDir = cross(cross(delta, normal), scale * delta);
+
+ float3 lift = liftCoefficient * cosTheta * sinTheta * liftDir;
+ float3 drag = dragCoefficient * abs(cosTheta) * doubleArea * delta;
+
+ float3 impulse = invSqrScale < 1.192092896e-07F ? float3(0.0f, 0.0f, 0.0f) : lift + drag;
+
+ curParticles.atomicAdd(i0, -impulse * c0.w);
+ curParticles.atomicAdd(i1, -impulse * c1.w);
+ curParticles.atomicAdd(i2, -impulse * c2.w);
+ }
+
+ GroupMemoryBarrierWithGroupSync();
+}
+
void constrainMotion(IParticles curParticles, uint32_t threadIdx, float alpha)
{
if (gFrameData.mStartMotionConstrainsOffset == -1)
@@ -487,7 +584,7 @@ struct TriangleData
};
-void collideTriangles(IParticles curParticles, int32_t i)
+void collideParticleTriangles(IParticles curParticles, int32_t i, float alpha)
{
float4 curPos = curParticles.get(i);
float3 pos = curPos.xyz;
@@ -497,10 +594,18 @@ void collideTriangles(IParticles curParticles, int32_t i)
for (uint32_t j = 0; j < gClothData.mNumCollisionTriangles; ++j)
{
+ // start + (target - start) * alpha
+ float3 startBase = bCollisionTriangles[gFrameData.mStartCollisionTrianglesOffset + 3 * j];
+ float3 targetBase = bCollisionTriangles[gFrameData.mTargetCollisionTrianglesOffset + 3 * j];
+ float3 startEdge0 = bCollisionTriangles[gFrameData.mStartCollisionTrianglesOffset + 3 * j + 1];
+ float3 targetEdge0 = bCollisionTriangles[gFrameData.mTargetCollisionTrianglesOffset + 3 * j + 1];
+ float3 startEdge1 = bCollisionTriangles[gFrameData.mStartCollisionTrianglesOffset + 3 * j + 2];
+ float3 targetEdge1 = bCollisionTriangles[gFrameData.mTargetCollisionTrianglesOffset + 3 * j + 2];
+
TriangleData tIt;
- tIt.base = bCollisionTriangles[gFrameData.mStartCollisionTrianglesOffset + 3 * j];
- tIt.edge0 = bCollisionTriangles[gFrameData.mStartCollisionTrianglesOffset + 3 * j + 1];
- tIt.edge1 = bCollisionTriangles[gFrameData.mStartCollisionTrianglesOffset + 3 * j + 2];
+ tIt.base = startBase + (targetBase - startBase) * alpha;
+ tIt.edge0 = startEdge0 + (targetEdge0 - startEdge0) * alpha;
+ tIt.edge1 = startEdge1 + (targetEdge1 - startEdge1) * alpha;
tIt.initialize();
@@ -565,14 +670,14 @@ void collideTriangles(IParticles curParticles, uint32_t threadIdx, float alpha)
// mCurData.mSphereX[offset] = start + (target - start) * alpha;
// }
//
-// GroupMemoryBarrierWithGroupSync();
+ GroupMemoryBarrierWithGroupSync();
for (uint32_t j = threadIdx; j < gClothData.mNumParticles; j += blockDim)
{
// float4 curPos = curParticles.get(j);
// float3 delta;
- collideTriangles(curParticles, j);
+ collideParticleTriangles(curParticles, j, alpha);
// if (numCollisions > 0)
// {
// float scale = 1.0f / numCollisions;
@@ -1148,7 +1253,7 @@ void collideContinuousCapsules(IParticles curParticles, IParticles prevParticles
void collideParticles(IParticles curParticles, IParticles prevParticles, uint32_t threadIdx, float alpha, float prevAlpha)
{
collideConvexes(curParticles, prevParticles, threadIdx, alpha);
- collideTriangles(curParticles, alpha);
+ collideTriangles(curParticles, threadIdx, alpha);
if (gClothData.mEnableContinuousCollision)
collideContinuousCapsules(curParticles, prevParticles, threadIdx, alpha, prevAlpha);
else
@@ -1572,6 +1677,7 @@ void simulateCloth(IParticles curParticles, IParticles prevParticles, uint32_t t
integrateParticles(curParticles, prevParticles, threadIdx);
accelerateParticles(curParticles, threadIdx);
+ applyWind(curParticles, prevParticles, threadIdx);
constrainMotion(curParticles, threadIdx, alpha);
constrainTether(curParticles, threadIdx);
// note: GroupMemoryBarrierWithGroupSync at beginning of each fabric phase
@@ -1604,6 +1710,21 @@ class ParticlesInSharedMem : IParticles
gCurParticles[index + MaxParticlesInSharedMem * 2] = asuint(value.z);
gCurParticles[index + MaxParticlesInSharedMem * 3] = asuint(value.w);
}
+ void atomicAdd(uint32_t index, float3 value)
+ {
+ interlockedAddFloat(index + MaxParticlesInSharedMem * 0, value.x);
+ interlockedAddFloat(index + MaxParticlesInSharedMem * 1, value.y);
+ interlockedAddFloat(index + MaxParticlesInSharedMem * 2, value.z);
+ }
+
+ void interlockedAddFloat(uint addr, float value)
+ {
+ uint comp, original = gCurParticles[addr];
+ [allow_uav_condition]do
+ {
+ InterlockedCompareExchange(gCurParticles[addr], comp = original, asuint(asfloat(original) + value), original);
+ } while(original != comp);
+ }
};
class ParticlesInGlobalMem : IParticles
@@ -1612,11 +1733,26 @@ class ParticlesInGlobalMem : IParticles
float4 get(uint32_t index)
{
- return bParticles[_offset + index];
+ return asfloat(bParticles.Load4((_offset + index)*16));
}
void set(uint32_t index, float4 value)
{
- bParticles[_offset + index] = value;
+ bParticles.Store4((_offset + index) * 16, asuint(value));
+ }
+ void atomicAdd(uint32_t index, float3 value)
+ {
+ interlockedAddFloat((_offset + index) * 16 + 0, value.x);
+ interlockedAddFloat((_offset + index) * 16 + 4, value.y);
+ interlockedAddFloat((_offset + index) * 16 + 8, value.z);
+ }
+
+ void interlockedAddFloat(uint addr, float value)
+ {
+ uint comp, original = bParticles.Load(addr);
+ [allow_uav_condition]do
+ {
+ bParticles.InterlockedCompareExchange(addr, comp = original, asuint(asfloat(original) + value), original);
+ } while(original != comp);
}
};
@@ -1640,14 +1776,14 @@ class ParticlesInGlobalMem : IParticles
uint32_t i;
for (i = threadIdx; i < gClothData.mNumParticles; i += blockDim)
{
- curParticles.set(i, bParticles[gClothData.mParticlesOffset + i]);
+ curParticles.set(i, asfloat(bParticles.Load4((gClothData.mParticlesOffset + i) * 16)));
}
simulateCloth(curParticles, prevParticles, threadIdx);
for (i = threadIdx; i < gClothData.mNumParticles; i += blockDim)
{
- bParticles[gClothData.mParticlesOffset + i] = curParticles.get(i);
+ bParticles.Store4((gClothData.mParticlesOffset + i) * 16, asuint(curParticles.get(i)));
}
}
else
diff --git a/NvCloth/src/dx/DxSolverKernelBlob.h b/NvCloth/src/dx/DxSolverKernelBlob.h
index 8c2dd82..e69de29 100644
--- a/NvCloth/src/dx/DxSolverKernelBlob.h
+++ b/NvCloth/src/dx/DxSolverKernelBlob.h
@@ -1,24502 +0,0 @@
-#if 0
-//
-// Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.16384
-//
-//
-// Buffer Definitions:
-//
-// Resource bind info for bClothData
-// {
-//
-// struct DxClothData
-// {
-//
-// uint mNumParticles; // Offset: 0
-// uint mParticlesOffset; // Offset: 4
-// uint mNumPhases; // Offset: 8
-// uint mPhaseConfigOffset; // Offset: 12
-// uint mConstraintOffset; // Offset: 16
-// uint mStiffnessOffset; // Offset: 20
-// uint mNumTethers; // Offset: 24
-// uint mTetherOffset; // Offset: 28
-// float mTetherConstraintScale; // Offset: 32
-// float mMotionConstraintScale; // Offset: 36
-// float mMotionConstraintBias; // Offset: 40
-// uint mNumCapsules; // Offset: 44
-// uint mCapsuleOffset; // Offset: 48
-// uint mNumSpheres; // Offset: 52
-// uint mNumPlanes; // Offset: 56
-// uint mNumConvexes; // Offset: 60
-// uint mConvexMasksOffset; // Offset: 64
-// uint mNumCollisionTriangles; // Offset: 68
-// uint mEnableContinuousCollision;// Offset: 72
-// float mCollisionMassScale; // Offset: 76
-// float mFrictionScale; // Offset: 80
-// float mSelfCollisionDistance; // Offset: 84
-// uint mNumSelfCollisionIndices; // Offset: 88
-// uint mSelfCollisionIndicesOffset;// Offset: 92
-// uint mSelfCollisionParticlesOffset;// Offset: 96
-// uint mSelfCollisionDataOffset; // Offset: 100
-// uint mSleepTestInterval; // Offset: 104
-// uint mSleepAfterCount; // Offset: 108
-// float mSleepThreshold; // Offset: 112
-//
-// } $Element; // Offset: 0 Size: 116
-//
-// }
-//
-// Resource bind info for bIterData
-// {
-//
-// struct DxIterationData
-// {
-//
-// float mIntegrationTrafo[24]; // Offset: 0
-// uint mIsTurning; // Offset: 96
-//
-// } $Element; // Offset: 0 Size: 100
-//
-// }
-//
-// Resource bind info for bPhaseConfigs
-// {
-//
-// struct DxPhaseConfig
-// {
-//
-// float mStiffness; // Offset: 0
-// float mStiffnessMultiplier; // Offset: 4
-// float mCompressionLimit; // Offset: 8
-// float mStretchLimit; // Offset: 12
-// uint mFirstConstraint; // Offset: 16
-// uint mNumConstraints; // Offset: 20
-//
-// } $Element; // Offset: 0 Size: 24
-//
-// }
-//
-// Resource bind info for bConstraints
-// {
-//
-// struct DxConstraint
-// {
-//
-// float mRestvalue; // Offset: 0
-// uint mIndices; // Offset: 4
-//
-// } $Element; // Offset: 0 Size: 8
-//
-// }
-//
-// Resource bind info for bTetherConstraints
-// {
-//
-// struct DxTether
-// {
-//
-// uint mValue; // Offset: 0
-//
-// } $Element; // Offset: 0 Size: 4
-//
-// }
-//
-// Resource bind info for bCapsuleIndices
-// {
-//
-// struct IndexPair
-// {
-//
-// uint first; // Offset: 0
-// uint second; // Offset: 4
-//
-// } $Element; // Offset: 0 Size: 8
-//
-// }
-//
-// Resource bind info for bCollisionSpheres
-// {
-//
-// float4 $Element; // Offset: 0 Size: 16
-//
-// }
-//
-// Resource bind info for bConvexMasks
-// {
-//
-// uint $Element; // Offset: 0 Size: 4
-//
-// }
-//
-// Resource bind info for bCollisionPlanes
-// {
-//
-// float4 $Element; // Offset: 0 Size: 16
-//
-// }
-//
-// Resource bind info for bCollisionTriangles
-// {
-//
-// float3 $Element; // Offset: 0 Size: 12
-//
-// }
-//
-// Resource bind info for bMotionConstraints
-// {
-//
-// float4 $Element; // Offset: 0 Size: 16
-//
-// }
-//
-// Resource bind info for bSeparationConstraints
-// {
-//
-// float4 $Element; // Offset: 0 Size: 16
-//
-// }
-//
-// Resource bind info for bParticleAccelerations
-// {
-//
-// float4 $Element; // Offset: 0 Size: 16
-//
-// }
-//
-// Resource bind info for bRestPositions
-// {
-//
-// float4 $Element; // Offset: 0 Size: 16
-//
-// }
-//
-// Resource bind info for bSelfCollisionIndices
-// {
-//
-// int $Element; // Offset: 0 Size: 4
-//
-// }
-//
-// Resource bind info for bPerConstraintStiffness
-// {
-//
-// float $Element; // Offset: 0 Size: 4
-//
-// }
-//
-// Resource bind info for bParticles
-// {
-//
-// float4 $Element; // Offset: 0 Size: 16
-//
-// }
-//
-// Resource bind info for bSelfCollisionParticles
-// {
-//
-// float4 $Element; // Offset: 0 Size: 16
-//
-// }
-//
-// Resource bind info for bSelfCollisionData
-// {
-//
-// uint $Element; // Offset: 0 Size: 4
-//
-// }
-//
-// Resource bind info for bFrameData
-// {
-//
-// struct DxFrameData
-// {
-//
-// bool mDeviceParticlesDirty; // Offset: 0
-// uint mNumSharedPositions; // Offset: 4
-// float mIterDt; // Offset: 8
-// uint mFirstIteration; // Offset: 12
-// uint mNumIterations; // Offset: 16
-// float mTetherConstraintStiffness;// Offset: 20
-// float mMotionConstraintStiffness;// Offset: 24
-// uint mStartMotionConstrainsOffset;// Offset: 28
-// uint mTargetMotionConstrainsOffset;// Offset: 32
-// uint mStartSeparationConstrainsOffset;// Offset: 36
-// uint mTargetSeparationConstrainsOffset;// Offset: 40
-// uint mParticleAccelerationsOffset;// Offset: 44
-// uint mStartSphereOffset; // Offset: 48
-// uint mTargetSphereOffset; // Offset: 52
-// uint mStartCollisionPlaneOffset;// Offset: 56
-// uint mTargetCollisionPlaneOffset;// Offset: 60
-// uint mStartCollisionTrianglesOffset;// Offset: 64
-// uint mTargetCollisionTrianglesOffset;// Offset: 68
-// float mSelfCollisionStiffness; // Offset: 72
-// float mParticleBounds[6]; // Offset: 76
-// uint mSleepPassCounter; // Offset: 100
-// uint mSleepTestCounter; // Offset: 104
-// float mStiffnessExponent; // Offset: 108
-// uint mRestPositionsOffset; // Offset: 112
-// bool mInitSelfCollisionData; // Offset: 116
-//
-// } $Element; // Offset: 0 Size: 120
-//
-// }
-//
-//
-// Resource Bindings:
-//
-// Name Type Format Dim Slot Elements
-// ------------------------------ ---------- ------- ----------- ---- --------
-// bClothData texture struct r/o 0 1
-// bIterData texture struct r/o 2 1
-// bPhaseConfigs texture struct r/o 3 1
-// bConstraints texture struct r/o 4 1
-// bTetherConstraints texture struct r/o 5 1
-// bCapsuleIndices texture struct r/o 6 1
-// bCollisionSpheres texture struct r/o 7 1
-// bConvexMasks texture struct r/o 8 1
-// bCollisionPlanes texture struct r/o 9 1
-// bCollisionTriangles texture struct r/o 10 1
-// bMotionConstraints texture struct r/o 11 1
-// bSeparationConstraints texture struct r/o 12 1
-// bParticleAccelerations texture struct r/o 13 1
-// bRestPositions texture struct r/o 14 1
-// bSelfCollisionIndices texture struct r/o 15 1
-// bPerConstraintStiffness texture struct r/o 16 1
-// bParticles UAV struct r/w 0 1
-// bSelfCollisionParticles UAV struct r/w 1 1
-// bSelfCollisionData UAV struct r/w 2 1
-// bFrameData UAV struct r/w 3 1
-//
-//
-//
-// Input signature:
-//
-// Name Index Mask Register SysValue Format Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// no Input
-//
-// Output signature:
-//
-// Name Index Mask Register SysValue Format Used
-// -------------------- ----- ------ -------- -------- ------- ------
-// no Output
-cs_5_0
-dcl_globalFlags refactoringAllowed
-dcl_immediateConstantBuffer { { 1.000000, 0, 0, 0},
- { 0, 1.000000, 0, 0},
- { 0, 0, 1.000000, 0},
- { 0, 0, 0, 1.000000} }
-dcl_resource_structured t0, 116
-dcl_resource_structured t2, 100
-dcl_resource_structured t3, 24
-dcl_resource_structured t4, 8
-dcl_resource_structured t5, 4
-dcl_resource_structured t6, 8
-dcl_resource_structured t7, 16
-dcl_resource_structured t8, 4
-dcl_resource_structured t9, 16
-dcl_resource_structured t10, 12
-dcl_resource_structured t11, 16
-dcl_resource_structured t12, 16
-dcl_resource_structured t13, 16
-dcl_resource_structured t14, 16
-dcl_resource_structured t15, 4
-dcl_resource_structured t16, 4
-dcl_uav_structured u0, 16
-dcl_uav_structured u1, 16
-dcl_uav_structured u2, 4
-dcl_uav_structured u3, 120
-dcl_input vThreadGroupID.x
-dcl_input vThreadIDInGroup.x
-dcl_temps 48
-dcl_tgsm_raw g0, 116
-dcl_tgsm_raw g1, 120
-dcl_tgsm_raw g2, 100
-dcl_tgsm_structured g3, 4, 7900
-dcl_tgsm_structured g4, 4, 192
-dcl_tgsm_raw g5, 36
-dcl_tgsm_structured g6, 4, 3
-dcl_thread_group 1024, 1, 1
-if_z vThreadIDInGroup.x
- ld_structured_indexable(structured_buffer, stride=116)(mixed,mixed,mixed,mixed) r0.xyzw, vThreadGroupID.x, l(0), t0.xyzw
- ld_structured_indexable(structured_buffer, stride=116)(mixed,mixed,mixed,mixed) r1.xyzw, vThreadGroupID.x, l(16), t0.xyzw
- ld_structured_indexable(structured_buffer, stride=116)(mixed,mixed,mixed,mixed) r2.xyzw, vThreadGroupID.x, l(32), t0.xyzw
- ld_structured_indexable(structured_buffer, stride=116)(mixed,mixed,mixed,mixed) r3.xy, vThreadGroupID.x, l(48), t0.xyxx
- ld_structured_indexable(structured_buffer, stride=116)(mixed,mixed,mixed,mixed) r4.xyzw, vThreadGroupID.x, l(60), t0.xyzw
- ld_structured_indexable(structured_buffer, stride=116)(mixed,mixed,mixed,mixed) r5.xyzw, vThreadGroupID.x, l(76), t0.xyzw
- ld_structured_indexable(structured_buffer, stride=116)(mixed,mixed,mixed,mixed) r6.xyzw, vThreadGroupID.x, l(92), t0.xyzw
- ld_structured_indexable(structured_buffer, stride=116)(mixed,mixed,mixed,mixed) r3.z, vThreadGroupID.x, l(112), t0.xxxx
- store_raw g0.xyzw, l(0), r0.xyzw
- store_raw g0.xyzw, l(16), r1.xyzw
- store_raw g0.xyzw, l(32), r2.xyzw
- store_raw g0.xy, l(48), r3.xyxx
- store_raw g0.xyzw, l(60), r4.xyzw
- store_raw g0.xyzw, l(76), r5.xyzw
- store_raw g0.xyzw, l(92), r6.xyzw
- store_raw g0.x, l(112), r3.z
- ld_structured_indexable(structured_buffer, stride=120)(mixed,mixed,mixed,mixed) r0.xyzw, vThreadGroupID.x, l(0), u3.xyzw
- ld_structured_indexable(structured_buffer, stride=120)(mixed,mixed,mixed,mixed) r1.xyzw, vThreadGroupID.x, l(16), u3.xyzw
- ld_structured_indexable(structured_buffer, stride=120)(mixed,mixed,mixed,mixed) r2.xyzw, vThreadGroupID.x, l(32), u3.xyzw
- ld_structured_indexable(structured_buffer, stride=120)(mixed,mixed,mixed,mixed) r3.xyzw, vThreadGroupID.x, l(48), u3.xyzw
- ld_structured_indexable(structured_buffer, stride=120)(mixed,mixed,mixed,mixed) r4.xyzw, vThreadGroupID.x, l(64), u3.xyzw
- ld_structured_indexable(structured_buffer, stride=120)(mixed,mixed,mixed,mixed) r5.xyzw, vThreadGroupID.x, l(80), u3.xyzw
- ld_structured_indexable(structured_buffer, stride=120)(mixed,mixed,mixed,mixed) r6.xyzw, vThreadGroupID.x, l(96), u3.xyzw
- ld_structured_indexable(structured_buffer, stride=120)(mixed,mixed,mixed,mixed) r7.xy, vThreadGroupID.x, l(112), u3.xyxx
- store_raw g1.xyzw, l(0), r0.xyzw
- store_raw g1.xyzw, l(16), r1.xyzw
- store_raw g1.xyzw, l(32), r2.xyzw
- store_raw g1.xyzw, l(48), r3.xyzw
- store_raw g1.xyzw, l(64), r4.xyzw
- store_raw g1.xyzw, l(80), r5.xyzw
- store_raw g1.xyzw, l(96), r6.xyzw
- store_raw g1.xy, l(112), r7.xyxx
-endif
-sync_g_t
-ld_raw r0.xy, l(0), g0.xyxx
-iadd r0.x, r0.x, r0.y
-ld_raw r0.y, l(0), g0.xxxx
-uge r0.z, l(1975), r0.y
-if_nz r0.z
- ld_raw r0.z, l(4), g0.xxxx
- mov r1.x, vThreadIDInGroup.x
- loop
- uge r0.w, r1.x, r0.y
- breakc_nz r0.w
- iadd r0.w, r0.z, r1.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r2.xyzw, r0.w, l(0), u0.xyzw
- store_structured g3.x, r1.x, l(0), r2.x
- iadd r1.xyzw, r1.xxxx, l(1024, 1975, 3950, 5925)
- store_structured g3.x, r1.y, l(0), r2.y
- store_structured g3.x, r1.z, l(0), r2.z
- store_structured g3.x, r1.w, l(0), r2.w
- endloop
- not r0.y, vThreadIDInGroup.x
- and r0.y, r0.y, l(3)
- ult r1.xyzw, vThreadIDInGroup.xxxx, l(192, 176, 3, 512)
- and r2.xyzw, vThreadIDInGroup.xxxx, l(32, 31, 1, 2)
- movc r0.z, r2.x, l(-1.000000), l(1.000000)
- iadd r3.xyzw, vThreadIDInGroup.xxxx, l(16, 8, 4, 2)
- ieq r0.w, r2.y, l(0)
- and r0.w, r0.w, r1.x
- ushr r4.xy, vThreadIDInGroup.xxxx, l(6, 5, 0, 0)
- ishl r2.x, r4.y, l(2)
- ishl r4.z, vThreadIDInGroup.x, l(3)
- iadd r4.z, r4.z, l(76)
- iadd r2.xz, r2.xxzx, l(76, 0, -1, 0)
- ine r2.w, r2.w, l(0)
- ieq r2.w, r2.w, l(0)
- and r5.xyz, vThreadIDInGroup.xxxx, l(4, 8, 992, 0)
- ine r5.xy, r5.xyxx, l(0, 0, 0, 0)
- ieq r5.xy, r5.xyxx, l(0, 0, 0, 0)
- iadd r6.xyzw, vThreadIDInGroup.xxxx, l(1, 1040, 3088, 1032)
- ult r7.xyzw, r2.yyyy, l(16, 8, 4, 2)
- ult r4.w, r2.y, l(1)
- iadd r8.xyzw, vThreadIDInGroup.xxxx, l(3080, 1028, 3076, 1026)
- iadd r9.xyzw, r3.xyzw, l(2048, 2048, 2048, 2048)
- iadd r10.xyz, r5.zzzz, l(1024, 2048, 3072, 0)
- iadd r11.xy, r4.yyyy, l(1, 513, 0, 0)
- bfi r12.xyzw, l(10, 11, 10, 5), l(0, 0, 0, 5), vThreadIDInGroup.xxxx, l(1024, 2048, 3072, 0)
- iadd r11.xz, r11.xxyx, r12.wwww
- iadd r13.xyzw, vThreadIDInGroup.xxxx, l(3074, 1025, 3073, 514)
- iadd r14.xy, r6.xxxx, l(2048, 4096, 0, 0)
- iadd r5.w, vThreadIDInGroup.x, l(4096)
- iadd r10.w, r13.w, l(4096)
- iadd r15.xyzw, vThreadIDInGroup.xxxx, l(4097, 512, 4610, 4093)
- iadd r11.w, r15.y, l(4096)
- uge r16.xyzw, vThreadIDInGroup.xxxx, l(1, 2, 4, 8)
- iadd r17.xyzw, vThreadIDInGroup.xxxx, l(506, 4081, 482, 4033)
- iadd r14.zw, r17.xxxz, l(0, 0, 4096, 4096)
- uge r18.xyzw, vThreadIDInGroup.xxxx, l(16, 32, 64, 128)
- iadd r17.xz, vThreadIDInGroup.xxxx, l(386, 0, 3841, 0)
- iadd r12.w, r17.x, l(4096)
- uge r13.w, vThreadIDInGroup.x, l(256)
- iadd r11.xz, r11.xxzx, l(4096, 0, 4096, 0)
- mov r15.y, l(0)
- loop
- ld_raw r17.x, l(16), g1.xxxx
- uge r19.x, r15.y, r17.x
- breakc_nz r19.x
- utof r19.x, r15.y
- add r19.y, r19.x, l(1.000000)
- utof r17.x, r17.x
- div r17.x, r19.y, r17.x
- if_z vThreadIDInGroup.x
- ld_raw r19.y, l(12), g1.xxxx
- iadd r19.y, r15.y, r19.y
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r20.xyzw, r19.y, l(0), t2.xyzw
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r21.xyzw, r19.y, l(16), t2.xyzw
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r22.xyzw, r19.y, l(32), t2.xyzw
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r23.xyzw, r19.y, l(48), t2.xyzw
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r24.xyzw, r19.y, l(64), t2.xyzw
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r25.xyzw, r19.y, l(80), t2.xyzw
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r19.y, r19.y, l(96), t2.xxxx
- store_raw g2.xyzw, l(0), r20.xyzw
- store_raw g2.xyzw, l(16), r21.xyzw
- store_raw g2.xyzw, l(32), r22.xyzw
- store_raw g2.xyzw, l(48), r23.xyzw
- store_raw g2.xyzw, l(64), r24.xyzw
- store_raw g2.xyzw, l(80), r25.xyzw
- store_raw g2.x, l(96), r19.y
- endif
- sync_g_t
- ld_raw r19.y, l(0), g0.xxxx
- ld_raw r20.xyz, l(12), g2.xyzx
- ld_raw r21.xyzw, l(60), g2.xyzw
- ld_raw r22.xyzw, l(24), g2.xyzw
- ld_raw r23.xyzw, l(76), g2.xyzw
- ld_raw r24.xyzw, l(40), g2.xyzw
- ld_raw r19.zw, l(92), g2.xxxy
- ld_raw r20.w, l(56), g2.xxxx
- ld_raw r25.xyzw, l(12), g2.xyzw
- ld_raw r26.x, l(36), g2.xxxx
- ld_raw r26.y, l(48), g2.xxxx
- mov r26.z, vThreadIDInGroup.x
- loop
- uge r26.w, r26.z, r19.y
- breakc_nz r26.w
- ld_structured r27.x, r26.z, l(0), g3.xxxx
- iadd r28.xyzw, r26.zzzz, l(1975, 3950, 5925, 1024)
- ld_structured r27.y, r28.x, l(0), g3.xxxx
- ld_structured r27.z, r28.y, l(0), g3.xxxx
- ld_structured r26.w, r28.z, l(0), g3.xxxx
- iadd r27.w, r0.x, r26.z
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r29.xyzw, r27.w, l(0), u0.xyzw
- eq r30.x, r26.w, l(0.000000)
- movc r26.w, r30.x, r29.w, r26.w
- lt r29.w, l(0.000000), r26.w
- if_nz r29.w
- if_nz r19.w
- add r30.xy, r20.xyxx, r27.xyxx
- mad r30.xy, r27.xxxx, r21.xwxx, r30.xyxx
- mad r30.xy, r29.xxxx, r22.xwxx, r30.xyxx
- mad r29.w, r27.y, r21.y, r30.x
- mad r29.w, r29.y, r22.y, r29.w
- mad r29.w, r27.z, r21.z, r29.w
- mad r31.x, r29.z, r22.z, r29.w
- mad r29.w, r27.y, r23.x, r30.y
- mad r29.w, r29.y, r24.x, r29.w
- mad r29.w, r27.z, r23.y, r29.w
- mad r31.y, r29.z, r24.y, r29.w
- add r29.w, r20.z, r27.z
- mad r29.w, r27.x, r23.z, r29.w
- mad r29.w, r29.x, r24.z, r29.w
- mad r29.w, r27.y, r23.w, r29.w
- mad r29.w, r29.y, r24.w, r29.w
- mad r29.w, r27.z, r19.z, r29.w
- mad r29.w, r29.z, r20.w, r29.w
- else
- add r29.xy, r27.xyxx, -r29.xyxx
- mad r29.x, r29.x, r25.w, r25.x
- add r31.x, r27.x, r29.x
- mad r29.x, r29.y, r26.x, r25.y
- add r31.y, r27.y, r29.x
- add r29.x, r27.z, -r29.z
- mad r29.x, r29.x, r26.y, r25.z
- add r29.w, r27.z, r29.x
- endif
- ld_raw r29.xyz, l(0), g2.xyzx
- add r27.xyz, r27.xyzx, r29.xyzx
- else
- mov r31.xy, r27.xyxx
- mov r29.w, r27.z
- endif
- store_structured g3.x, r26.z, l(0), r31.x
- store_structured g3.x, r28.x, l(0), r31.y
- store_structured g3.x, r28.y, l(0), r29.w
- store_structured g3.x, r28.z, l(0), r26.w
- store_structured u0.xyz, r27.w, l(0), r27.xyzx
- mov r26.z, r28.w
- endloop
- ld_raw r19.y, l(44), g1.xxxx
- sync_g_t
- ld_raw r19.z, l(8), g1.xxxx
- mul r19.z, r19.z, r19.z
- movc r19.z, r0.y, r19.z, l(0)
- ld_raw r19.w, l(0), g0.xxxx
- ishl r20.x, r19.w, l(2)
- mov r20.y, vThreadIDInGroup.x
- loop
- uge r20.z, r20.y, r20.x
- breakc_nz r20.z
- ushr r20.z, r20.y, l(2)
- ld_structured r21.x, r20.z, l(0), g3.xxxx
- iadd r22.xyz, r20.zzzz, l(1975, 3950, 5925, 0)
- ld_structured r21.y, r22.x, l(0), g3.xxxx
- ld_structured r21.z, r22.y, l(0), g3.xxxx
- ld_structured r21.w, r22.z, l(0), g3.xxxx
- lt r20.w, l(0.000000), r21.w
- if_nz r20.w
- iadd r20.w, r19.y, r20.y
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r23.xyzw, r20.w, l(0), t13.xyzw
- mad r21.xyzw, r23.xyzw, r19.zzzz, r21.xyzw
- store_structured g3.x, r20.z, l(0), r21.x
- store_structured g3.x, r22.x, l(0), r21.y
- store_structured g3.x, r22.y, l(0), r21.z
- store_structured g3.x, r22.z, l(0), r21.w
- endif
- iadd r20.y, r20.y, l(1024)
- endloop
- sync_g_t
- ld_raw r19.y, l(28), g1.xxxx
- ine r19.y, r19.y, l(-1)
- if_nz r19.y
- ld_raw r19.yz, l(36), g0.xxyx
- ld_raw r20.xyz, l(24), g1.xyzx
- ld_raw r19.w, l(0), g0.xxxx
- mov r20.w, vThreadIDInGroup.x
- loop
- uge r21.x, r20.w, r19.w
- breakc_nz r21.x
- iadd r21.xy, r20.wwww, r20.yzyy
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r22.xyzw, r21.x, l(0), t11.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r21.xyzw, r21.y, l(0), t11.xyzw
- add r21.xyzw, -r22.xyzw, r21.xyzw
- mad r21.xyzw, r21.xyzw, r17.xxxx, r22.xyzw
- ld_structured r22.x, r20.w, l(0), g3.xxxx
- iadd r23.xyzw, r20.wwww, l(1975, 3950, 5925, 1024)
- ld_structured r22.y, r23.x, l(0), g3.xxxx
- ld_structured r22.z, r23.y, l(0), g3.xxxx
- ld_structured r22.w, r23.z, l(0), g3.xxxx
- add r21.xyz, r21.xyzx, -r22.xyzx
- dp3 r24.x, r21.xyzx, r21.xyzx
- add r24.x, r24.x, l(0.000000)
- mad r21.w, r21.w, -r19.y, -r19.z
- min r21.w, r21.w, l(0.000000)
- rsq r24.x, r24.x
- mad r24.x, r21.w, r24.x, l(1.000000)
- max r24.x, r24.x, l(0.000000)
- mul r24.x, r20.x, r24.x
- mad r21.xyz, r24.xxxx, r21.xyzx, r22.xyzx
- ge r21.w, r21.w, l(0.000000)
- movc r21.w, r21.w, l(0), r22.w
- store_structured g3.x, r20.w, l(0), r21.x
- store_structured g3.x, r23.x, l(0), r21.y
- store_structured g3.x, r23.y, l(0), r21.z
- store_structured g3.x, r23.z, l(0), r21.w
- mov r20.w, r23.w
- endloop
- endif
- ld_raw r19.y, l(20), g1.xxxx
- eq r19.z, r19.y, l(0.000000)
- ld_raw r19.w, l(24), g0.xxxx
- ieq r20.x, r19.w, l(0)
- or r19.z, r19.z, r20.x
- if_z r19.z
- ld_raw r19.z, l(0), g0.xxxx
- utof r20.x, r19.z
- mul r19.y, r19.y, r20.x
- utof r20.x, r19.w
- div r19.y, r19.y, r20.x
- ld_raw r20.xy, l(28), g0.xyxx
- mov r20.z, vThreadIDInGroup.x
- loop
- uge r20.w, r20.z, r19.z
- breakc_nz r20.w
- ld_structured r20.w, r20.z, l(0), g3.xxxx
- iadd r21.xyzw, r20.zzzz, l(1975, 3950, 5925, 1024)
- ld_structured r22.x, r21.x, l(0), g3.xxxx
- ld_structured r22.y, r21.y, l(0), g3.xxxx
- ld_structured r22.z, r21.z, l(0), g3.xxxx
- mov r23.xyz, l(0,0,0,0)
- mov r22.w, r20.z
- loop
- uge r23.w, r22.w, r19.w
- breakc_nz r23.w
- iadd r23.w, r20.x, r22.w
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r23.w, r23.w, l(0), t5.xxxx
- and r24.x, r23.w, l(0x0000ffff)
- ld_structured r24.y, r24.x, l(0), g3.xxxx
- iadd r24.xz, r24.xxxx, l(1975, 0, 3950, 0)
- ld_structured r24.x, r24.x, l(0), g3.xxxx
- ld_structured r24.z, r24.z, l(0), g3.xxxx
- add r24.y, -r20.w, r24.y
- add r24.xz, -r22.xxyx, r24.xxzx
- mad r24.w, r24.y, r24.y, l(0.000000)
- mad r24.w, r24.x, r24.x, r24.w
- mad r24.w, r24.z, r24.z, r24.w
- ushr r23.w, r23.w, l(16)
- utof r23.w, r23.w
- mul r23.w, r20.y, r23.w
- rsq r24.w, r24.w
- mad r23.w, -r23.w, r24.w, l(1.000000)
- lt r24.w, l(0.000000), r23.w
- mad r25.x, r24.y, r23.w, r23.x
- mad r25.y, r24.x, r23.w, r23.y
- mad r25.z, r24.z, r23.w, r23.z
- movc r23.xyz, r24.wwww, r25.xyzx, r23.xyzx
- iadd r22.w, r19.z, r22.w
- endloop
- mad r20.w, r23.x, r19.y, r20.w
- mad r22.x, r23.y, r19.y, r22.x
- mad r22.y, r23.z, r19.y, r22.y
- store_structured g3.x, r20.z, l(0), r20.w
- store_structured g3.x, r21.x, l(0), r22.x
- store_structured g3.x, r21.y, l(0), r22.y
- store_structured g3.x, r21.z, l(0), r22.z
- mov r20.z, r21.w
- endloop
- endif
- mov r19.y, l(0)
- loop
- ld_raw r19.z, l(8), g0.xxxx
- uge r19.z, r19.y, r19.z
- breakc_nz r19.z
- ld_raw r20.xyz, l(12), g0.xyzx
- iadd r19.z, r19.y, r20.x
- ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r21.xyzw, r19.z, l(0), t3.xyzw
- ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r19.zw, r19.z, l(16), t3.xxxy
- ld_raw r20.x, l(108), g1.xxxx
- mul r21.xy, r20.xxxx, r21.xyxx
- exp r21.xy, r21.xyxx
- add r21.xy, -r21.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
- iadd r20.y, r19.z, r20.y
- ine r20.z, r20.z, l(-1)
- ld_raw r20.w, l(20), g0.xxxx
- iadd r19.z, r19.z, r20.w
- sync_g_t
- mov r20.w, vThreadIDInGroup.x
- loop
- uge r22.x, r20.w, r19.w
- breakc_nz r22.x
- iadd r22.x, r20.w, r20.y
- ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r22.xy, r22.x, l(0), t4.xyxx
- and r22.z, r22.y, l(0x0000ffff)
- ushr r22.y, r22.y, l(16)
- ld_structured r22.w, r22.z, l(0), g3.xxxx
- iadd r24.xyz, r22.zzzz, l(1975, 3950, 5925, 0)
- ld_structured r23.w, r24.x, l(0), g3.xxxx
- ld_structured r24.w, r24.y, l(0), g3.xxxx
- ld_structured r25.x, r24.z, l(0), g3.xxxx
- ld_structured r25.y, r22.y, l(0), g3.xxxx
- iadd r26.xyz, r22.yyyy, l(1975, 3950, 5925, 0)
- ld_structured r25.z, r26.x, l(0), g3.xxxx
- ld_structured r25.w, r26.y, l(0), g3.xxxx
- ld_structured r26.w, r26.z, l(0), g3.xxxx
- add r27.x, -r22.w, r25.y
- add r27.y, -r23.w, r25.z
- add r27.z, -r24.w, r25.w
- mad r27.w, r27.x, r27.x, l(0.000000)
- mad r27.w, r27.y, r27.y, r27.w
- mad r27.w, r27.z, r27.z, r27.w
- lt r28.x, l(0.000000), r22.x
- rsq r27.w, r27.w
- mad r22.x, r22.x, r27.w, l(-1.000000)
- and r22.x, r22.x, r28.x
- min r27.w, r21.w, -r22.x
- max r27.w, r21.z, r27.w
- mad r22.x, r21.y, r27.w, r22.x
- iadd r27.w, r19.z, r20.w
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r27.w, r27.w, l(0), t16.xxxx
- mul r27.w, r20.x, r27.w
- exp r27.w, r27.w
- add r27.w, -r27.w, l(1.000000)
- movc r27.w, r20.z, r27.w, r21.x
- mul r22.x, r22.x, r27.w
- add r27.w, r25.x, l(0.000000)
- add r27.w, r26.w, r27.w
- div r22.x, r22.x, r27.w
- mul r27.w, r22.x, -r25.x
- mad r22.w, r27.w, r27.x, r22.w
- mad r23.w, r27.w, r27.y, r23.w
- mad r24.w, r27.w, r27.z, r24.w
- store_structured g3.x, r22.z, l(0), r22.w
- store_structured g3.x, r24.x, l(0), r23.w
- store_structured g3.x, r24.y, l(0), r24.w
- store_structured g3.x, r24.z, l(0), r25.x
- mul r22.x, r22.x, r26.w
- mad r22.z, r22.x, r27.x, r25.y
- mad r22.w, r22.x, r27.y, r25.z
- mad r22.x, r22.x, r27.z, r25.w
- store_structured g3.x, r22.y, l(0), r22.z
- store_structured g3.x, r26.x, l(0), r22.w
- store_structured g3.x, r26.y, l(0), r22.x
- store_structured g3.x, r26.z, l(0), r26.w
- iadd r20.w, r20.w, l(1024)
- endloop
- iadd r19.y, r19.y, l(1)
- endloop
- sync_g_t
- ld_raw r19.y, l(36), g1.xxxx
- ine r19.y, r19.y, l(-1)
- if_nz r19.y
- ld_raw r19.y, l(0), g0.xxxx
- ld_raw r19.zw, l(36), g1.xxxy
- mov r20.x, vThreadIDInGroup.x
- loop
- uge r20.y, r20.x, r19.y
- breakc_nz r20.y
- iadd r20.yz, r19.zzwz, r20.xxxx
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r21.xyzw, r20.y, l(0), t12.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r22.xyzw, r20.z, l(0), t12.xyzw
- add r22.xyzw, -r21.xyzw, r22.xyzw
- mad r21.xyzw, r22.xyzw, r17.xxxx, r21.xyzw
- ld_structured r22.x, r20.x, l(0), g3.xxxx
- iadd r24.xyzw, r20.xxxx, l(1975, 3950, 5925, 1024)
- ld_structured r22.y, r24.x, l(0), g3.xxxx
- ld_structured r22.z, r24.y, l(0), g3.xxxx
- ld_structured r20.y, r24.z, l(0), g3.xxxx
- add r21.xyz, r21.xyzx, -r22.xyzx
- dp3 r20.z, r21.xyzx, r21.xyzx
- add r20.z, r20.z, l(0.000000)
- rsq r20.z, r20.z
- mad r20.z, -r21.w, r20.z, l(1.000000)
- min r20.z, r20.z, l(0.000000)
- mad r21.xyz, r20.zzzz, r21.xyzx, r22.xyzx
- store_structured g3.x, r20.x, l(0), r21.x
- store_structured g3.x, r24.x, l(0), r21.y
- store_structured g3.x, r24.y, l(0), r21.z
- store_structured g3.x, r24.z, l(0), r20.y
- mov r20.x, r24.w
- endloop
- sync_g_t
- endif
- if_nz r1.x
- ld_raw r19.y, l(0), g0.xxxx
- iadd r19.z, r19.y, l(-1)
- umin r19.z, r2.y, r19.z
- ld_structured r20.x, r19.z, l(0), g3.xxxx
- iadd r21.xyz, r19.zzzz, l(1975, 3950, 5925, 0)
- ld_structured r20.y, r21.x, l(0), g3.xxxx
- ld_structured r20.z, r21.y, l(0), g3.xxxx
- ld_structured r20.w, r21.z, l(0), g3.xxxx
- dp4 r19.w, r20.xyzw, icb[r4.x + 0].xyzw
- mul r19.w, r0.z, r19.w
- store_structured g4.x, vThreadIDInGroup.x, l(0), r19.w
- mov r19.w, r19.z
- loop
- iadd r20.x, r19.w, l(32)
- uge r20.y, r20.x, r19.y
- breakc_nz r20.y
- ld_structured r20.y, vThreadIDInGroup.x, l(0), g4.xxxx
- ld_structured r21.x, r20.x, l(0), g3.xxxx
- iadd r22.xyz, r19.wwww, l(2007, 3982, 5957, 0)
- ld_structured r21.y, r22.x, l(0), g3.xxxx
- ld_structured r21.z, r22.y, l(0), g3.xxxx
- ld_structured r21.w, r22.z, l(0), g3.xxxx
- dp4 r20.z, r21.xyzw, icb[r4.x + 0].xyzw
- mul r20.z, r0.z, r20.z
- max r20.y, r20.z, r20.y
- store_structured g4.x, vThreadIDInGroup.x, l(0), r20.y
- mov r19.w, r20.x
- endloop
- endif
- sync_g_t
- if_nz r1.y
- ld_structured r19.y, vThreadIDInGroup.x, l(0), g4.xxxx
- ld_structured r19.z, r3.x, l(0), g4.xxxx
- max r19.y, r19.z, r19.y
- store_structured g4.x, vThreadIDInGroup.x, l(0), r19.y
- endif
- sync_g_t
- if_nz r1.y
- ld_structured r19.y, vThreadIDInGroup.x, l(0), g4.xxxx
- ld_structured r19.z, r3.y, l(0), g4.xxxx
- max r19.y, r19.z, r19.y
- store_structured g4.x, vThreadIDInGroup.x, l(0), r19.y
- endif
- sync_g_t
- if_nz r1.y
- ld_structured r19.y, vThreadIDInGroup.x, l(0), g4.xxxx
- ld_structured r19.z, r3.z, l(0), g4.xxxx
- max r19.y, r19.z, r19.y
- store_structured g4.x, vThreadIDInGroup.x, l(0), r19.y
- endif
- sync_g_t
- if_nz r1.y
- ld_structured r19.y, vThreadIDInGroup.x, l(0), g4.xxxx
- ld_structured r19.z, r3.w, l(0), g4.xxxx
- max r19.y, r19.z, r19.y
- store_structured g4.x, vThreadIDInGroup.x, l(0), r19.y
- endif
- sync_g_t
- if_nz r1.y
- ld_structured r19.y, vThreadIDInGroup.x, l(0), g4.xxxx
- ld_structured r19.z, r6.x, l(0), g4.xxxx
- max r19.y, r19.z, r19.y
- store_structured g4.x, vThreadIDInGroup.x, l(0), r19.y
- endif
- sync_g_t
- if_nz r0.w
- ld_structured r19.y, vThreadIDInGroup.x, l(0), g4.xxxx
- store_raw g1.x, r2.x, r19.y
- endif
- sync_g_t
- ld_raw r19.y, l(16), g1.xxxx
- utof r19.y, r19.y
- div r19.x, r19.x, r19.y
- ld_raw r19.y, l(60), g0.xxxx
- if_nz r19.y
- ld_raw r19.z, l(80), g0.xxxx
- lt r19.z, l(0.000000), r19.z
- ld_raw r19.w, l(0), g0.xxxx
- ld_raw r20.x, l(64), g0.xxxx
- ld_raw r20.yz, l(56), g1.xxyx
- mov r20.w, vThreadIDInGroup.x
- loop
- uge r21.x, r20.w, r19.w
- breakc_nz r21.x
- ld_structured r21.x, r20.w, l(0), g3.xxxx
- iadd r22.xyzw, r20.wwww, l(1975, 3950, 5925, 1024)
- ld_structured r21.y, r22.x, l(0), g3.xxxx
- ld_structured r21.z, r22.y, l(0), g3.xxxx
- ld_structured r21.w, r22.z, l(0), g3.xxxx
- mov r24.xyzw, l(0,0,0,0)
- mov r23.w, l(0)
- loop
- uge r25.x, r23.w, r19.y
- breakc_nz r25.x
- iadd r25.x, r20.x, r23.w
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r25.x, r25.x, l(0), t8.xxxx
- firstbit_lo r25.y, r25.x
- iadd r25.yz, r20.yyzy, r25.yyyy
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r26.xyzw, r25.y, l(0), t9.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r27.xyzw, r25.z, l(0), t9.xyzw
- add r27.xyzw, -r26.xyzw, r27.xyzw
- mad r26.xyzw, r17.xxxx, r27.xyzw, r26.xyzw
- dp3 r25.y, r21.xyzx, r26.xyzx
- add r25.y, r26.w, r25.y
- mov r27.xyz, r26.xyzx
- mov r25.z, r25.x
- mov r27.w, r25.y
- loop
- lt r25.w, r27.w, l(0.000000)
- iadd r26.w, r25.z, l(-1)
- and r25.z, r25.z, r26.w
- ine r26.w, r25.z, l(0)
- and r25.w, r25.w, r26.w
- breakc_z r25.w
- firstbit_lo r25.w, r25.z
- iadd r28.xy, r20.yzyy, r25.wwww
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r29.xyzw, r28.x, l(0), t9.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r28.xyzw, r28.y, l(0), t9.xyzw
- add r28.xyzw, -r29.xyzw, r28.xyzw
- mad r28.xyzw, r17.xxxx, r28.xyzw, r29.xyzw
- dp3 r25.w, r21.xyzx, r28.xyzx
- add r28.w, r28.w, r25.w
- lt r25.w, r27.w, r28.w
- movc r27.xyzw, r25.wwww, r28.xyzw, r27.xyzw
- endloop
- lt r25.x, r27.w, l(0.000000)
- mad r26.xyz, -r27.xyzx, r27.wwww, r24.xyzx
- iadd r26.w, r24.w, l(1)
- movc r24.xyzw, r25.xxxx, r26.xyzw, r24.xyzw
- iadd r23.w, r23.w, l(1)
- endloop
- if_nz r24.w
- utof r23.w, r24.w
- div r23.w, l(1.000000, 1.000000, 1.000000, 1.000000), r23.w
- if_nz r19.z
- iadd r25.x, r0.x, r20.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r25.yzw, r25.x, l(0), u0.xxyz
- ld_raw r26.x, l(80), g0.xxxx
- dp3 r26.y, r24.xyzx, r24.xyzx
- add r26.z, r26.y, l(0.000000)
- rsq r26.z, r26.z
- mul r28.xyz, r24.xyzx, r26.zzzz
- add r29.xyz, r21.xyzx, -r25.yzwy
- dp3 r26.w, r29.xyzx, r28.xyzx
- mad r28.xyz, -r26.wwww, r28.xyzx, r29.xyzx
- dp3 r26.w, r28.xyzx, r28.xyzx
- add r26.w, r26.w, l(0.000000)
- rsq r26.w, r26.w
- mul r26.x, r26.y, -r26.x
- mul r26.x, r26.z, r26.x
- mul r26.x, r23.w, r26.x
- mul r26.x, r26.w, r26.x
- max r26.x, r26.x, l(-1.000000)
- mad r25.yzw, -r28.xxyz, r26.xxxx, r25.yyzw
- store_structured u0.xyz, r25.x, l(0), r25.yzwy
- endif
- mad r21.xyz, r24.xyzx, r23.wwww, r21.xyzx
- store_structured g3.x, r20.w, l(0), r21.x
- store_structured g3.x, r22.x, l(0), r21.y
- store_structured g3.x, r22.y, l(0), r21.z
- store_structured g3.x, r22.z, l(0), r21.w
- endif
- mov r20.w, r22.w
- endloop
- endif
- ftoi r19.y, r17.x
- ld_structured r20.x, r19.y, l(0), g3.xxxx
- iadd r21.xyz, r19.yyyy, l(1975, 3950, 5925, 0)
- ld_structured r20.y, r21.x, l(0), g3.xxxx
- ld_structured r20.z, r21.y, l(0), g3.xxxx
- ld_structured r19.z, r21.z, l(0), g3.xxxx
- ld_raw r19.w, l(68), g0.xxxx
- ld_raw r20.w, l(64), g1.xxxx
- mov r22.xyz, l(0,0,0,0)
- mov r25.xy, l(0,340282346638528860000000000000000000000.000000,0,0)
- mov r21.w, l(0)
- loop
- uge r22.w, r21.w, r19.w
- breakc_nz r22.w
- imad r22.w, l(3), r21.w, r20.w
- ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r26.xyz, r22.w, l(0), t10.xyzx
- iadd r25.zw, r22.wwww, l(0, 0, 1, 2)
- ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r28.xyz, r25.z, l(0), t10.xyzx
- ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r29.xyz, r25.w, l(0), t10.xyzx
- add r28.xyz, -r26.xyzx, r28.xyzx
- add r29.xyz, -r26.xyzx, r29.xyzx
- mul r30.xyz, r28.zxyz, r29.yzxy
- mad r30.xyz, r28.yzxy, r29.zxyz, -r30.xyzx
- dp3 r22.w, r30.xyzx, r30.xyzx
- rsq r22.w, r22.w
- mul r30.xyz, r22.wwww, r30.xyzx
- dp3 r22.w, r28.xyzx, r29.xyzx
- dp3 r23.w, r28.xyzx, r28.xyzx
- dp3 r25.z, r29.xyzx, r29.xyzx
- mul r25.w, r22.w, r22.w
- mad r25.w, r23.w, r25.z, -r25.w
- div r25.w, l(1.000000, 1.000000, 1.000000, 1.000000), r25.w
- add r26.w, r23.w, r25.z
- mad r26.w, r22.w, l(-2.000000), r26.w
- div r26.w, l(1.000000, 1.000000, 1.000000, 1.000000), r26.w
- div r28.w, l(1.000000, 1.000000, 1.000000, 1.000000), r23.w
- div r29.w, l(1.000000, 1.000000, 1.000000, 1.000000), r25.z
- add r26.xyz, r20.xyzx, -r26.xyzx
- dp3 r30.w, r26.xyzx, r28.xyzx
- dp3 r31.x, r26.xyzx, r29.xyzx
- dp3 r32.x, r26.xyzx, r30.xyzx
- mul r31.y, r22.w, r31.x
- mad r31.y, r25.z, r30.w, -r31.y
- mul r31.z, r22.w, r30.w
- mad r23.w, r23.w, r31.x, -r31.z
- lt r31.z, l(0.000000), r23.w
- mul r31.y, r25.w, r31.y
- mul r28.w, r28.w, r30.w
- movc r28.w, r31.z, r31.y, r28.w
- lt r31.y, l(0.000000), r28.w
- mul r23.w, r25.w, r23.w
- mul r25.w, r29.w, r31.x
- movc r23.w, r31.y, r23.w, r25.w
- add r25.w, r23.w, r28.w
- lt r25.w, l(1.000000), r25.w
- add r22.w, -r22.w, r25.z
- add r22.w, r30.w, r22.w
- add r22.w, -r31.x, r22.w
- mul r22.w, r26.w, r22.w
- movc_sat r22.w, r25.w, r22.w, r28.w
- add r25.z, -r22.w, l(1.000000)
- min r23.w, r23.w, r25.z
- max r23.w, r23.w, l(0.000000)
- mul r29.xyz, r23.wwww, r29.xyzx
- mad r28.xyz, r28.xyzx, r22.wwww, r29.xyzx
- add r26.xyz, r26.xyzx, -r28.xyzx
- dp3 r22.w, r26.xyzx, r26.xyzx
- lt r23.w, r32.x, l(0.000000)
- mul r25.z, r22.w, l(1.000100)
- movc r32.y, r23.w, r25.z, r22.w
- lt r22.w, r32.y, r25.y
- movc r22.xyz, r22.wwww, r30.xyzx, r22.xyzx
- movc r25.xy, r22.wwww, r32.xyxx, r25.xyxx
- iadd r21.w, r21.w, l(1)
- endloop
- lt r19.w, r25.x, l(0.000000)
- if_nz r19.w
- mad r20.xyz, -r22.xyzx, r25.xxxx, r20.xyzx
- store_structured g3.x, r19.y, l(0), r20.x
- store_structured g3.x, r21.x, l(0), r20.y
- store_structured g3.x, r21.y, l(0), r20.z
- store_structured g3.x, r21.z, l(0), r19.z
- endif
- ld_raw r19.y, l(72), g0.xxxx
- if_nz r19.y
- ld_raw r19.y, l(80), g0.xxxx
- lt r19.z, l(0.000000), r19.y
- ld_raw r19.w, l(0), g0.xxxx
- ld_raw r20.xy, l(48), g1.xyxx
- ld_raw r20.zw, l(44), g0.xxxy
- mov r21.x, vThreadIDInGroup.x
- loop
- uge r21.y, r21.x, r19.w
- breakc_nz r21.y
- ld_structured r26.x, r21.x, l(0), g3.xxxx
- iadd r28.xyzw, r21.xxxx, l(1975, 3950, 5925, 1024)
- ld_structured r26.y, r28.x, l(0), g3.xxxx
- ld_structured r26.z, r28.y, l(0), g3.xxxx
- ld_structured r21.y, r28.z, l(0), g3.xxxx
- iadd r21.z, r0.x, r21.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r25.yzw, r21.z, l(0), u0.xxyz
- mov r29.xyz, r26.xyzx
- mov r30.xyz, l(0,0,0,0)
- mov r31.xyzw, l(0,0,0,0)
- mov r21.w, l(0)
- loop
- uge r22.w, r21.w, r20.z
- breakc_nz r22.w
- iadd r22.w, r20.w, r21.w
- ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r32.xy, r22.w, l(0), t6.xyxx
- iadd r32.xyzw, r20.xyxy, r32.xxyy
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r33.xyzw, r32.x, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r34.xyzw, r32.y, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r35.xyzw, r32.z, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r32.xyzw, r32.w, l(0), t7.xyzw
- add r36.xyzw, -r33.xyzw, r34.xyzw
- mad r37.xyzw, r19.xxxx, r36.xyzw, r33.xyzw
- add r38.xyzw, -r35.xyzw, r32.xyzw
- mad r39.xyzw, r19.xxxx, r38.xyzw, r35.xyzw
- max r37.w, r37.w, l(0.000000)
- max r39.w, r39.w, l(0.000000)
- add r40.xyzw, -r37.xyzw, r39.xyzw
- mul r40.xyzw, r40.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000)
- dp3 r22.w, r40.xyzx, r40.xyzx
- ge r23.w, l(0.000000), r22.w
- if_nz r23.w
- iadd r23.w, r21.w, l(1)
- mov r21.w, r23.w
- continue
- endif
- mad r36.xyzw, r17.xxxx, r36.xyzw, r33.xyzw
- mad r38.xyzw, r17.xxxx, r38.xyzw, r35.xyzw
- max r36.w, r36.w, l(0.000000)
- max r38.w, r38.w, l(0.000000)
- add r41.xyzw, -r36.xyzw, r38.xyzw
- mul r42.xyzw, r41.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000)
- dp3 r23.w, r42.xyzx, r42.xyzx
- mad r26.w, -r42.w, r42.w, r23.w
- ge r29.w, l(0.000000), r26.w
- if_nz r29.w
- iadd r29.w, r21.w, l(1)
- mov r21.w, r29.w
- continue
- endif
- add r41.xyz, r37.zxyz, r39.zxyz
- mad r41.xyz, -r41.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r25.wyzw
- mad r29.w, -r40.w, r40.w, r22.w
- rsq r22.w, r22.w
- rsq r29.w, r29.w
- mul r40.xyz, r22.wwww, r40.xyzx
- mul r22.w, r29.w, r40.w
- mul r43.xyz, r40.yzxy, r41.xyzx
- mad r41.xyz, r41.zxyz, r40.zxyz, -r43.xyzx
- dp3 r29.w, r25.yzwy, r40.xyzx
- add r40.xyz, r36.xyzx, r38.xyzx
- mad r43.xyz, -r40.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r29.xyzx
- rsq r30.w, r23.w
- rsq r26.w, r26.w
- mul r23.w, r23.w, r30.w
- mad r32.w, r41.w, l(0.500000), r36.w
- mul r32.w, r26.w, r32.w
- mul r32.w, r23.w, r32.w
- mul r44.xyz, r30.wwww, r42.xyzx
- mul r45.xyz, r43.zxyz, r44.yzxy
- mad r45.xyz, r43.yzxy, r44.zxyz, -r45.xyzx
- dp3 r33.w, r29.xyzx, r44.xyzx
- dp3 r34.w, r45.xyzx, r45.xyzx
- add r46.x, r34.w, l(0.000000)
- mad r29.w, r29.w, r22.w, r32.w
- max r29.w, r29.w, l(0.000000)
- mul r26.w, r26.w, r42.w
- mad r33.w, r33.w, r26.w, r32.w
- max r46.y, r33.w, l(0.000000)
- dp3 r33.w, r41.xyzx, r41.xyzx
- mad r33.w, -r41.x, r41.x, r33.w
- mad r33.w, -r29.w, r29.w, r33.w
- dp3 r34.w, r41.xyzx, r45.xyzx
- mad r34.w, -r29.w, r46.y, r34.w
- mad r35.w, -r46.y, r46.y, r46.x
- mul r36.w, r33.w, r35.w
- mad r36.w, r34.w, r34.w, -r36.w
- sqrt r37.w, r36.w
- add r33.w, -r33.w, r34.w
- add r34.w, r34.w, -r35.w
- add r34.w, r33.w, r34.w
- add r35.w, r37.w, r33.w
- min r35.w, r35.w, l(0.000000)
- div r35.w, r35.w, r34.w
- lt r38.w, r35.w, l(1.000000)
- lt r39.w, r33.w, r37.w
- and r38.w, r38.w, r39.w
- mul r33.w, r33.w, r34.w
- add r39.w, -r29.w, r46.y
- mad r29.w, r33.w, r39.w, r29.w
- mul r29.w, r29.w, r29.w
- mul r29.w, r34.w, r29.w
- mul r29.w, r29.w, l(-0.360000)
- lt r29.w, r29.w, r36.w
- and r29.w, r29.w, r38.w
- lt r33.w, r34.w, l(-0.000000)
- and r29.w, r29.w, r33.w
- add r41.xyz, r25.yzwy, -r29.xyzx
- mad r45.xyz, -r41.xyzx, r35.wwww, r25.yzwy
- mul r47.xyz, r23.wwww, r42.xyzx
- add r37.xyz, -r37.xyzx, r39.xyzx
- mul r37.xyz, r37.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
- dp3 r33.w, r37.xyzx, r37.xyzx
- rsq r36.w, r33.w
- mul r33.w, r33.w, r36.w
- mad r37.xyz, -r37.xyzx, r33.wwww, r47.xyzx
- add r33.w, -r35.w, l(1.000000)
- mad r39.xyz, -r37.xyzx, r33.wwww, r47.xyzx
- mul r35.w, r26.w, r35.w
- mad r22.w, r22.w, r33.w, r35.w
- dp3 r35.w, r39.xyzx, r39.xyzx
- rsq r35.w, r35.w
- dp3 r36.w, r45.xyzx, r39.xyzx
- mul r36.w, r35.w, r36.w
- dp3 r38.w, r45.xyzx, r45.xyzx
- mad r38.w, -r36.w, r36.w, r38.w
- lt r39.x, l(0.000000), r38.w
- rsq r39.y, r38.w
- and r39.x, r39.y, r39.x
- mul r22.w, r22.w, r38.w
- mad r22.w, r22.w, r39.x, r36.w
- mul r22.w, r35.w, r22.w
- lt r35.w, |r22.w|, l(1.000000)
- mad r37.xyz, r37.xyzx, r22.wwww, r41.xyzx
- mul r22.w, r33.w, r34.w
- div r22.w, r37.w, r22.w
- add r22.w, -r22.w, l(1.000000)
- div r22.w, r33.w, r22.w
- mad r37.xyz, r37.xyzx, r22.wwww, r43.xyzx
- mad r39.xyz, r40.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r37.xyzx
- movc r39.xyz, r35.wwww, r39.xyzx, r29.xyzx
- movc r39.xyz, r29.wwww, r39.xyzx, r29.xyzx
- mad r40.xyz, -r40.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r39.xyzx
- dp3 r22.w, r40.xyzx, r44.xyzx
- mad r33.w, r22.w, r26.w, r32.w
- max r33.w, r33.w, l(0.000000)
- dp3 r34.w, r40.xyzx, r40.xyzx
- mad r34.w, -r22.w, r22.w, r34.w
- mul r36.w, r33.w, r33.w
- lt r36.w, r36.w, r34.w
- if_nz r36.w
- iadd r36.w, r21.w, l(1)
- mov r29.xyz, r39.xyzx
- mov r21.w, r36.w
- continue
- endif
- mul r30.w, r30.w, r42.w
- mad r30.w, -r30.w, r30.w, l(1.000000)
- max r34.w, r34.w, l(0.000000)
- rsq r36.w, r34.w
- mul r34.w, r26.w, r34.w
- mad r34.w, r34.w, r36.w, r22.w
- lt r23.w, |r34.w|, r23.w
- mad r40.xyz, -r34.wwww, r42.xyzx, r40.xyzx
- mul r33.w, r33.w, r36.w
- mad r30.w, r33.w, r30.w, -r30.w
- mad r40.xyz, r40.xyzx, r30.wwww, r30.xyzx
- add r34.xyz, -r33.xyzx, r34.xyzx
- mad r33.xyz, r19.xxxx, r34.xyzx, r33.xyzx
- add r32.xyz, -r35.xyzx, r32.xyzx
- mad r32.xyz, r19.xxxx, r32.xyzx, r35.xyzx
- mad r22.w, r22.w, l(0.500000), l(0.500000)
- add r33.xyz, -r33.xyzx, r36.xyzx
- add r32.xyz, -r32.xyzx, r38.xyzx
- add r32.xyz, -r33.xyzx, r32.xyzx
- mad r32.xyz, r22.wwww, r32.xyzx, r33.xyzx
- add r32.xyz, r31.xyzx, r32.xyzx
- movc r33.xyz, r19.zzzz, r32.xyzx, r31.xyzx
- iadd r33.w, r31.w, l(1)
- movc r32.xyz, r23.wwww, r40.xyzx, r30.xyzx
- movc r33.xyzw, r23.wwww, r33.xyzw, r31.xyzw
- dp3 r22.w, r37.xyzx, r42.xyzx
- mad r23.w, r22.w, r26.w, r32.w
- max r34.y, r23.w, l(0.000000)
- dp3 r23.w, r37.xyzx, r37.xyzx
- mad r34.x, -r22.w, r22.w, r23.w
- movc r34.xy, r35.wwww, r34.xyxx, r46.xyxx
- movc r34.xy, r29.wwww, r34.xyxx, r46.xyxx
- mul r22.w, r34.y, r34.y
- ge r22.w, r34.x, r22.w
- if_nz r22.w
- iadd r22.w, r21.w, l(1)
- mov r29.xyz, r39.xyzx
- mov r30.xyz, r32.xyzx
- mov r31.xyzw, r33.xyzw
- mov r21.w, r22.w
- continue
- endif
- mov r29.xyz, r39.xyzx
- mov r30.xyz, r32.xyzx
- mov r31.xyzw, r33.xyzw
- iadd r21.w, r21.w, l(1)
- endloop
- ld_raw r21.w, l(52), g0.xxxx
- mov r32.xyz, r29.xyzx
- mov r33.xyz, r30.xyzx
- mov r34.xyzw, r31.xyzw
- mov r22.w, l(0)
- loop
- uge r23.w, r22.w, r21.w
- breakc_nz r23.w
- iadd r35.xy, r20.xyxx, r22.wwww
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.xyzw, r35.x, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r35.xyzw, r35.y, l(0), t7.xyzw
- add r35.xyzw, -r36.xyzw, r35.xyzw
- mad r37.xyzw, r17.xxxx, r35.xyzw, r36.xyzw
- max r23.w, r37.w, l(0.000000)
- mad r35.xyz, r19.xxxx, r35.xyzx, r36.xyzx
- add r36.xyz, r32.xyzx, -r37.xyzx
- add r38.xyz, r25.yzwy, -r35.xyzx
- dp3 r26.w, r36.xyzx, r36.xyzx
- add r36.w, r26.w, l(0.000000)
- dp3 r26.w, r38.xyzx, r38.xyzx
- mul r29.w, r23.w, r23.w
- mad r26.w, -r23.w, r23.w, r26.w
- dp3 r30.w, r38.xyzx, r36.xyzx
- mad r30.w, -r23.w, r23.w, r30.w
- mad r32.w, -r23.w, r23.w, r36.w
- mul r33.w, r26.w, r32.w
- mad r33.w, r30.w, r30.w, -r33.w
- sqrt r35.w, r33.w
- add r26.w, -r26.w, r30.w
- add r30.w, r30.w, -r32.w
- add r30.w, r26.w, r30.w
- add r32.w, r35.w, r26.w
- min r32.w, r32.w, l(0.000000)
- div r32.w, r32.w, r30.w
- lt r37.w, r32.w, l(1.000000)
- lt r26.w, r26.w, r35.w
- and r26.w, r26.w, r37.w
- mul r29.w, r29.w, r30.w
- mul r29.w, r29.w, l(-0.360000)
- lt r29.w, r29.w, r33.w
- and r26.w, r26.w, r29.w
- lt r29.w, r30.w, l(-0.000000)
- and r26.w, r26.w, r29.w
- add r38.xyz, -r36.xyzx, r38.xyzx
- add r29.w, -r32.w, l(1.000000)
- mul r30.w, r29.w, r30.w
- div r30.w, r35.w, r30.w
- add r30.w, -r30.w, l(1.000000)
- div r29.w, r29.w, r30.w
- mad r38.xyz, r38.xyzx, r29.wwww, r36.xyzx
- add r39.xyz, r37.xyzx, r38.xyzx
- dp3 r29.w, r38.xyzx, r38.xyzx
- add r38.w, r29.w, l(0.000000)
- movc r32.xyz, r26.wwww, r39.xyzx, r32.xyzx
- movc r36.xyzw, r26.wwww, r38.xyzw, r36.xyzw
- rsq r26.w, r36.w
- mul r29.w, r23.w, r26.w
- lt r29.w, l(1.000000), r29.w
- mad r23.w, r26.w, r23.w, l(-1.000000)
- mad r36.xyz, r36.xyzx, r23.wwww, r33.xyzx
- add r35.xyz, -r35.xyzx, r37.xyzx
- add r35.xyz, r34.xyzx, r35.xyzx
- movc r35.xyz, r19.zzzz, r35.xyzx, r34.xyzx
- iadd r35.w, r34.w, l(1)
- movc r33.xyz, r29.wwww, r36.xyzx, r33.xyzx
- movc r34.xyzw, r29.wwww, r35.xyzw, r34.xyzw
- iadd r22.w, r22.w, l(1)
- endloop
- if_nz r34.w
- utof r21.w, r34.w
- div r21.w, l(1.000000, 1.000000, 1.000000, 1.000000), r21.w
- if_nz r19.z
- ld_raw r22.w, l(80), g0.xxxx
- dp3 r23.w, r33.xyzx, r33.xyzx
- add r26.w, r23.w, l(0.000000)
- rsq r26.w, r26.w
- mul r32.xyz, r26.wwww, r33.xyzx
- add r35.xyz, -r25.yzwy, r26.xyzx
- mad r35.xyz, -r34.xyzx, r21.wwww, r35.xyzx
- dp3 r29.w, r35.xyzx, r32.xyzx
- mad r32.xyz, -r29.wwww, r32.xyzx, r35.xyzx
- dp3 r29.w, r32.xyzx, r32.xyzx
- add r29.w, r29.w, l(0.000000)
- rsq r29.w, r29.w
- mul r22.w, -r22.w, r23.w
- mul r22.w, r26.w, r22.w
- mul r22.w, r21.w, r22.w
- mul r22.w, r29.w, r22.w
- max r22.w, r22.w, l(-1.000000)
- mad r25.yzw, -r32.xxyz, r22.wwww, r25.yyzw
- store_structured u0.xyz, r21.z, l(0), r25.yzwy
- endif
- mad r25.yzw, r33.xxyz, r21.wwww, r26.xxyz
- store_structured g3.x, r21.x, l(0), r25.y
- store_structured g3.x, r28.x, l(0), r25.z
- store_structured g3.x, r28.y, l(0), r25.w
- store_structured g3.x, r28.z, l(0), r21.y
- endif
- mov r21.x, r28.w
- endloop
- else
- ld_raw r19.yz, l(76), g0.xxyx
- lt r19.yz, l(0.000000, 0.000000, 0.000000, 0.000000), r19.zzyz
- ld_raw r19.w, l(0), g0.xxxx
- ld_raw r20.xy, l(48), g1.xyxx
- ld_raw r20.z, l(80), g0.xxxx
- lt r20.w, l(0.000000), r20.z
- ld_raw r21.xy, l(44), g0.xyxx
- mov r21.z, vThreadIDInGroup.x
- loop
- uge r21.w, r21.z, r19.w
- breakc_nz r21.w
- ld_structured r26.x, r21.z, l(0), g3.xxxx
- iadd r28.xyzw, r21.zzzz, l(1975, 3950, 5925, 1024)
- ld_structured r26.y, r28.x, l(0), g3.xxxx
- ld_structured r26.z, r28.y, l(0), g3.xxxx
- ld_structured r21.w, r28.z, l(0), g3.xxxx
- mov r25.yzw, l(0,0,0,0)
- mov r32.xyzw, l(0,0,0,0)
- mov r22.w, l(0)
- loop
- uge r23.w, r22.w, r21.x
- breakc_nz r23.w
- iadd r23.w, r21.y, r22.w
- ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r35.xy, r23.w, l(0), t6.xyxx
- iadd r35.xyzw, r20.xyxy, r35.xxyy
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.xyzw, r35.x, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r37.xyzw, r35.y, l(0), t7.xyzw
- add r38.xyzw, -r36.xyzw, r37.xyzw
- mad r38.xyzw, r17.xxxx, r38.xyzw, r36.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r39.xyzw, r35.z, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r35.xyzw, r35.w, l(0), t7.xyzw
- add r40.xyzw, -r39.xyzw, r35.xyzw
- mad r40.xyzw, r17.xxxx, r40.xyzw, r39.xyzw
- max r38.w, r38.w, l(0.000000)
- max r40.w, r40.w, l(0.000000)
- add r41.xyzw, -r38.xyzw, r40.xyzw
- mul r42.xyzw, r41.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000)
- dp3 r23.w, r42.xyzx, r42.xyzx
- mad r26.w, -r42.w, r42.w, r23.w
- ge r29.w, l(0.000000), r26.w
- if_nz r29.w
- iadd r29.w, r22.w, l(1)
- mov r22.w, r29.w
- continue
- endif
- rsq r29.w, r23.w
- rsq r26.w, r26.w
- mul r23.w, r23.w, r29.w
- add r41.xyz, r38.xyzx, r40.xyzx
- mad r30.w, r41.w, l(0.500000), r38.w
- mul r30.w, r26.w, r30.w
- mul r30.w, r23.w, r30.w
- mul r42.xyz, r29.wwww, r42.xyzx
- mul r26.w, r26.w, r42.w
- mad r41.xyz, -r41.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r26.xyzx
- dp3 r33.w, r41.xyzx, r42.xyzx
- mad r30.w, r33.w, r26.w, r30.w
- max r30.w, r30.w, l(0.000000)
- dp3 r35.w, r41.xyzx, r41.xyzx
- mad r35.w, -r33.w, r33.w, r35.w
- mul r36.w, r30.w, r30.w
- lt r36.w, r36.w, r35.w
- if_nz r36.w
- iadd r36.w, r22.w, l(1)
- mov r22.w, r36.w
- continue
- endif
- mul r29.w, r29.w, r42.w
- mad r29.w, -r29.w, r29.w, l(1.000000)
- max r35.w, r35.w, l(0.000000)
- rsq r36.w, r35.w
- mul r26.w, r26.w, r35.w
- mad r26.w, r26.w, r36.w, r33.w
- lt r23.w, |r26.w|, r23.w
- mad r41.xyz, -r26.wwww, r42.xyzx, r41.xyzx
- mul r26.w, r30.w, r36.w
- mad r26.w, r26.w, r29.w, -r29.w
- mad r41.xyz, r41.xyzx, r26.wwww, r25.yzwy
- add r37.xyz, -r36.xyzx, r37.xyzx
- mad r36.xyz, r19.xxxx, r37.xyzx, r36.xyzx
- add r35.xyz, -r39.xyzx, r35.xyzx
- mad r35.xyz, r19.xxxx, r35.xyzx, r39.xyzx
- mad r26.w, r33.w, l(0.500000), l(0.500000)
- add r36.xyz, -r36.xyzx, r38.xyzx
- add r35.xyz, -r35.xyzx, r40.xyzx
- add r35.xyz, -r36.xyzx, r35.xyzx
- mad r35.xyz, r26.wwww, r35.xyzx, r36.xyzx
- add r35.xyz, r32.xyzx, r35.xyzx
- movc r35.xyz, r20.wwww, r35.xyzx, r32.xyzx
- iadd r35.w, r32.w, l(1)
- movc r25.yzw, r23.wwww, r41.xxyz, r25.yyzw
- movc r32.xyzw, r23.wwww, r35.xyzw, r32.xyzw
- iadd r22.w, r22.w, l(1)
- endloop
- ld_raw r22.w, l(52), g0.xxxx
- mov r35.xyz, r25.yzwy
- mov r36.xyzw, r32.xyzw
- mov r23.w, l(0)
- loop
- uge r26.w, r23.w, r22.w
- breakc_nz r26.w
- iadd r37.xy, r20.xyxx, r23.wwww
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r38.xyzw, r37.x, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r37.xyzw, r37.y, l(0), t7.xyzw
- add r37.xyzw, -r38.xyzw, r37.xyzw
- mad r39.xyzw, r17.xxxx, r37.xyzw, r38.xyzw
- max r26.w, r39.w, l(0.000000)
- add r40.xyz, r26.xyzx, -r39.xyzx
- dp3 r29.w, r40.xyzx, r40.xyzx
- add r29.w, r29.w, l(0.000000)
- rsq r29.w, r29.w
- mul r30.w, r26.w, r29.w
- lt r30.w, l(1.000000), r30.w
- mad r26.w, r29.w, r26.w, l(-1.000000)
- mad r40.xyz, r40.xyzx, r26.wwww, r35.xyzx
- mad r37.xyz, r19.xxxx, r37.xyzx, r38.xyzx
- add r37.xyz, -r37.xyzx, r39.xyzx
- add r37.xyz, r36.xyzx, r37.xyzx
- movc r37.xyz, r20.wwww, r37.xyzx, r36.xyzx
- iadd r37.w, r36.w, l(1)
- movc r35.xyz, r30.wwww, r40.xyzx, r35.xyzx
- movc r36.xyzw, r30.wwww, r37.xyzw, r36.xyzw
- iadd r23.w, r23.w, l(1)
- endloop
- if_nz r36.w
- utof r22.w, r36.w
- div r22.w, l(1.000000, 1.000000, 1.000000, 1.000000), r22.w
- if_nz r19.y
- iadd r23.w, r0.x, r21.z
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r37.xyz, r23.w, l(0), u0.xyzx
- ld_raw r26.w, l(80), g0.xxxx
- dp3 r29.w, r35.xyzx, r35.xyzx
- add r30.w, r29.w, l(0.000000)
- rsq r30.w, r30.w
- mul r38.xyz, r30.wwww, r35.xyzx
- add r39.xyz, r26.xyzx, -r37.xyzx
- mad r39.xyz, -r36.xyzx, r22.wwww, r39.xyzx
- dp3 r33.w, r39.xyzx, r38.xyzx
- mad r38.xyz, -r33.wwww, r38.xyzx, r39.xyzx
- dp3 r33.w, r38.xyzx, r38.xyzx
- add r33.w, r33.w, l(0.000000)
- rsq r33.w, r33.w
- mul r26.w, -r26.w, r29.w
- mul r26.w, r30.w, r26.w
- mul r26.w, r22.w, r26.w
- mul r26.w, r33.w, r26.w
- max r26.w, r26.w, l(-1.000000)
- mad r37.xyz, -r38.xyzx, r26.wwww, r37.xyzx
- store_structured u0.xyz, r23.w, l(0), r37.xyzx
- endif
- mad r26.xyz, r35.xyzx, r22.wwww, r26.xyzx
- dp3 r22.w, r35.xyzx, r35.xyzx
- ld_raw r23.w, l(76), g0.xxxx
- mad r22.w, r23.w, r22.w, l(1.000000)
- div r22.w, r21.w, r22.w
- movc r21.w, r19.z, r22.w, r21.w
- store_structured g3.x, r21.z, l(0), r26.x
- store_structured g3.x, r28.x, l(0), r26.y
- store_structured g3.x, r28.y, l(0), r26.z
- store_structured g3.x, r28.z, l(0), r21.w
- endif
- mov r21.z, r28.w
- endloop
- endif
- ld_raw r17.x, l(84), g0.xxxx
- ld_raw r19.x, l(72), g1.xxxx
- min r17.x, r17.x, r19.x
- lt r17.x, l(0.000000), r17.x
- if_nz r17.x
- ld_raw r17.x, l(88), g0.xxxx
- ld_raw r19.x, l(0), g0.xxxx
- if_nz r1.z
- ld_raw r19.yz, r4.z, g1.xxyx
- add r19.w, r19.z, r19.y
- mad r19.yz, r19.wwww, l(0.000000, 0.000100, 0.000100, 0.000000), r19.zzyz
- add r19.z, r19.y, r19.z
- store_structured g6.x, vThreadIDInGroup.x, l(0), r19.z
- else
- mov r19.yz, l(0,0,0,0)
- endif
- sync_g_t
- if_nz r1.z
- ld_structured r19.w, l(0), l(0), g6.xxxx
- ld_structured r20.x, l(1), l(0), g6.xxxx
- lt r19.w, r20.x, r19.w
- and r20.x, r19.w, l(1)
- ld_structured r20.x, r20.x, l(0), g6.xxxx
- ld_structured r20.y, l(2), l(0), g6.xxxx
- lt r20.x, r20.y, r20.x
- movc r19.w, r20.x, l(-2), r19.w
- iadd r19.w, r19.w, vThreadIDInGroup.x
- ushr r20.x, r19.w, l(30)
- iadd r19.w, r19.w, r20.x
- div r19.z, l(127.000000), r19.z
- ld_raw r20.x, l(84), g0.xxxx
- div r20.x, l(1.000000, 1.000000, 1.000000, 1.000000), r20.x
- min r19.z, r19.z, r20.x
- ishl r19.w, r19.w, l(2)
- iadd r20.xy, r19.wwww, l(12, 24, 0, 0)
- store_raw g5.x, r20.x, r19.z
- mul r19.y, r19.y, r19.z
- store_raw g5.x, r19.w, r19.y
- store_raw g5.x, r20.y, vThreadIDInGroup.x
- endif
- sync_g_t
- ld_raw r19.y, l(100), g0.xxxx
- ishl r19.z, r17.x, l(1)
- iadd r19.y, r19.z, r19.y
- ld_raw r19.z, l(116), g1.xxxx
- if_nz r19.z
- mov r19.z, vThreadIDInGroup.x
- loop
- ige r19.w, r19.z, l(0x00004103)
- breakc_nz r19.w
- iadd r19.w, r19.z, r19.y
- store_structured u2.x, r19.w, l(0), l(-1)
- iadd r19.z, r19.z, l(1024)
- endloop
- endif
- ld_raw r19.zw, l(16), g5.xxxy
- ld_raw r20.xy, l(4), g5.xyxx
- ld_raw r20.zw, l(28), g5.xxxy
- ld_raw r21.x, l(92), g0.xxxx
- ine r21.y, r21.x, l(-1)
- ld_raw r21.z, l(100), g0.xxxx
- mov r21.w, vThreadIDInGroup.x
- loop
- ige r22.w, r21.w, r17.x
- breakc_nz r22.w
- iadd r22.w, r21.w, r21.x
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r22.w, r22.w, l(0), t15.xxxx
- movc r22.w, r21.y, r22.w, r21.w
- ld_structured r26.x, r22.w, l(0), g3.xxxx
- iadd r28.xyz, r22.wwww, l(1975, 3950, 5925, 0)
- ld_structured r26.y, r28.x, l(0), g3.xxxx
- ld_structured r26.z, r28.y, l(0), g3.xxxx
- ld_structured r26.w, r28.z, l(0), g3.xxxx
- dp4 r23.w, r26.xyzw, icb[r20.z + 0].xyzw
- mad r23.w, r23.w, r19.z, r20.x
- min r23.w, r23.w, l(127.500000)
- max r23.w, r23.w, l(0.000000)
- ftoi r23.w, r23.w
- dp4 r26.x, r26.xyzw, icb[r20.w + 0].xyzw
- mad r26.x, r26.x, r19.w, r20.y
- min r26.x, r26.x, l(127.500000)
- max r26.x, r26.x, l(0.000000)
- ftoi r26.x, r26.x
- iadd r26.y, r21.w, r21.z
- ishl r26.x, r26.x, l(23)
- imad r23.w, r23.w, l(0x00010000), r26.x
- iadd r23.w, r23.w, l(0x00810000)
- or r22.w, r22.w, r23.w
- store_structured u2.x, r26.y, l(0), r22.w
- iadd r21.w, r21.w, l(1024)
- endloop
- sync_g_t
- ld_raw r21.xy, l(96), g0.xyxx
- iadd r21.z, r17.x, r21.y
- mov r26.x, vThreadIDInGroup.x
- loop
- ige r21.w, r26.x, r19.x
- breakc_nz r21.w
- iadd r21.w, r21.x, r26.x
- ld_structured r28.x, r26.x, l(0), g3.xxxx
- iadd r26.xyzw, r26.xxxx, l(1024, 1975, 3950, 5925)
- ld_structured r28.y, r26.y, l(0), g3.xxxx
- ld_structured r28.z, r26.z, l(0), g3.xxxx
- ld_structured r28.w, r26.w, l(0), g3.xxxx
- store_structured u1.xyzw, r21.w, l(0), r28.xyzw
- endloop
- sync_g_t
- iadd r21.x, r17.x, l(31)
- ubfe r21.w, l(5), l(5), r21.x
- ushr r21.x, r21.x, l(10)
- ult r22.w, r4.y, r21.w
- and r23.w, r22.w, l(1)
- iadd r23.w, r21.x, r23.w
- movc r26.x, r22.w, l(0), l(1)
- imul null, r26.x, r21.w, r26.x
- imad r26.x, r4.y, r23.w, r26.x
- ishl r26.y, r26.x, l(5)
- ishl r23.w, r23.w, l(5)
- iadd r23.w, r23.w, r26.y
- umin r23.w, r17.x, r23.w
- bfi r26.x, l(27), l(5), r26.x, vThreadIDInGroup.x
- mov r26.y, l(16)
- mov r26.zw, r21.yyyz
- loop
- uge r28.x, r26.y, l(32)
- breakc_nz r28.x
- mov r28.xy, l(0,0,0,0)
- mov r28.z, r26.x
- loop
- uge r28.w, r28.y, r21.x
- breakc_nz r28.w
- ult r28.w, r28.z, r23.w
- iadd r29.w, r26.z, r28.z
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r29.w, r29.w, l(0), u2.xxxx
- movc r28.w, r28.w, r29.w, l(-1)
- ushr r28.w, r28.w, r26.y
- and r37.xyzw, r28.wwww, l(1, 2, 4, 8)
- ine r37.xyzw, r37.xyzw, l(0, 0, 0, 0)
- bfi r37.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r37.xyzw, l(0, 0, 0, 0)
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- sync_g_t
- if_nz r7.x
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.x, l(0), g3.xxxx
- ld_structured r38.y, r6.y, l(0), g3.xxxx
- ld_structured r38.z, r9.x, l(0), g3.xxxx
- ld_structured r38.w, r6.z, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- sync_g_t
- if_nz r7.y
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.y, l(0), g3.xxxx
- ld_structured r38.y, r6.w, l(0), g3.xxxx
- ld_structured r38.z, r9.y, l(0), g3.xxxx
- ld_structured r38.w, r8.x, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- sync_g_t
- if_nz r7.z
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.z, l(0), g3.xxxx
- ld_structured r38.y, r8.y, l(0), g3.xxxx
- ld_structured r38.z, r9.z, l(0), g3.xxxx
- ld_structured r38.w, r8.z, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- sync_g_t
- if_nz r7.w
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.w, l(0), g3.xxxx
- ld_structured r38.y, r8.w, l(0), g3.xxxx
- ld_structured r38.z, r9.w, l(0), g3.xxxx
- ld_structured r38.w, r13.x, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- sync_g_t
- if_nz r4.w
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r6.x, l(0), g3.xxxx
- ld_structured r38.y, r13.y, l(0), g3.xxxx
- ld_structured r38.z, r14.x, l(0), g3.xxxx
- ld_structured r38.w, r13.z, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- sync_g_t
- ld_structured r28.w, r5.z, l(0), g3.xxxx
- ld_structured r29.w, r10.x, l(0), g3.xxxx
- ld_structured r30.w, r10.y, l(0), g3.xxxx
- ld_structured r33.w, r10.z, l(0), g3.xxxx
- xor r28.w, r2.z, r28.w
- xor r29.w, r2.w, r29.w
- and r28.w, r28.w, r29.w
- xor r29.w, r5.x, r30.w
- and r28.w, r28.w, r29.w
- xor r29.w, r5.y, r33.w
- and r28.w, r28.w, r29.w
- countbits r28.w, r28.w
- iadd r28.x, r28.w, r28.x
- iadd r28.yz, r28.yyzy, l(0, 1, 32, 0)
- endloop
- if_nz r21.w
- iadd r28.y, r26.z, r28.z
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r28.y, r28.y, l(0), u2.xxxx
- if_nz r22.w
- ult r28.w, r28.z, r23.w
- movc r28.y, r28.w, r28.y, l(-1)
- ushr r28.y, r28.y, r26.y
- and r37.xyzw, r28.yyyy, l(1, 2, 4, 8)
- ine r37.xyzw, r37.xyzw, l(0, 0, 0, 0)
- bfi r37.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r37.xyzw, l(0, 0, 0, 0)
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- sync_g_t
- if_nz r22.w
- if_nz r7.x
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.x, l(0), g3.xxxx
- ld_structured r38.y, r6.y, l(0), g3.xxxx
- ld_structured r38.z, r9.x, l(0), g3.xxxx
- ld_structured r38.w, r6.z, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r22.w
- if_nz r7.y
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.y, l(0), g3.xxxx
- ld_structured r38.y, r6.w, l(0), g3.xxxx
- ld_structured r38.z, r9.y, l(0), g3.xxxx
- ld_structured r38.w, r8.x, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r22.w
- if_nz r7.z
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.z, l(0), g3.xxxx
- ld_structured r38.y, r8.y, l(0), g3.xxxx
- ld_structured r38.z, r9.z, l(0), g3.xxxx
- ld_structured r38.w, r8.z, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r22.w
- if_nz r7.w
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.w, l(0), g3.xxxx
- ld_structured r38.y, r8.w, l(0), g3.xxxx
- ld_structured r38.z, r9.w, l(0), g3.xxxx
- ld_structured r38.w, r13.x, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r22.w
- if_nz r4.w
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r6.x, l(0), g3.xxxx
- ld_structured r38.y, r13.y, l(0), g3.xxxx
- ld_structured r38.z, r14.x, l(0), g3.xxxx
- ld_structured r38.w, r13.z, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r22.w
- ld_structured r37.x, r5.z, l(0), g3.xxxx
- ld_structured r37.y, r10.x, l(0), g3.xxxx
- ld_structured r37.z, r10.y, l(0), g3.xxxx
- ld_structured r37.w, r10.z, l(0), g3.xxxx
- else
- mov r37.xyzw, l(0,0,0,0)
- endif
- xor r28.yw, r2.zzzw, r37.xxxy
- and r28.y, r28.w, r28.y
- xor r37.xy, r5.xyxx, r37.zwzz
- and r28.y, r28.y, r37.x
- and r28.y, r37.y, r28.y
- countbits r28.y, r28.y
- and r28.y, r22.w, r28.y
- iadd r28.x, r28.y, r28.x
- endif
- if_nz r7.x
- store_structured g3.x, r11.x, l(0), r28.x
- endif
- sync_g_t
- if_z vThreadIDInGroup.x
- store_structured g3.x, l(4096), l(0), l(0)
- store_structured g3.x, l(4609), l(0), l(0)
- endif
- if_nz r1.w
- if_nz r16.x
- ld_structured r28.y, r14.y, l(0), g3.xxxx
- ld_structured r28.w, r5.w, l(0), g3.xxxx
- iadd r28.y, r28.w, r28.y
- store_structured g3.x, r10.w, l(0), r28.y
- else
- ld_structured r28.y, l(4097), l(0), g3.xxxx
- store_structured g3.x, l(4610), l(0), r28.y
- endif
- endif
- sync_g_t
- if_nz r1.w
- if_nz r16.y
- ld_structured r28.y, r10.w, l(0), g3.xxxx
- ld_structured r28.w, r11.w, l(0), g3.xxxx
- iadd r28.y, r28.w, r28.y
- else
- ld_structured r28.y, r10.w, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.x, l(0), r28.y
- endif
- sync_g_t
- if_nz r1.w
- if_nz r16.z
- ld_structured r28.y, r14.y, l(0), g3.xxxx
- ld_structured r28.w, r15.w, l(0), g3.xxxx
- iadd r28.y, r28.w, r28.y
- else
- ld_structured r28.y, r14.y, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.z, l(0), r28.y
- endif
- sync_g_t
- if_nz r1.w
- if_nz r16.w
- ld_structured r28.y, r10.w, l(0), g3.xxxx
- ld_structured r28.w, r14.z, l(0), g3.xxxx
- iadd r28.y, r28.w, r28.y
- else
- ld_structured r28.y, r10.w, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.x, l(0), r28.y
- endif
- sync_g_t
- if_nz r1.w
- if_nz r18.x
- ld_structured r28.y, r14.y, l(0), g3.xxxx
- ld_structured r28.w, r17.y, l(0), g3.xxxx
- iadd r28.y, r28.w, r28.y
- else
- ld_structured r28.y, r14.y, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.z, l(0), r28.y
- endif
- sync_g_t
- if_nz r1.w
- if_nz r18.y
- ld_structured r28.y, r10.w, l(0), g3.xxxx
- ld_structured r28.w, r14.w, l(0), g3.xxxx
- iadd r28.y, r28.w, r28.y
- else
- ld_structured r28.y, r10.w, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.x, l(0), r28.y
- endif
- sync_g_t
- if_nz r1.w
- if_nz r18.z
- ld_structured r28.y, r14.y, l(0), g3.xxxx
- ld_structured r28.w, r17.w, l(0), g3.xxxx
- iadd r28.y, r28.w, r28.y
- else
- ld_structured r28.y, r14.y, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.z, l(0), r28.y
- endif
- sync_g_t
- if_nz r1.w
- if_nz r18.w
- ld_structured r28.y, r10.w, l(0), g3.xxxx
- ld_structured r28.w, r12.w, l(0), g3.xxxx
- iadd r28.y, r28.w, r28.y
- else
- ld_structured r28.y, r10.w, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.x, l(0), r28.y
- endif
- sync_g_t
- if_nz r1.w
- if_nz r13.w
- ld_structured r28.y, r14.y, l(0), g3.xxxx
- ld_structured r28.w, r17.z, l(0), g3.xxxx
- iadd r28.y, r28.w, r28.y
- else
- ld_structured r28.y, r14.y, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.z, l(0), r28.y
- endif
- sync_g_t
- mov r28.y, l(0)
- mov r28.w, r26.x
- loop
- uge r29.w, r28.y, r21.x
- breakc_nz r29.w
- ult r29.w, r28.w, r23.w
- iadd r30.w, r26.z, r28.w
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r30.w, r30.w, l(0), u2.xxxx
- movc r30.w, r29.w, r30.w, l(-1)
- ushr r33.w, r30.w, r26.y
- and r37.xyzw, r33.wwww, l(1, 2, 4, 8)
- ine r38.xyzw, r37.xyzw, l(0, 0, 0, 0)
- bfi r39.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r38.xyzw, l(0, 0, 0, 0)
- store_structured g3.x, vThreadIDInGroup.x, l(0), r39.x
- store_structured g3.x, r12.x, l(0), r39.y
- store_structured g3.x, r12.y, l(0), r39.z
- store_structured g3.x, r12.z, l(0), r39.w
- sync_g_t
- if_nz r7.x
- ld_structured r39.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r39.y, r12.x, l(0), g3.xxxx
- ld_structured r39.z, r12.y, l(0), g3.xxxx
- ld_structured r39.w, r12.z, l(0), g3.xxxx
- ld_structured r40.x, r3.x, l(0), g3.xxxx
- ld_structured r40.y, r6.y, l(0), g3.xxxx
- ld_structured r40.z, r9.x, l(0), g3.xxxx
- ld_structured r40.w, r6.z, l(0), g3.xxxx
- or r39.xyzw, r39.xyzw, r40.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r39.x
- store_structured g3.x, r12.x, l(0), r39.y
- store_structured g3.x, r12.y, l(0), r39.z
- store_structured g3.x, r12.z, l(0), r39.w
- endif
- sync_g_t
- if_nz r7.y
- ld_structured r39.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r39.y, r12.x, l(0), g3.xxxx
- ld_structured r39.z, r12.y, l(0), g3.xxxx
- ld_structured r39.w, r12.z, l(0), g3.xxxx
- ld_structured r40.x, r3.y, l(0), g3.xxxx
- ld_structured r40.y, r6.w, l(0), g3.xxxx
- ld_structured r40.z, r9.y, l(0), g3.xxxx
- ld_structured r40.w, r8.x, l(0), g3.xxxx
- or r39.xyzw, r39.xyzw, r40.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r39.x
- store_structured g3.x, r12.x, l(0), r39.y
- store_structured g3.x, r12.y, l(0), r39.z
- store_structured g3.x, r12.z, l(0), r39.w
- endif
- sync_g_t
- if_nz r7.z
- ld_structured r39.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r39.y, r12.x, l(0), g3.xxxx
- ld_structured r39.z, r12.y, l(0), g3.xxxx
- ld_structured r39.w, r12.z, l(0), g3.xxxx
- ld_structured r40.x, r3.z, l(0), g3.xxxx
- ld_structured r40.y, r8.y, l(0), g3.xxxx
- ld_structured r40.z, r9.z, l(0), g3.xxxx
- ld_structured r40.w, r8.z, l(0), g3.xxxx
- or r39.xyzw, r39.xyzw, r40.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r39.x
- store_structured g3.x, r12.x, l(0), r39.y
- store_structured g3.x, r12.y, l(0), r39.z
- store_structured g3.x, r12.z, l(0), r39.w
- endif
- sync_g_t
- if_nz r7.w
- ld_structured r39.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r39.y, r12.x, l(0), g3.xxxx
- ld_structured r39.z, r12.y, l(0), g3.xxxx
- ld_structured r39.w, r12.z, l(0), g3.xxxx
- ld_structured r40.x, r3.w, l(0), g3.xxxx
- ld_structured r40.y, r8.w, l(0), g3.xxxx
- ld_structured r40.z, r9.w, l(0), g3.xxxx
- ld_structured r40.w, r13.x, l(0), g3.xxxx
- or r39.xyzw, r39.xyzw, r40.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r39.x
- store_structured g3.x, r12.x, l(0), r39.y
- store_structured g3.x, r12.y, l(0), r39.z
- store_structured g3.x, r12.z, l(0), r39.w
- endif
- sync_g_t
- if_nz r4.w
- ld_structured r39.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r39.y, r12.x, l(0), g3.xxxx
- ld_structured r39.z, r12.y, l(0), g3.xxxx
- ld_structured r39.w, r12.z, l(0), g3.xxxx
- ld_structured r40.x, r6.x, l(0), g3.xxxx
- ld_structured r40.y, r13.y, l(0), g3.xxxx
- ld_structured r40.z, r14.x, l(0), g3.xxxx
- ld_structured r40.w, r13.z, l(0), g3.xxxx
- or r39.xyzw, r39.xyzw, r40.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r39.x
- store_structured g3.x, r12.x, l(0), r39.y
- store_structured g3.x, r12.y, l(0), r39.z
- store_structured g3.x, r12.z, l(0), r39.w
- endif
- sync_g_t
- ld_structured r35.w, r5.z, l(0), g3.xxxx
- ld_structured r37.y, r10.x, l(0), g3.xxxx
- ld_structured r37.z, r10.y, l(0), g3.xxxx
- ld_structured r37.w, r10.z, l(0), g3.xxxx
- bfi r33.w, l(4), l(5), r33.w, l(0)
- iadd r33.w, r11.y, r33.w
- iadd r33.w, r33.w, l(4096)
- ld_structured r33.w, r33.w, l(0), g3.xxxx
- if_nz r29.w
- iadd r29.w, r37.x, l(-1)
- xor r29.w, r35.w, r29.w
- ieq r38.xyz, r38.yzwy, l(0, 0, 0, 0)
- xor r37.x, r37.y, r38.x
- and r29.w, r29.w, r37.x
- xor r37.x, r37.z, r38.y
- and r29.w, r29.w, r37.x
- xor r37.x, r37.w, r38.z
- and r29.w, r29.w, r37.x
- ubfe r29.w, vThreadIDInGroup.x, l(0), r29.w
- countbits r29.w, r29.w
- iadd r29.w, r29.w, r33.w
- iadd r29.w, r26.w, r29.w
- store_structured u2.x, r29.w, l(0), r30.w
- endif
- sync_g_t
- if_nz r7.x
- ld_structured r29.w, r11.z, l(0), g3.xxxx
- xor r30.w, r2.z, r35.w
- xor r33.w, r2.w, r37.y
- and r30.w, r30.w, r33.w
- xor r33.w, r5.x, r37.z
- and r30.w, r30.w, r33.w
- xor r33.w, r5.y, r37.w
- and r30.w, r30.w, r33.w
- countbits r30.w, r30.w
- iadd r29.w, r29.w, r30.w
- store_structured g3.x, r11.z, l(0), r29.w
- endif
- iadd r28.yw, r28.yyyw, l(0, 1, 0, 32)
- endloop
- if_nz r21.w
- ult r28.y, r28.w, r23.w
- iadd r29.w, r26.z, r28.w
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r29.w, r29.w, l(0), u2.xxxx
- movc r29.w, r28.y, r29.w, l(-1)
- ushr r30.w, r29.w, r26.y
- if_nz r22.w
- and r37.xyzw, r30.wwww, l(1, 2, 4, 8)
- ine r37.xyzw, r37.xyzw, l(0, 0, 0, 0)
- bfi r37.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r37.xyzw, l(0, 0, 0, 0)
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- sync_g_t
- if_nz r22.w
- if_nz r7.x
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.x, l(0), g3.xxxx
- ld_structured r38.y, r6.y, l(0), g3.xxxx
- ld_structured r38.z, r9.x, l(0), g3.xxxx
- ld_structured r38.w, r6.z, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r22.w
- if_nz r7.y
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.y, l(0), g3.xxxx
- ld_structured r38.y, r6.w, l(0), g3.xxxx
- ld_structured r38.z, r9.y, l(0), g3.xxxx
- ld_structured r38.w, r8.x, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r22.w
- if_nz r7.z
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.z, l(0), g3.xxxx
- ld_structured r38.y, r8.y, l(0), g3.xxxx
- ld_structured r38.z, r9.z, l(0), g3.xxxx
- ld_structured r38.w, r8.z, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r22.w
- if_nz r7.w
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.w, l(0), g3.xxxx
- ld_structured r38.y, r8.w, l(0), g3.xxxx
- ld_structured r38.z, r9.w, l(0), g3.xxxx
- ld_structured r38.w, r13.x, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r22.w
- if_nz r4.w
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r6.x, l(0), g3.xxxx
- ld_structured r38.y, r13.y, l(0), g3.xxxx
- ld_structured r38.z, r14.x, l(0), g3.xxxx
- ld_structured r38.w, r13.z, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r22.w
- ld_structured r37.x, r5.z, l(0), g3.xxxx
- ld_structured r37.y, r10.x, l(0), g3.xxxx
- ld_structured r37.z, r10.y, l(0), g3.xxxx
- ld_structured r37.w, r10.z, l(0), g3.xxxx
- and r38.xyzw, r30.wwww, l(1, 2, 4, 8)
- iadd r33.w, r38.x, l(-1)
- xor r33.w, r37.x, r33.w
- ine r38.xyz, r38.yzwy, l(0, 0, 0, 0)
- ieq r38.xyz, r38.xyzx, l(0, 0, 0, 0)
- xor r38.xyz, r37.yzwy, r38.xyzx
- and r33.w, r33.w, r38.x
- and r33.w, r38.y, r33.w
- and r33.w, r38.z, r33.w
- bfi r30.w, l(4), l(5), r30.w, l(0)
- iadd r30.w, r11.y, r30.w
- iadd r30.w, r30.w, l(4096)
- ld_structured r30.w, r30.w, l(0), g3.xxxx
- ubfe r33.w, vThreadIDInGroup.x, l(0), r33.w
- countbits r33.w, r33.w
- iadd r30.w, r30.w, r33.w
- else
- mov r37.xyzw, l(0,0,0,0)
- mov r30.w, l(0)
- endif
- if_nz r28.y
- iadd r28.y, r26.w, r30.w
- store_structured u2.x, r28.y, l(0), r29.w
- endif
- sync_g_t
- if_nz r22.w
- if_nz r7.x
- ld_structured r28.y, r11.z, l(0), g3.xxxx
- xor r29.w, r2.z, r37.x
- xor r30.w, r2.w, r37.y
- and r29.w, r29.w, r30.w
- xor r37.xy, r5.xyxx, r37.zwzz
- and r29.w, r29.w, r37.x
- and r29.w, r37.y, r29.w
- countbits r29.w, r29.w
- iadd r28.y, r28.y, r29.w
- store_structured g3.x, r11.z, l(0), r28.y
- endif
- endif
- endif
- iadd r26.y, r26.y, l(4)
- mov r28.y, r26.w
- mov r26.w, r26.z
- mov r26.z, r28.y
- endloop
- mov r21.x, vThreadIDInGroup.x
- loop
- ige r21.z, r21.x, r17.x
- breakc_nz r21.z
- iadd r21.z, r21.x, r21.y
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r21.w, r21.z, l(0), u2.xxxx
- iadd r21.z, r21.z, l(-1)
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r21.z, r21.z, l(0), u2.xxxx
- ishr r21.zw, r21.zzzw, l(0, 0, 16, 16)
- iadd r22.w, r21.w, l(-1)
- movc r21.z, r21.x, r21.z, r22.w
- ine r22.w, r21.z, r21.w
- if_nz r22.w
- iadd r21.zw, r19.yyyy, r21.zzzw
- store_structured u2.x, r21.w, l(0), r21.x
- iadd r21.z, r21.z, l(1)
- store_structured u2.x, r21.z, l(0), r21.x
- endif
- iadd r21.x, r21.x, l(1024)
- endloop
- ld_raw r21.xy, l(96), g0.xyxx
- mov r26.x, vThreadIDInGroup.x
- loop
- ige r21.z, r26.x, r17.x
- breakc_nz r21.z
- iadd r21.z, r21.y, r26.x
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r21.z, r21.z, l(0), u2.xxxx
- and r21.z, r21.z, l(0x0000ffff)
- iadd r21.z, r21.z, r21.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r37.xyzw, r21.z, l(0), u1.xyzw
- store_structured g3.x, r26.x, l(0), r37.x
- iadd r26.xyzw, r26.xxxx, l(1024, 1975, 3950, 5925)
- store_structured g3.x, r26.y, l(0), r37.y
- store_structured g3.x, r26.z, l(0), r37.z
- store_structured g3.x, r26.w, l(0), r37.w
- endloop
- sync_g_t
- ld_raw r21.x, l(84), g0.xxxx
- mul r21.y, r21.x, r21.x
- ld_raw r21.z, l(100), g0.xxxx
- ld_raw r21.w, l(112), g1.xxxx
- mov r22.w, vThreadIDInGroup.x
- loop
- ige r23.w, r22.w, r17.x
- breakc_nz r23.w
- iadd r23.w, r21.z, r22.w
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r23.w, r23.w, l(0), u2.xxxx
- and r23.w, r23.w, l(0x0000ffff)
- ld_structured r26.x, r22.w, l(0), g3.xxxx
- iadd r37.xyzw, r22.wwww, l(1975, 3950, 5925, 1024)
- ld_structured r26.y, r37.x, l(0), g3.xxxx
- ld_structured r26.z, r37.y, l(0), g3.xxxx
- ld_structured r26.w, r37.z, l(0), g3.xxxx
- iadd r28.y, r21.w, r23.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r37.xyz, r28.y, l(0), t14.xyzx
- dp4 r28.y, r26.xyzw, icb[r20.z + 0].xyzw
- mad r28.y, r28.y, r19.z, r20.x
- min r28.y, r28.y, l(127.500000)
- max r28.y, r28.y, l(0.000000)
- ftoi r28.y, r28.y
- dp4 r29.w, r26.xyzw, icb[r20.w + 0].xyzw
- mad r29.w, r29.w, r19.w, r20.y
- min r29.w, r29.w, l(127.500000)
- max r29.w, r29.w, l(0.000000)
- ftoi r29.w, r29.w
- imad r28.y, r29.w, l(128), r28.y
- iadd r29.w, r28.y, l(256)
- add r30.w, r26.w, l(0.000000)
- mov r38.xyz, l(0,0,0,0)
- mov r33.w, l(0.000000)
- mov r35.w, r28.y
- loop
- ilt r38.w, r29.w, r35.w
- breakc_nz r38.w
- iadd r38.w, r19.y, r35.w
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r39.x, r38.w, l(0), u2.xxxx
- iadd r39.yzw, r38.wwww, l(0, 1, 2, 3)
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r38.w, r39.y, l(0), u2.xxxx
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r39.y, r39.z, l(0), u2.xxxx
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r39.z, r39.w, l(0), u2.xxxx
- umin r39.x, r38.w, r39.x
- umin r39.x, r39.y, r39.x
- imax r38.w, r38.w, r39.y
- imax r38.w, r39.z, r38.w
- imax r38.w, r38.w, l(0)
- mov r39.yzw, r38.xxyz
- mov r40.x, r33.w
- mov r40.y, r39.x
- loop
- uge r40.z, r40.y, r38.w
- breakc_nz r40.z
- ine r40.z, r22.w, r40.y
- if_nz r40.z
- ld_structured r41.x, r40.y, l(0), g3.xxxx
- iadd r42.xyz, r40.yyyy, l(1975, 3950, 5925, 0)
- ld_structured r41.y, r42.x, l(0), g3.xxxx
- ld_structured r41.z, r42.y, l(0), g3.xxxx
- ld_structured r40.z, r42.z, l(0), g3.xxxx
- add r41.xyz, r26.xyzx, -r41.xyzx
- dp3 r40.w, r41.xyzx, r41.xyzx
- lt r41.w, r21.y, r40.w
- if_nz r41.w
- iadd r41.w, r40.y, l(1)
- mov r40.y, r41.w
- continue
- endif
- ld_raw r41.w, l(112), g1.xxxx
- ine r42.x, r41.w, l(-1)
- if_nz r42.x
- ld_raw r42.x, l(100), g0.xxxx
- iadd r42.x, r40.y, r42.x
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r42.x, r42.x, l(0), u2.xxxx
- and r42.x, r42.x, l(0x0000ffff)
- iadd r41.w, r41.w, r42.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r42.xyz, r41.w, l(0), t14.xyzx
- add r42.xyz, r37.xyzx, -r42.xyzx
- dp3 r41.w, r42.xyzx, r42.xyzx
- ge r42.x, r21.y, r41.w
- if_nz r42.x
- iadd r42.x, r40.y, l(1)
- mov r40.y, r42.x
- continue
- endif
- add r41.w, r41.w, l(0.000000)
- div r41.w, r21.y, r41.w
- rsq r41.w, r41.w
- add r41.w, r41.w, l(-1.000000)
- min r41.w, r41.w, l(1.000000)
- else
- mov r41.w, l(1.000000)
- endif
- add r40.w, r40.w, l(0.000000)
- rsq r40.w, r40.w
- mad r40.w, r21.x, r40.w, l(-1.000000)
- max r40.w, r40.w, l(0.000000)
- mul r42.x, r40.w, r40.w
- mul r41.w, r41.w, r42.x
- add r40.z, r30.w, r40.z
- div r40.z, r41.w, r40.z
- mad r39.yzw, r40.zzzz, r41.xxyz, r39.yyzw
- add r40.x, r40.w, r40.x
- endif
- iadd r40.y, r40.y, l(1)
- endloop
- mov r38.xyz, r39.yzwy
- mov r33.w, r40.x
- iadd r35.w, r35.w, l(128)
- endloop
- ld_raw r26.x, l(72), g1.xxxx
- mul r26.x, r26.w, r26.x
- div r26.x, r26.x, r33.w
- ld_raw r26.y, l(96), g0.xxxx
- iadd r23.w, r23.w, r26.y
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r37.xyz, r23.w, l(0), u1.xyzx
- mad r26.xzw, r38.xxyz, r26.xxxx, r37.xxyz
- store_structured u1.xyz, r23.w, l(0), r26.xzwx
- mov r22.w, r37.w
- endloop
- sync_g_t
- ld_raw r19.z, l(96), g0.xxxx
- mov r20.x, vThreadIDInGroup.x
- loop
- ige r19.w, r20.x, r19.x
- breakc_nz r19.w
- iadd r19.w, r19.z, r20.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r21.xyzw, r19.w, l(0), u1.xyzw
- store_structured g3.x, r20.x, l(0), r21.x
- iadd r20.xyzw, r20.xxxx, l(1024, 1975, 3950, 5925)
- store_structured g3.x, r20.y, l(0), r21.y
- store_structured g3.x, r20.z, l(0), r21.z
- store_structured g3.x, r20.w, l(0), r21.w
- endloop
- ld_raw r19.x, l(100), g0.xxxx
- mov r19.z, vThreadIDInGroup.x
- loop
- ige r19.w, r19.z, r17.x
- breakc_nz r19.w
- iadd r19.w, r19.z, r19.x
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r19.w, r19.w, l(0), u2.xxxx
- ushr r19.w, r19.w, l(16)
- iadd r19.w, r19.w, r19.y
- store_structured u2.x, r19.w, l(0), l(-1)
- iadd r20.x, r19.w, l(1)
- store_structured u2.x, r20.x, l(0), l(-1)
- iadd r19.z, r19.z, l(1024)
- endloop
- endif
- if_z vThreadIDInGroup.x
- ld_raw r17.x, l(8), g1.xxxx
- mul r17.x, r17.x, l(1000.000000)
- ftou r17.x, r17.x
- umax r17.x, r17.x, l(1)
- ld_raw r19.x, l(104), g1.xxxx
- iadd r17.x, r17.x, r19.x
- store_raw g1.x, l(104), r17.x
- endif
- sync_g_t
- ld_raw r17.x, l(104), g1.xxxx
- ld_raw r19.x, l(104), g0.xxxx
- uge r17.x, r17.x, r19.x
- if_nz r17.x
- ld_raw r17.x, l(0), g0.xxxx
- mov r19.x, l(0)
- mov r19.y, vThreadIDInGroup.x
- loop
- uge r19.z, r19.y, r17.x
- breakc_nz r19.z
- ld_structured r20.x, r19.y, l(0), g3.xxxx
- iadd r21.xyz, r19.yyyy, l(1975, 3950, 1024, 0)
- ld_structured r20.y, r21.x, l(0), g3.xxxx
- ld_structured r20.z, r21.y, l(0), g3.xxxx
- iadd r19.z, r0.x, r19.y
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r21.xyw, r19.z, l(0), u0.xyxz
- add r20.xyz, r20.xyzx, -r21.xywx
- max r19.z, |r20.y|, |r20.x|
- max r19.z, |r20.z|, r19.z
- max r19.x, r19.x, r19.z
- mov r19.y, r21.z
- endloop
- if_z vThreadIDInGroup.x
- ld_raw r17.x, l(100), g1.xxxx
- iadd r17.x, r17.x, l(1)
- store_raw g1.x, l(100), r17.x
- ld_raw r17.x, l(104), g0.xxxx
- ld_raw r19.y, l(104), g1.xxxx
- iadd r17.x, -r17.x, r19.y
- store_raw g1.x, l(104), r17.x
- endif
- ld_raw r17.x, l(112), g0.xxxx
- ld_raw r19.y, l(8), g1.xxxx
- mul r17.x, r17.x, r19.y
- lt r17.x, r17.x, r19.x
- if_nz r17.x
- store_raw g1.x, l(100), l(0)
- endif
- endif
- iadd r15.y, r15.y, l(1)
- endloop
- sync_g_t
- ld_raw r0.yz, l(0), g0.xxyx
- mov r1.x, vThreadIDInGroup.x
- loop
- uge r0.w, r1.x, r0.y
- breakc_nz r0.w
- iadd r0.w, r0.z, r1.x
- ld_structured r2.x, r1.x, l(0), g3.xxxx
- iadd r1.xyzw, r1.xxxx, l(1024, 1975, 3950, 5925)
- ld_structured r2.y, r1.y, l(0), g3.xxxx
- ld_structured r2.z, r1.z, l(0), g3.xxxx
- ld_structured r2.w, r1.w, l(0), g3.xxxx
- store_structured u0.xyzw, r0.w, l(0), r2.xyzw
- endloop
-else
- ld_raw r0.y, l(4), g0.xxxx
- not r0.z, vThreadIDInGroup.x
- and r0.z, r0.z, l(3)
- ult r1.xyzw, vThreadIDInGroup.xxxx, l(192, 176, 3, 512)
- and r2.xyzw, vThreadIDInGroup.xxxx, l(32, 31, 1, 2)
- movc r0.w, r2.x, l(-1.000000), l(1.000000)
- iadd r3.xyzw, vThreadIDInGroup.xxxx, l(16, 8, 4, 2)
- ieq r2.x, r2.y, l(0)
- and r2.x, r1.x, r2.x
- ushr r4.xy, vThreadIDInGroup.xxxx, l(6, 5, 0, 0)
- ishl r4.z, r4.y, l(2)
- ishl r4.w, vThreadIDInGroup.x, l(3)
- iadd r4.zw, r4.zzzw, l(0, 0, 76, 76)
- iadd r2.z, r2.z, l(-1)
- ine r2.w, r2.w, l(0)
- ieq r2.w, r2.w, l(0)
- and r5.xyz, vThreadIDInGroup.xxxx, l(4, 8, 992, 0)
- ine r5.xy, r5.xyxx, l(0, 0, 0, 0)
- ieq r5.xy, r5.xyxx, l(0, 0, 0, 0)
- iadd r6.xyzw, vThreadIDInGroup.xxxx, l(1, 1040, 3088, 1032)
- ult r7.xyzw, r2.yyyy, l(16, 8, 4, 2)
- ult r5.w, r2.y, l(1)
- iadd r8.xyzw, vThreadIDInGroup.xxxx, l(3080, 1028, 3076, 1026)
- iadd r9.xyzw, r3.xyzw, l(2048, 2048, 2048, 2048)
- iadd r10.xyz, r5.zzzz, l(1024, 2048, 3072, 0)
- iadd r11.xy, r4.yyyy, l(1, 513, 0, 0)
- bfi r12.xyzw, l(10, 11, 10, 5), l(0, 0, 0, 5), vThreadIDInGroup.xxxx, l(1024, 2048, 3072, 0)
- iadd r11.xz, r11.xxyx, r12.wwww
- iadd r13.xyzw, vThreadIDInGroup.xxxx, l(3074, 1025, 3073, 514)
- iadd r14.xy, r6.xxxx, l(2048, 4096, 0, 0)
- iadd r10.w, vThreadIDInGroup.x, l(4096)
- iadd r11.w, r13.w, l(4096)
- iadd r15.xyzw, vThreadIDInGroup.xxxx, l(4097, 512, 4610, 4093)
- iadd r12.w, r15.y, l(4096)
- uge r16.xyzw, vThreadIDInGroup.xxxx, l(1, 2, 4, 8)
- iadd r17.xyzw, vThreadIDInGroup.xxxx, l(506, 4081, 482, 4033)
- iadd r14.zw, r17.xxxz, l(0, 0, 4096, 4096)
- uge r18.xyzw, vThreadIDInGroup.xxxx, l(16, 32, 64, 128)
- iadd r17.xz, vThreadIDInGroup.xxxx, l(386, 0, 3841, 0)
- iadd r13.w, r17.x, l(4096)
- uge r15.y, vThreadIDInGroup.x, l(256)
- iadd r11.xz, r11.xxzx, l(4096, 0, 4096, 0)
- mov r17.x, l(0)
- loop
- ld_raw r19.x, l(16), g1.xxxx
- uge r19.y, r17.x, r19.x
- breakc_nz r19.y
- utof r19.y, r17.x
- add r19.z, r19.y, l(1.000000)
- utof r19.x, r19.x
- div r19.x, r19.z, r19.x
- if_z vThreadIDInGroup.x
- ld_raw r19.z, l(12), g1.xxxx
- iadd r19.z, r17.x, r19.z
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r20.xyzw, r19.z, l(0), t2.xyzw
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r21.xyzw, r19.z, l(16), t2.xyzw
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r22.xyzw, r19.z, l(32), t2.xyzw
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r23.xyzw, r19.z, l(48), t2.xyzw
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r24.xyzw, r19.z, l(64), t2.xyzw
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r25.xyzw, r19.z, l(80), t2.xyzw
- ld_structured_indexable(structured_buffer, stride=100)(mixed,mixed,mixed,mixed) r19.z, r19.z, l(96), t2.xxxx
- store_raw g2.xyzw, l(0), r20.xyzw
- store_raw g2.xyzw, l(16), r21.xyzw
- store_raw g2.xyzw, l(32), r22.xyzw
- store_raw g2.xyzw, l(48), r23.xyzw
- store_raw g2.xyzw, l(64), r24.xyzw
- store_raw g2.xyzw, l(80), r25.xyzw
- store_raw g2.x, l(96), r19.z
- endif
- sync_g_t
- ld_raw r19.z, l(0), g0.xxxx
- ld_raw r20.xyz, l(12), g2.xyzx
- ld_raw r21.xyzw, l(60), g2.xyzw
- ld_raw r22.xyzw, l(24), g2.xyzw
- ld_raw r23.xyzw, l(76), g2.xyzw
- ld_raw r24.xyzw, l(40), g2.xyzw
- ld_raw r25.xy, l(92), g2.xyxx
- ld_raw r19.w, l(56), g2.xxxx
- ld_raw r26.xyzw, l(12), g2.xyzw
- ld_raw r20.w, l(36), g2.xxxx
- ld_raw r25.z, l(48), g2.xxxx
- mov r25.w, vThreadIDInGroup.x
- loop
- uge r27.x, r25.w, r19.z
- breakc_nz r27.x
- iadd r27.x, r0.y, r25.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r28.xyzw, r27.x, l(0), u0.xyzw
- iadd r27.y, r0.x, r25.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r29.xyzw, r27.y, l(0), u0.xyzw
- eq r27.z, r28.w, l(0.000000)
- movc r28.w, r27.z, r29.w, r28.w
- lt r27.z, l(0.000000), r28.w
- if_nz r27.z
- if_nz r25.y
- add r30.xyz, r20.xyzx, r28.xyzx
- mad r27.zw, r28.xxxx, r21.xxxw, r30.xxxy
- mad r27.zw, r29.xxxx, r22.xxxw, r27.zzzw
- mad r27.z, r28.y, r21.y, r27.z
- mad r27.z, r29.y, r22.y, r27.z
- mad r27.z, r28.z, r21.z, r27.z
- mad r30.x, r29.z, r22.z, r27.z
- mad r27.z, r28.y, r23.x, r27.w
- mad r27.z, r29.y, r24.x, r27.z
- mad r27.z, r28.z, r23.y, r27.z
- mad r30.y, r29.z, r24.y, r27.z
- mad r27.z, r28.x, r23.z, r30.z
- mad r27.z, r29.x, r24.z, r27.z
- mad r27.z, r28.y, r23.w, r27.z
- mad r27.z, r29.y, r24.w, r27.z
- mad r27.z, r28.z, r25.x, r27.z
- mad r27.z, r29.z, r19.w, r27.z
- else
- add r31.xyz, r28.xyzx, -r29.xyzx
- mad r27.w, r31.x, r26.w, r26.x
- add r30.x, r27.w, r28.x
- mad r27.w, r31.y, r20.w, r26.y
- add r30.y, r27.w, r28.y
- mad r27.w, r31.z, r25.z, r26.z
- add r27.z, r27.w, r28.z
- endif
- ld_raw r31.xyz, l(0), g2.xyzx
- add r29.xyz, r28.xyzx, r31.xyzx
- mov r28.xy, r30.xyxx
- mov r28.z, r27.z
- else
- mov r29.xyz, r28.xyzx
- endif
- store_structured u0.xyzw, r27.x, l(0), r28.xyzw
- store_structured u0.xyzw, r27.y, l(0), r29.xyzw
- iadd r25.w, r25.w, l(1024)
- endloop
- ld_raw r19.z, l(44), g1.xxxx
- sync_g_t
- ld_raw r19.w, l(8), g1.xxxx
- mul r19.w, r19.w, r19.w
- movc r19.w, r0.z, r19.w, l(0)
- ld_raw r20.x, l(0), g0.xxxx
- ishl r20.y, r20.x, l(2)
- mov r20.z, vThreadIDInGroup.x
- loop
- uge r20.w, r20.z, r20.y
- breakc_nz r20.w
- ushr r20.w, r20.z, l(2)
- iadd r20.w, r0.y, r20.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r21.xyzw, r20.w, l(0), u0.xyzw
- lt r22.x, l(0.000000), r21.w
- if_nz r22.x
- iadd r22.x, r19.z, r20.z
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r22.xyzw, r22.x, l(0), t13.xyzw
- mad r21.xyzw, r22.xyzw, r19.wwww, r21.xyzw
- store_structured u0.xyzw, r20.w, l(0), r21.xyzw
- endif
- iadd r20.z, r20.z, l(1024)
- endloop
- sync_g_t
- ld_raw r19.z, l(28), g1.xxxx
- ine r19.z, r19.z, l(-1)
- if_nz r19.z
- ld_raw r19.zw, l(36), g0.xxxy
- ld_raw r20.xyz, l(24), g1.xyzx
- ld_raw r20.w, l(0), g0.xxxx
- mov r21.x, vThreadIDInGroup.x
- loop
- uge r21.y, r21.x, r20.w
- breakc_nz r21.y
- iadd r21.yz, r20.yyzy, r21.xxxx
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r22.xyzw, r21.y, l(0), t11.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r23.xyzw, r21.z, l(0), t11.xyzw
- add r23.xyzw, -r22.xyzw, r23.xyzw
- mad r22.xyzw, r23.xyzw, r19.xxxx, r22.xyzw
- iadd r21.y, r0.y, r21.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r23.xyzw, r21.y, l(0), u0.xyzw
- add r22.xyz, r22.xyzx, -r23.xyzx
- dp3 r21.z, r22.xyzx, r22.xyzx
- add r21.z, r21.z, l(0.000000)
- mad r21.w, r22.w, -r19.z, -r19.w
- min r21.w, r21.w, l(0.000000)
- rsq r21.z, r21.z
- mad r21.z, r21.w, r21.z, l(1.000000)
- max r21.z, r21.z, l(0.000000)
- mul r21.z, r20.x, r21.z
- mad r22.xyz, r21.zzzz, r22.xyzx, r23.xyzx
- ge r21.z, r21.w, l(0.000000)
- movc r22.w, r21.z, l(0), r23.w
- store_structured u0.xyzw, r21.y, l(0), r22.xyzw
- iadd r21.x, r21.x, l(1024)
- endloop
- endif
- ld_raw r19.z, l(20), g1.xxxx
- eq r19.w, r19.z, l(0.000000)
- ld_raw r20.x, l(24), g0.xxxx
- ieq r20.y, r20.x, l(0)
- or r19.w, r19.w, r20.y
- if_z r19.w
- ld_raw r19.w, l(0), g0.xxxx
- utof r20.y, r19.w
- mul r19.z, r19.z, r20.y
- utof r20.y, r20.x
- div r19.z, r19.z, r20.y
- ld_raw r20.yz, l(28), g0.xxyx
- mov r20.w, vThreadIDInGroup.x
- loop
- uge r21.x, r20.w, r19.w
- breakc_nz r21.x
- iadd r21.x, r0.y, r20.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r22.xyzw, r21.x, l(0), u0.xyzw
- mov r21.yzw, l(0,0,0,0)
- mov r23.x, r20.w
- loop
- uge r23.y, r23.x, r20.x
- breakc_nz r23.y
- iadd r23.y, r20.y, r23.x
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r23.y, r23.y, l(0), t5.xxxx
- and r23.z, r23.y, l(0x0000ffff)
- iadd r23.z, r0.y, r23.z
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r24.xyz, r23.z, l(0), u0.xyzx
- add r24.xyz, -r22.xyzx, r24.xyzx
- mad r23.z, r24.x, r24.x, l(0.000000)
- mad r23.z, r24.y, r24.y, r23.z
- mad r23.z, r24.z, r24.z, r23.z
- ushr r23.y, r23.y, l(16)
- utof r23.y, r23.y
- mul r23.y, r20.z, r23.y
- rsq r23.z, r23.z
- mad r23.y, -r23.y, r23.z, l(1.000000)
- lt r23.z, l(0.000000), r23.y
- mad r24.xyz, r24.xyzx, r23.yyyy, r21.yzwy
- movc r21.yzw, r23.zzzz, r24.xxyz, r21.yyzw
- iadd r23.x, r19.w, r23.x
- endloop
- mad r22.xyz, r21.yzwy, r19.zzzz, r22.xyzx
- store_structured u0.xyzw, r21.x, l(0), r22.xyzw
- iadd r20.w, r20.w, l(1024)
- endloop
- endif
- mov r19.z, l(0)
- loop
- ld_raw r19.w, l(8), g0.xxxx
- uge r19.w, r19.z, r19.w
- breakc_nz r19.w
- ld_raw r20.xyz, l(12), g0.xyzx
- iadd r19.w, r19.z, r20.x
- ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r22.xyzw, r19.w, l(0), t3.xyzw
- ld_structured_indexable(structured_buffer, stride=24)(mixed,mixed,mixed,mixed) r20.xw, r19.w, l(16), t3.xxxy
- ld_raw r19.w, l(108), g1.xxxx
- mul r22.xy, r19.wwww, r22.xyxx
- exp r22.xy, r22.xyxx
- add r22.xy, -r22.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
- iadd r20.y, r20.x, r20.y
- ine r20.z, r20.z, l(-1)
- ld_raw r21.x, l(20), g0.xxxx
- iadd r20.x, r20.x, r21.x
- sync_g_t
- mov r21.x, vThreadIDInGroup.x
- loop
- uge r23.x, r21.x, r20.w
- breakc_nz r23.x
- iadd r23.x, r20.y, r21.x
- ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r23.xy, r23.x, l(0), t4.xyxx
- and r23.z, r23.y, l(0x0000ffff)
- ushr r23.y, r23.y, l(16)
- iadd r23.yz, r0.yyyy, r23.yyzy
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r24.xyzw, r23.z, l(0), u0.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r25.xyzw, r23.y, l(0), u0.xyzw
- add r26.xyz, -r24.xyzx, r25.xyzx
- mad r23.w, r26.x, r26.x, l(0.000000)
- mad r23.w, r26.y, r26.y, r23.w
- mad r23.w, r26.z, r26.z, r23.w
- lt r26.w, l(0.000000), r23.x
- rsq r23.w, r23.w
- mad r23.x, r23.x, r23.w, l(-1.000000)
- and r23.x, r23.x, r26.w
- min r23.w, r22.w, -r23.x
- max r23.w, r22.z, r23.w
- mad r23.x, r22.y, r23.w, r23.x
- iadd r23.w, r20.x, r21.x
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r23.w, r23.w, l(0), t16.xxxx
- mul r23.w, r19.w, r23.w
- exp r23.w, r23.w
- add r23.w, -r23.w, l(1.000000)
- movc r23.w, r20.z, r23.w, r22.x
- mul r23.x, r23.w, r23.x
- add r23.w, r24.w, r25.w
- add r23.w, r23.w, l(0.000000)
- div r23.x, r23.x, r23.w
- mul r23.w, r23.x, -r24.w
- mad r24.xyz, r23.wwww, r26.xyzx, r24.xyzx
- store_structured u0.xyz, r23.z, l(0), r24.xyzx
- mul r23.x, r23.x, r25.w
- mad r23.xzw, r23.xxxx, r26.xxyz, r25.xxyz
- store_structured u0.xyz, r23.y, l(0), r23.xzwx
- iadd r21.x, r21.x, l(1024)
- endloop
- iadd r19.z, r19.z, l(1)
- endloop
- sync_g_t
- ld_raw r19.z, l(36), g1.xxxx
- ine r19.z, r19.z, l(-1)
- if_nz r19.z
- ld_raw r19.z, l(0), g0.xxxx
- ld_raw r20.xy, l(36), g1.xyxx
- mov r19.w, vThreadIDInGroup.x
- loop
- uge r20.z, r19.w, r19.z
- breakc_nz r20.z
- iadd r20.zw, r20.xxxy, r19.wwww
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r22.xyzw, r20.z, l(0), t12.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r23.xyzw, r20.w, l(0), t12.xyzw
- add r23.xyzw, -r22.xyzw, r23.xyzw
- mad r22.xyzw, r23.xyzw, r19.xxxx, r22.xyzw
- iadd r20.z, r0.y, r19.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r23.xyz, r20.z, l(0), u0.xyzx
- add r22.xyz, r22.xyzx, -r23.xyzx
- dp3 r20.w, r22.xyzx, r22.xyzx
- add r20.w, r20.w, l(0.000000)
- rsq r20.w, r20.w
- mad r20.w, -r22.w, r20.w, l(1.000000)
- min r20.w, r20.w, l(0.000000)
- mad r22.xyz, r20.wwww, r22.xyzx, r23.xyzx
- store_structured u0.xyz, r20.z, l(0), r22.xyzx
- iadd r19.w, r19.w, l(1024)
- endloop
- sync_g_t
- endif
- if_nz r1.x
- ld_raw r19.z, l(0), g0.xxxx
- iadd r19.w, r19.z, l(-1)
- umin r19.w, r2.y, r19.w
- iadd r20.x, r0.y, r19.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r20.xyzw, r20.x, l(0), u0.xyzw
- dp4 r20.x, r20.xyzw, icb[r4.x + 0].xyzw
- mul r20.x, r0.w, r20.x
- store_structured g4.x, vThreadIDInGroup.x, l(0), r20.x
- mov r20.x, r19.w
- loop
- iadd r20.x, r20.x, l(32)
- uge r20.y, r20.x, r19.z
- breakc_nz r20.y
- ld_structured r20.y, vThreadIDInGroup.x, l(0), g4.xxxx
- iadd r20.z, r0.y, r20.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r22.xyzw, r20.z, l(0), u0.xyzw
- dp4 r20.z, r22.xyzw, icb[r4.x + 0].xyzw
- mul r20.z, r0.w, r20.z
- max r20.y, r20.z, r20.y
- store_structured g4.x, vThreadIDInGroup.x, l(0), r20.y
- endloop
- endif
- sync_g_t
- if_nz r1.y
- ld_structured r19.z, vThreadIDInGroup.x, l(0), g4.xxxx
- ld_structured r19.w, r3.x, l(0), g4.xxxx
- max r19.z, r19.w, r19.z
- store_structured g4.x, vThreadIDInGroup.x, l(0), r19.z
- endif
- sync_g_t
- if_nz r1.y
- ld_structured r19.z, vThreadIDInGroup.x, l(0), g4.xxxx
- ld_structured r19.w, r3.y, l(0), g4.xxxx
- max r19.z, r19.w, r19.z
- store_structured g4.x, vThreadIDInGroup.x, l(0), r19.z
- endif
- sync_g_t
- if_nz r1.y
- ld_structured r19.z, vThreadIDInGroup.x, l(0), g4.xxxx
- ld_structured r19.w, r3.z, l(0), g4.xxxx
- max r19.z, r19.w, r19.z
- store_structured g4.x, vThreadIDInGroup.x, l(0), r19.z
- endif
- sync_g_t
- if_nz r1.y
- ld_structured r19.z, vThreadIDInGroup.x, l(0), g4.xxxx
- ld_structured r19.w, r3.w, l(0), g4.xxxx
- max r19.z, r19.w, r19.z
- store_structured g4.x, vThreadIDInGroup.x, l(0), r19.z
- endif
- sync_g_t
- if_nz r1.y
- ld_structured r19.z, vThreadIDInGroup.x, l(0), g4.xxxx
- ld_structured r19.w, r6.x, l(0), g4.xxxx
- max r19.z, r19.w, r19.z
- store_structured g4.x, vThreadIDInGroup.x, l(0), r19.z
- endif
- sync_g_t
- if_nz r2.x
- ld_structured r19.z, vThreadIDInGroup.x, l(0), g4.xxxx
- store_raw g1.x, r4.z, r19.z
- endif
- sync_g_t
- ld_raw r19.z, l(16), g1.xxxx
- utof r19.z, r19.z
- div r19.y, r19.y, r19.z
- ld_raw r19.z, l(60), g0.xxxx
- if_nz r19.z
- ld_raw r19.w, l(80), g0.xxxx
- lt r19.w, l(0.000000), r19.w
- ld_raw r20.x, l(0), g0.xxxx
- ld_raw r20.y, l(64), g0.xxxx
- ld_raw r20.zw, l(56), g1.xxxy
- mov r21.x, vThreadIDInGroup.x
- loop
- uge r22.x, r21.x, r20.x
- breakc_nz r22.x
- iadd r22.x, r0.y, r21.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r23.xyzw, r22.x, l(0), u0.xyzw
- mov r24.xyzw, l(0,0,0,0)
- mov r22.y, l(0)
- loop
- uge r22.z, r22.y, r19.z
- breakc_nz r22.z
- iadd r22.z, r20.y, r22.y
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r22.z, r22.z, l(0), t8.xxxx
- firstbit_lo r22.w, r22.z
- iadd r25.xy, r20.zwzz, r22.wwww
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r26.xyzw, r25.x, l(0), t9.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r25.xyzw, r25.y, l(0), t9.xyzw
- add r25.xyzw, -r26.xyzw, r25.xyzw
- mad r25.xyzw, r19.xxxx, r25.xyzw, r26.xyzw
- dp3 r22.w, r23.xyzx, r25.xyzx
- add r22.w, r25.w, r22.w
- mov r26.xyz, r25.xyzx
- mov r25.w, r22.z
- mov r26.w, r22.w
- loop
- lt r27.x, r26.w, l(0.000000)
- iadd r27.y, r25.w, l(-1)
- and r25.w, r25.w, r27.y
- ine r27.y, r25.w, l(0)
- and r27.x, r27.y, r27.x
- breakc_z r27.x
- firstbit_lo r27.x, r25.w
- iadd r27.xy, r20.zwzz, r27.xxxx
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r28.xyzw, r27.x, l(0), t9.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r27.xyzw, r27.y, l(0), t9.xyzw
- add r27.xyzw, -r28.xyzw, r27.xyzw
- mad r27.xyzw, r19.xxxx, r27.xyzw, r28.xyzw
- dp3 r28.x, r23.xyzx, r27.xyzx
- add r27.w, r27.w, r28.x
- lt r28.x, r26.w, r27.w
- movc r26.xyzw, r28.xxxx, r27.xyzw, r26.xyzw
- endloop
- lt r22.z, r26.w, l(0.000000)
- mad r25.xyz, -r26.xyzx, r26.wwww, r24.xyzx
- iadd r25.w, r24.w, l(1)
- movc r24.xyzw, r22.zzzz, r25.xyzw, r24.xyzw
- iadd r22.y, r22.y, l(1)
- endloop
- if_nz r24.w
- utof r22.y, r24.w
- div r22.y, l(1.000000, 1.000000, 1.000000, 1.000000), r22.y
- if_nz r19.w
- iadd r22.z, r0.x, r21.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r25.xyz, r22.z, l(0), u0.xyzx
- ld_raw r22.w, l(80), g0.xxxx
- dp3 r25.w, r24.xyzx, r24.xyzx
- add r27.x, r25.w, l(0.000000)
- rsq r27.x, r27.x
- mul r27.yzw, r24.xxyz, r27.xxxx
- add r28.xyz, r23.xyzx, -r25.xyzx
- dp3 r28.w, r28.xyzx, r27.yzwy
- mad r27.yzw, -r28.wwww, r27.yyzw, r28.xxyz
- dp3 r28.x, r27.yzwy, r27.yzwy
- add r28.x, r28.x, l(0.000000)
- rsq r28.x, r28.x
- mul r22.w, -r22.w, r25.w
- mul r22.w, r27.x, r22.w
- mul r22.w, r22.y, r22.w
- mul r22.w, r28.x, r22.w
- max r22.w, r22.w, l(-1.000000)
- mad r25.xyz, -r27.yzwy, r22.wwww, r25.xyzx
- store_structured u0.xyz, r22.z, l(0), r25.xyzx
- endif
- mad r23.xyz, r24.xyzx, r22.yyyy, r23.xyzx
- store_structured u0.xyzw, r22.x, l(0), r23.xyzw
- endif
- iadd r21.x, r21.x, l(1024)
- endloop
- endif
- ftoi r19.z, r19.x
- iadd r19.z, r0.y, r19.z
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r20.xyz, r19.z, l(0), u0.xyzx
- ld_raw r19.w, l(68), g0.xxxx
- ld_raw r20.w, l(64), g1.xxxx
- mov r22.xyz, l(0,0,0,0)
- mov r23.xy, l(0,340282346638528860000000000000000000000.000000,0,0)
- mov r21.x, l(0)
- loop
- uge r22.w, r21.x, r19.w
- breakc_nz r22.w
- imad r22.w, l(3), r21.x, r20.w
- ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r25.xyz, r22.w, l(0), t10.xyzx
- iadd r23.zw, r22.wwww, l(0, 0, 1, 2)
- ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r27.xyz, r23.z, l(0), t10.xyzx
- ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r28.xyz, r23.w, l(0), t10.xyzx
- add r27.xyz, -r25.xyzx, r27.xyzx
- add r28.xyz, -r25.xyzx, r28.xyzx
- mul r29.xyz, r27.zxyz, r28.yzxy
- mad r29.xyz, r27.yzxy, r28.zxyz, -r29.xyzx
- dp3 r22.w, r29.xyzx, r29.xyzx
- rsq r22.w, r22.w
- mul r29.xyz, r22.wwww, r29.xyzx
- dp3 r22.w, r27.xyzx, r28.xyzx
- dp3 r23.z, r27.xyzx, r27.xyzx
- dp3 r23.w, r28.xyzx, r28.xyzx
- mul r25.w, r22.w, r22.w
- mad r25.w, r23.z, r23.w, -r25.w
- div r25.w, l(1.000000, 1.000000, 1.000000, 1.000000), r25.w
- add r27.w, r23.w, r23.z
- mad r27.w, r22.w, l(-2.000000), r27.w
- div r27.w, l(1.000000, 1.000000, 1.000000, 1.000000), r27.w
- div r28.w, l(1.000000, 1.000000, 1.000000, 1.000000), r23.z
- div r29.w, l(1.000000, 1.000000, 1.000000, 1.000000), r23.w
- add r25.xyz, r20.xyzx, -r25.xyzx
- dp3 r30.x, r25.xyzx, r27.xyzx
- dp3 r30.y, r25.xyzx, r28.xyzx
- dp3 r31.x, r25.xyzx, r29.xyzx
- mul r30.zw, r22.wwww, r30.yyyx
- mad r30.z, r23.w, r30.x, -r30.z
- mad r23.z, r23.z, r30.y, -r30.w
- lt r30.w, l(0.000000), r23.z
- mul r30.z, r25.w, r30.z
- mul r28.w, r28.w, r30.x
- movc r28.w, r30.w, r30.z, r28.w
- lt r30.z, l(0.000000), r28.w
- mul r23.z, r25.w, r23.z
- mul r25.w, r29.w, r30.y
- movc r23.z, r30.z, r23.z, r25.w
- add r25.w, r23.z, r28.w
- lt r25.w, l(1.000000), r25.w
- add r22.w, -r22.w, r23.w
- add r22.w, r30.x, r22.w
- add r22.w, -r30.y, r22.w
- mul r22.w, r27.w, r22.w
- movc_sat r22.w, r25.w, r22.w, r28.w
- add r23.w, -r22.w, l(1.000000)
- min r23.z, r23.z, r23.w
- max r23.z, r23.z, l(0.000000)
- mul r28.xyz, r23.zzzz, r28.xyzx
- mad r27.xyz, r27.xyzx, r22.wwww, r28.xyzx
- add r25.xyz, r25.xyzx, -r27.xyzx
- dp3 r22.w, r25.xyzx, r25.xyzx
- lt r23.z, r31.x, l(0.000000)
- mul r23.w, r22.w, l(1.000100)
- movc r31.y, r23.z, r23.w, r22.w
- lt r22.w, r31.y, r23.y
- movc r22.xyz, r22.wwww, r29.xyzx, r22.xyzx
- movc r23.xy, r22.wwww, r31.xyxx, r23.xyxx
- iadd r21.x, r21.x, l(1)
- endloop
- lt r19.w, r23.x, l(0.000000)
- if_nz r19.w
- mad r20.xyz, -r22.xyzx, r23.xxxx, r20.xyzx
- store_structured u0.xyz, r19.z, l(0), r20.xyzx
- endif
- ld_raw r19.z, l(72), g0.xxxx
- if_nz r19.z
- ld_raw r19.z, l(80), g0.xxxx
- lt r19.w, l(0.000000), r19.z
- ld_raw r20.x, l(0), g0.xxxx
- ld_raw r20.yz, l(48), g1.xxyx
- ld_raw r23.yz, l(44), g0.xxyx
- mov r20.w, vThreadIDInGroup.x
- loop
- uge r21.x, r20.w, r20.x
- breakc_nz r21.x
- iadd r21.x, r0.y, r20.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r25.xyzw, r21.x, l(0), u0.xyzw
- iadd r22.w, r0.x, r20.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r27.xyz, r22.w, l(0), u0.xyzx
- mov r28.xyz, r25.xyzx
- mov r29.xyz, l(0,0,0,0)
- mov r30.xyzw, l(0,0,0,0)
- mov r23.w, l(0)
- loop
- uge r27.w, r23.w, r23.y
- breakc_nz r27.w
- iadd r27.w, r23.w, r23.z
- ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r31.xy, r27.w, l(0), t6.xyxx
- iadd r31.xyzw, r20.yzyz, r31.xxyy
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r32.xyzw, r31.x, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r33.xyzw, r31.y, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r34.xyzw, r31.z, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r31.xyzw, r31.w, l(0), t7.xyzw
- add r35.xyzw, -r32.xyzw, r33.xyzw
- mad r36.xyzw, r19.yyyy, r35.xyzw, r32.xyzw
- add r37.xyzw, -r34.xyzw, r31.xyzw
- mad r38.xyzw, r19.yyyy, r37.xyzw, r34.xyzw
- max r36.w, r36.w, l(0.000000)
- max r38.w, r38.w, l(0.000000)
- add r39.xyzw, -r36.xyzw, r38.xyzw
- mul r39.xyzw, r39.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000)
- dp3 r27.w, r39.xyzx, r39.xyzx
- ge r28.w, l(0.000000), r27.w
- if_nz r28.w
- iadd r28.w, r23.w, l(1)
- mov r23.w, r28.w
- continue
- endif
- mad r35.xyzw, r19.xxxx, r35.xyzw, r32.xyzw
- mad r37.xyzw, r19.xxxx, r37.xyzw, r34.xyzw
- max r35.w, r35.w, l(0.000000)
- max r37.w, r37.w, l(0.000000)
- add r40.xyzw, -r35.xyzw, r37.xyzw
- mul r41.xyzw, r40.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000)
- dp3 r28.w, r41.xyzx, r41.xyzx
- mad r29.w, -r41.w, r41.w, r28.w
- ge r31.w, l(0.000000), r29.w
- if_nz r31.w
- iadd r31.w, r23.w, l(1)
- mov r23.w, r31.w
- continue
- endif
- add r40.xyz, r36.zxyz, r38.zxyz
- mad r40.xyz, -r40.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r27.zxyz
- mad r31.w, -r39.w, r39.w, r27.w
- rsq r27.w, r27.w
- rsq r31.w, r31.w
- mul r39.xyz, r27.wwww, r39.xyzx
- mul r27.w, r31.w, r39.w
- mul r42.xyz, r39.yzxy, r40.xyzx
- mad r40.xyz, r40.zxyz, r39.zxyz, -r42.xyzx
- dp3 r31.w, r27.xyzx, r39.xyzx
- add r39.xyz, r35.xyzx, r37.xyzx
- mad r42.xyz, -r39.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r28.xyzx
- rsq r32.w, r28.w
- rsq r29.w, r29.w
- mul r28.w, r28.w, r32.w
- mad r33.w, r40.w, l(0.500000), r35.w
- mul r33.w, r29.w, r33.w
- mul r33.w, r28.w, r33.w
- mul r43.xyz, r32.wwww, r41.xyzx
- mul r44.xyz, r42.zxyz, r43.yzxy
- mad r44.xyz, r42.yzxy, r43.zxyz, -r44.xyzx
- dp3 r34.w, r28.xyzx, r43.xyzx
- dp3 r35.w, r44.xyzx, r44.xyzx
- add r45.x, r35.w, l(0.000000)
- mad r31.w, r31.w, r27.w, r33.w
- max r31.w, r31.w, l(0.000000)
- mul r29.w, r29.w, r41.w
- mad r34.w, r34.w, r29.w, r33.w
- max r45.y, r34.w, l(0.000000)
- dp3 r34.w, r40.xyzx, r40.xyzx
- mad r34.w, -r40.x, r40.x, r34.w
- mad r34.w, -r31.w, r31.w, r34.w
- dp3 r35.w, r40.xyzx, r44.xyzx
- mad r35.w, -r31.w, r45.y, r35.w
- mad r36.w, -r45.y, r45.y, r45.x
- mul r37.w, r34.w, r36.w
- mad r37.w, r35.w, r35.w, -r37.w
- sqrt r38.w, r37.w
- add r34.w, -r34.w, r35.w
- add r35.w, r35.w, -r36.w
- add r35.w, r34.w, r35.w
- add r36.w, r38.w, r34.w
- min r36.w, r36.w, l(0.000000)
- div r36.w, r36.w, r35.w
- lt r39.w, r36.w, l(1.000000)
- lt r40.x, r34.w, r38.w
- and r39.w, r39.w, r40.x
- mul r34.w, r34.w, r35.w
- add r40.x, -r31.w, r45.y
- mad r31.w, r34.w, r40.x, r31.w
- mul r31.w, r31.w, r31.w
- mul r31.w, r35.w, r31.w
- mul r31.w, r31.w, l(-0.360000)
- lt r31.w, r31.w, r37.w
- and r31.w, r31.w, r39.w
- lt r34.w, r35.w, l(-0.000000)
- and r31.w, r31.w, r34.w
- add r40.xyz, r27.xyzx, -r28.xyzx
- mad r44.xyz, -r40.xyzx, r36.wwww, r27.xyzx
- mul r46.xyz, r28.wwww, r41.xyzx
- add r36.xyz, -r36.xyzx, r38.xyzx
- mul r36.xyz, r36.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
- dp3 r34.w, r36.xyzx, r36.xyzx
- rsq r37.w, r34.w
- mul r34.w, r34.w, r37.w
- mad r36.xyz, -r36.xyzx, r34.wwww, r46.xyzx
- add r34.w, -r36.w, l(1.000000)
- mad r38.xyz, -r36.xyzx, r34.wwww, r46.xyzx
- mul r36.w, r29.w, r36.w
- mad r27.w, r27.w, r34.w, r36.w
- dp3 r36.w, r38.xyzx, r38.xyzx
- rsq r36.w, r36.w
- dp3 r37.w, r44.xyzx, r38.xyzx
- mul r37.w, r36.w, r37.w
- dp3 r38.x, r44.xyzx, r44.xyzx
- mad r38.x, -r37.w, r37.w, r38.x
- lt r38.y, l(0.000000), r38.x
- rsq r38.z, r38.x
- and r38.y, r38.z, r38.y
- mul r27.w, r27.w, r38.x
- mad r27.w, r27.w, r38.y, r37.w
- mul r27.w, r36.w, r27.w
- lt r36.w, |r27.w|, l(1.000000)
- mad r36.xyz, r36.xyzx, r27.wwww, r40.xyzx
- mul r27.w, r34.w, r35.w
- div r27.w, r38.w, r27.w
- add r27.w, -r27.w, l(1.000000)
- div r27.w, r34.w, r27.w
- mad r36.xyz, r36.xyzx, r27.wwww, r42.xyzx
- mad r38.xyz, r39.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r36.xyzx
- movc r38.xyz, r36.wwww, r38.xyzx, r28.xyzx
- movc r38.xyz, r31.wwww, r38.xyzx, r28.xyzx
- mad r39.xyz, -r39.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r38.xyzx
- dp3 r27.w, r39.xyzx, r43.xyzx
- mad r34.w, r27.w, r29.w, r33.w
- max r34.w, r34.w, l(0.000000)
- dp3 r35.w, r39.xyzx, r39.xyzx
- mad r35.w, -r27.w, r27.w, r35.w
- mul r37.w, r34.w, r34.w
- lt r37.w, r37.w, r35.w
- if_nz r37.w
- iadd r37.w, r23.w, l(1)
- mov r28.xyz, r38.xyzx
- mov r23.w, r37.w
- continue
- endif
- mul r32.w, r32.w, r41.w
- mad r32.w, -r32.w, r32.w, l(1.000000)
- max r35.w, r35.w, l(0.000000)
- rsq r37.w, r35.w
- mul r35.w, r29.w, r35.w
- mad r35.w, r35.w, r37.w, r27.w
- lt r28.w, |r35.w|, r28.w
- mad r39.xyz, -r35.wwww, r41.xyzx, r39.xyzx
- mul r34.w, r34.w, r37.w
- mad r32.w, r34.w, r32.w, -r32.w
- mad r39.xyz, r39.xyzx, r32.wwww, r29.xyzx
- add r33.xyz, -r32.xyzx, r33.xyzx
- mad r32.xyz, r19.yyyy, r33.xyzx, r32.xyzx
- add r31.xyz, -r34.xyzx, r31.xyzx
- mad r31.xyz, r19.yyyy, r31.xyzx, r34.xyzx
- mad r27.w, r27.w, l(0.500000), l(0.500000)
- add r32.xyz, -r32.xyzx, r35.xyzx
- add r31.xyz, -r31.xyzx, r37.xyzx
- add r31.xyz, -r32.xyzx, r31.xyzx
- mad r31.xyz, r27.wwww, r31.xyzx, r32.xyzx
- add r31.xyz, r30.xyzx, r31.xyzx
- movc r32.xyz, r19.wwww, r31.xyzx, r30.xyzx
- iadd r32.w, r30.w, l(1)
- movc r31.xyz, r28.wwww, r39.xyzx, r29.xyzx
- movc r32.xyzw, r28.wwww, r32.xyzw, r30.xyzw
- dp3 r27.w, r36.xyzx, r41.xyzx
- mad r28.w, r27.w, r29.w, r33.w
- max r33.y, r28.w, l(0.000000)
- dp3 r28.w, r36.xyzx, r36.xyzx
- mad r33.x, -r27.w, r27.w, r28.w
- movc r33.xy, r36.wwww, r33.xyxx, r45.xyxx
- movc r33.xy, r31.wwww, r33.xyxx, r45.xyxx
- mul r27.w, r33.y, r33.y
- ge r27.w, r33.x, r27.w
- if_nz r27.w
- iadd r27.w, r23.w, l(1)
- mov r28.xyz, r38.xyzx
- mov r29.xyz, r31.xyzx
- mov r30.xyzw, r32.xyzw
- mov r23.w, r27.w
- continue
- endif
- mov r28.xyz, r38.xyzx
- mov r29.xyz, r31.xyzx
- mov r30.xyzw, r32.xyzw
- iadd r23.w, r23.w, l(1)
- endloop
- ld_raw r23.w, l(52), g0.xxxx
- mov r31.xyz, r28.xyzx
- mov r32.xyz, r29.xyzx
- mov r33.xyzw, r30.xyzw
- mov r27.w, l(0)
- loop
- uge r28.w, r27.w, r23.w
- breakc_nz r28.w
- iadd r34.xy, r20.yzyy, r27.wwww
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r35.xyzw, r34.x, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r34.xyzw, r34.y, l(0), t7.xyzw
- add r34.xyzw, -r35.xyzw, r34.xyzw
- mad r36.xyzw, r19.xxxx, r34.xyzw, r35.xyzw
- max r28.w, r36.w, l(0.000000)
- mad r34.xyz, r19.yyyy, r34.xyzx, r35.xyzx
- add r35.xyz, r31.xyzx, -r36.xyzx
- add r37.xyz, r27.xyzx, -r34.xyzx
- dp3 r29.w, r35.xyzx, r35.xyzx
- add r35.w, r29.w, l(0.000000)
- dp3 r29.w, r37.xyzx, r37.xyzx
- mul r31.w, r28.w, r28.w
- mad r29.w, -r28.w, r28.w, r29.w
- dp3 r32.w, r37.xyzx, r35.xyzx
- mad r32.w, -r28.w, r28.w, r32.w
- mad r34.w, -r28.w, r28.w, r35.w
- mul r36.w, r29.w, r34.w
- mad r36.w, r32.w, r32.w, -r36.w
- sqrt r37.w, r36.w
- add r29.w, -r29.w, r32.w
- add r32.w, r32.w, -r34.w
- add r32.w, r29.w, r32.w
- add r34.w, r37.w, r29.w
- min r34.w, r34.w, l(0.000000)
- div r34.w, r34.w, r32.w
- lt r38.x, r34.w, l(1.000000)
- lt r29.w, r29.w, r37.w
- and r29.w, r29.w, r38.x
- mul r31.w, r31.w, r32.w
- mul r31.w, r31.w, l(-0.360000)
- lt r31.w, r31.w, r36.w
- and r29.w, r29.w, r31.w
- lt r31.w, r32.w, l(-0.000000)
- and r29.w, r29.w, r31.w
- add r37.xyz, -r35.xyzx, r37.xyzx
- add r31.w, -r34.w, l(1.000000)
- mul r32.w, r31.w, r32.w
- div r32.w, r37.w, r32.w
- add r32.w, -r32.w, l(1.000000)
- div r31.w, r31.w, r32.w
- mad r37.xyz, r37.xyzx, r31.wwww, r35.xyzx
- add r38.xyz, r36.xyzx, r37.xyzx
- dp3 r31.w, r37.xyzx, r37.xyzx
- add r37.w, r31.w, l(0.000000)
- movc r31.xyz, r29.wwww, r38.xyzx, r31.xyzx
- movc r35.xyzw, r29.wwww, r37.xyzw, r35.xyzw
- rsq r29.w, r35.w
- mul r31.w, r28.w, r29.w
- lt r31.w, l(1.000000), r31.w
- mad r28.w, r29.w, r28.w, l(-1.000000)
- mad r35.xyz, r35.xyzx, r28.wwww, r32.xyzx
- add r34.xyz, -r34.xyzx, r36.xyzx
- add r34.xyz, r33.xyzx, r34.xyzx
- movc r34.xyz, r19.wwww, r34.xyzx, r33.xyzx
- iadd r34.w, r33.w, l(1)
- movc r32.xyz, r31.wwww, r35.xyzx, r32.xyzx
- movc r33.xyzw, r31.wwww, r34.xyzw, r33.xyzw
- iadd r27.w, r27.w, l(1)
- endloop
- if_nz r33.w
- utof r23.w, r33.w
- div r23.w, l(1.000000, 1.000000, 1.000000, 1.000000), r23.w
- if_nz r19.w
- ld_raw r27.w, l(80), g0.xxxx
- dp3 r28.w, r32.xyzx, r32.xyzx
- add r29.w, r28.w, l(0.000000)
- rsq r29.w, r29.w
- mul r31.xyz, r29.wwww, r32.xyzx
- add r34.xyz, r25.xyzx, -r27.xyzx
- mad r34.xyz, -r33.xyzx, r23.wwww, r34.xyzx
- dp3 r31.w, r34.xyzx, r31.xyzx
- mad r31.xyz, -r31.wwww, r31.xyzx, r34.xyzx
- dp3 r31.w, r31.xyzx, r31.xyzx
- add r31.w, r31.w, l(0.000000)
- rsq r31.w, r31.w
- mul r27.w, -r27.w, r28.w
- mul r27.w, r29.w, r27.w
- mul r27.w, r23.w, r27.w
- mul r27.w, r31.w, r27.w
- max r27.w, r27.w, l(-1.000000)
- mad r27.xyz, -r31.xyzx, r27.wwww, r27.xyzx
- store_structured u0.xyz, r22.w, l(0), r27.xyzx
- endif
- mad r25.xyz, r32.xyzx, r23.wwww, r25.xyzx
- store_structured u0.xyzw, r21.x, l(0), r25.xyzw
- endif
- iadd r20.w, r20.w, l(1024)
- endloop
- else
- ld_raw r19.zw, l(76), g0.xxxy
- lt r19.zw, l(0.000000, 0.000000, 0.000000, 0.000000), r19.wwwz
- ld_raw r20.x, l(0), g0.xxxx
- ld_raw r20.yz, l(48), g1.xxyx
- ld_raw r20.w, l(80), g0.xxxx
- lt r21.x, l(0.000000), r20.w
- ld_raw r23.yz, l(44), g0.xxyx
- mov r22.w, vThreadIDInGroup.x
- loop
- uge r23.w, r22.w, r20.x
- breakc_nz r23.w
- iadd r23.w, r0.y, r22.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r25.xyzw, r23.w, l(0), u0.xyzw
- mov r31.xyzw, l(0,0,0,0)
- mov r27.xyzw, l(0,0,0,0)
- loop
- uge r28.w, r27.w, r23.y
- breakc_nz r28.w
- iadd r28.w, r23.z, r27.w
- ld_structured_indexable(structured_buffer, stride=8)(mixed,mixed,mixed,mixed) r34.xy, r28.w, l(0), t6.xyxx
- iadd r34.xyzw, r20.yzyz, r34.xxyy
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r35.xyzw, r34.x, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.xyzw, r34.y, l(0), t7.xyzw
- add r37.xyzw, -r35.xyzw, r36.xyzw
- mad r37.xyzw, r19.xxxx, r37.xyzw, r35.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r38.xyzw, r34.z, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r34.xyzw, r34.w, l(0), t7.xyzw
- add r39.xyzw, -r38.xyzw, r34.xyzw
- mad r39.xyzw, r19.xxxx, r39.xyzw, r38.xyzw
- max r37.w, r37.w, l(0.000000)
- max r39.w, r39.w, l(0.000000)
- add r40.xyzw, -r37.xyzw, r39.xyzw
- mul r41.xyzw, r40.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000)
- dp3 r28.w, r41.xyzx, r41.xyzx
- mad r29.w, -r41.w, r41.w, r28.w
- ge r32.w, l(0.000000), r29.w
- if_nz r32.w
- iadd r32.w, r27.w, l(1)
- mov r27.w, r32.w
- continue
- endif
- rsq r32.w, r28.w
- rsq r29.w, r29.w
- mul r28.w, r28.w, r32.w
- add r40.xyz, r37.xyzx, r39.xyzx
- mad r34.w, r40.w, l(0.500000), r37.w
- mul r34.w, r29.w, r34.w
- mul r34.w, r28.w, r34.w
- mul r41.xyz, r32.wwww, r41.xyzx
- mul r29.w, r29.w, r41.w
- mad r40.xyz, -r40.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), r25.xyzx
- dp3 r35.w, r40.xyzx, r41.xyzx
- mad r34.w, r35.w, r29.w, r34.w
- max r34.w, r34.w, l(0.000000)
- dp3 r36.w, r40.xyzx, r40.xyzx
- mad r36.w, -r35.w, r35.w, r36.w
- mul r37.w, r34.w, r34.w
- lt r37.w, r37.w, r36.w
- if_nz r37.w
- iadd r37.w, r27.w, l(1)
- mov r27.w, r37.w
- continue
- endif
- mul r32.w, r32.w, r41.w
- mad r32.w, -r32.w, r32.w, l(1.000000)
- max r36.w, r36.w, l(0.000000)
- rsq r37.w, r36.w
- mul r29.w, r29.w, r36.w
- mad r29.w, r29.w, r37.w, r35.w
- lt r28.w, |r29.w|, r28.w
- mad r40.xyz, -r29.wwww, r41.xyzx, r40.xyzx
- mul r29.w, r34.w, r37.w
- mad r29.w, r29.w, r32.w, -r32.w
- mad r40.xyz, r40.xyzx, r29.wwww, r27.xyzx
- add r36.xyz, -r35.xyzx, r36.xyzx
- mad r35.xyz, r19.yyyy, r36.xyzx, r35.xyzx
- add r34.xyz, -r38.xyzx, r34.xyzx
- mad r34.xyz, r19.yyyy, r34.xyzx, r38.xyzx
- mad r29.w, r35.w, l(0.500000), l(0.500000)
- add r35.xyz, -r35.xyzx, r37.xyzx
- add r34.xyz, -r34.xyzx, r39.xyzx
- add r34.xyz, -r35.xyzx, r34.xyzx
- mad r34.xyz, r29.wwww, r34.xyzx, r35.xyzx
- add r34.xyz, r31.xyzx, r34.xyzx
- movc r34.xyz, r21.xxxx, r34.xyzx, r31.xyzx
- iadd r34.w, r31.w, l(1)
- movc r27.xyz, r28.wwww, r40.xyzx, r27.xyzx
- movc r31.xyzw, r28.wwww, r34.xyzw, r31.xyzw
- iadd r27.w, r27.w, l(1)
- endloop
- ld_raw r27.w, l(52), g0.xxxx
- mov r34.xyz, r27.xyzx
- mov r35.xyzw, r31.xyzw
- mov r28.w, l(0)
- loop
- uge r29.w, r28.w, r27.w
- breakc_nz r29.w
- iadd r36.xy, r20.yzyy, r28.wwww
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r37.xyzw, r36.x, l(0), t7.xyzw
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.xyzw, r36.y, l(0), t7.xyzw
- add r36.xyzw, -r37.xyzw, r36.xyzw
- mad r38.xyzw, r19.xxxx, r36.xyzw, r37.xyzw
- max r29.w, r38.w, l(0.000000)
- add r39.xyz, r25.xyzx, -r38.xyzx
- dp3 r32.w, r39.xyzx, r39.xyzx
- add r32.w, r32.w, l(0.000000)
- rsq r32.w, r32.w
- mul r34.w, r29.w, r32.w
- lt r34.w, l(1.000000), r34.w
- mad r29.w, r32.w, r29.w, l(-1.000000)
- mad r39.xyz, r39.xyzx, r29.wwww, r34.xyzx
- mad r36.xyz, r19.yyyy, r36.xyzx, r37.xyzx
- add r36.xyz, -r36.xyzx, r38.xyzx
- add r36.xyz, r35.xyzx, r36.xyzx
- movc r36.xyz, r21.xxxx, r36.xyzx, r35.xyzx
- iadd r36.w, r35.w, l(1)
- movc r34.xyz, r34.wwww, r39.xyzx, r34.xyzx
- movc r35.xyzw, r34.wwww, r36.xyzw, r35.xyzw
- iadd r28.w, r28.w, l(1)
- endloop
- if_nz r35.w
- utof r27.w, r35.w
- div r27.w, l(1.000000, 1.000000, 1.000000, 1.000000), r27.w
- if_nz r19.z
- iadd r28.w, r0.x, r22.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.xyz, r28.w, l(0), u0.xyzx
- ld_raw r29.w, l(80), g0.xxxx
- dp3 r32.w, r34.xyzx, r34.xyzx
- add r34.w, r32.w, l(0.000000)
- rsq r34.w, r34.w
- mul r37.xyz, r34.wwww, r34.xyzx
- add r38.xyz, r25.xyzx, -r36.xyzx
- mad r38.xyz, -r35.xyzx, r27.wwww, r38.xyzx
- dp3 r36.w, r38.xyzx, r37.xyzx
- mad r37.xyz, -r36.wwww, r37.xyzx, r38.xyzx
- dp3 r36.w, r37.xyzx, r37.xyzx
- add r36.w, r36.w, l(0.000000)
- rsq r36.w, r36.w
- mul r29.w, -r29.w, r32.w
- mul r29.w, r34.w, r29.w
- mul r29.w, r27.w, r29.w
- mul r29.w, r36.w, r29.w
- max r29.w, r29.w, l(-1.000000)
- mad r36.xyz, -r37.xyzx, r29.wwww, r36.xyzx
- store_structured u0.xyz, r28.w, l(0), r36.xyzx
- endif
- mad r36.xyz, r34.xyzx, r27.wwww, r25.xyzx
- dp3 r25.x, r34.xyzx, r34.xyzx
- ld_raw r25.y, l(76), g0.xxxx
- mad r25.x, r25.y, r25.x, l(1.000000)
- div r25.x, r25.w, r25.x
- movc r36.w, r19.w, r25.x, r25.w
- store_structured u0.xyzw, r23.w, l(0), r36.xyzw
- endif
- iadd r22.w, r22.w, l(1024)
- endloop
- endif
- ld_raw r19.x, l(84), g0.xxxx
- ld_raw r19.y, l(72), g1.xxxx
- min r19.x, r19.y, r19.x
- lt r19.x, l(0.000000), r19.x
- if_nz r19.x
- ld_raw r19.x, l(88), g0.xxxx
- ld_raw r19.y, l(0), g0.xxxx
- if_nz r1.z
- ld_raw r19.zw, r4.w, g1.xxxy
- add r20.x, r19.w, r19.z
- mad r19.zw, r20.xxxx, l(0.000000, 0.000000, 0.000100, 0.000100), r19.wwwz
- add r19.w, r19.z, r19.w
- store_structured g6.x, vThreadIDInGroup.x, l(0), r19.w
- else
- mov r19.zw, l(0,0,0,0)
- endif
- sync_g_t
- if_nz r1.z
- ld_structured r20.x, l(0), l(0), g6.xxxx
- ld_structured r20.y, l(1), l(0), g6.xxxx
- lt r20.x, r20.y, r20.x
- and r20.y, r20.x, l(1)
- ld_structured r20.y, r20.y, l(0), g6.xxxx
- ld_structured r20.z, l(2), l(0), g6.xxxx
- lt r20.y, r20.z, r20.y
- movc r20.x, r20.y, l(-2), r20.x
- iadd r20.x, r20.x, vThreadIDInGroup.x
- ushr r20.y, r20.x, l(30)
- iadd r20.x, r20.y, r20.x
- div r19.w, l(127.000000), r19.w
- ld_raw r20.y, l(84), g0.xxxx
- div r20.y, l(1.000000, 1.000000, 1.000000, 1.000000), r20.y
- min r19.w, r19.w, r20.y
- ishl r20.x, r20.x, l(2)
- iadd r20.yz, r20.xxxx, l(0, 12, 24, 0)
- store_raw g5.x, r20.y, r19.w
- mul r19.z, r19.z, r19.w
- store_raw g5.x, r20.x, r19.z
- store_raw g5.x, r20.z, vThreadIDInGroup.x
- endif
- sync_g_t
- ld_raw r19.z, l(100), g0.xxxx
- ishl r19.w, r19.x, l(1)
- iadd r19.z, r19.w, r19.z
- ld_raw r19.w, l(116), g1.xxxx
- if_nz r19.w
- mov r19.w, vThreadIDInGroup.x
- loop
- ige r20.x, r19.w, l(0x00004103)
- breakc_nz r20.x
- iadd r20.x, r19.w, r19.z
- store_structured u2.x, r20.x, l(0), l(-1)
- iadd r19.w, r19.w, l(1024)
- endloop
- endif
- ld_raw r20.xy, l(16), g5.xyxx
- ld_raw r20.zw, l(4), g5.xxxy
- ld_raw r23.yz, l(28), g5.xxyx
- ld_raw r19.w, l(92), g0.xxxx
- ine r21.x, r19.w, l(-1)
- ld_raw r22.w, l(100), g0.xxxx
- mov r23.w, vThreadIDInGroup.x
- loop
- ige r25.x, r23.w, r19.x
- breakc_nz r25.x
- iadd r25.x, r19.w, r23.w
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r25.x, r25.x, l(0), t15.xxxx
- movc r25.x, r21.x, r25.x, r23.w
- iadd r25.y, r0.y, r25.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.xyzw, r25.y, l(0), u0.xyzw
- dp4 r25.y, r36.xyzw, icb[r23.y + 0].xyzw
- mad r25.y, r25.y, r20.x, r20.z
- min r25.y, r25.y, l(127.500000)
- max r25.y, r25.y, l(0.000000)
- dp4 r25.z, r36.xyzw, icb[r23.z + 0].xyzw
- mad r25.z, r25.z, r20.y, r20.w
- min r25.z, r25.z, l(127.500000)
- max r25.z, r25.z, l(0.000000)
- ftoi r25.yz, r25.yyzy
- iadd r25.w, r22.w, r23.w
- ishl r25.z, r25.z, l(23)
- imad r25.y, r25.y, l(0x00010000), r25.z
- iadd r25.y, r25.y, l(0x00810000)
- or r25.x, r25.x, r25.y
- store_structured u2.x, r25.w, l(0), r25.x
- iadd r23.w, r23.w, l(1024)
- endloop
- sync_g_t
- ld_raw r25.xy, l(96), g0.xyxx
- iadd r19.w, r19.x, r25.y
- mov r21.x, vThreadIDInGroup.x
- loop
- ige r22.w, r21.x, r19.y
- breakc_nz r22.w
- iadd r22.w, r21.x, r25.x
- iadd r23.w, r0.y, r21.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.xyzw, r23.w, l(0), u0.xyzw
- store_structured u1.xyzw, r22.w, l(0), r36.xyzw
- iadd r21.x, r21.x, l(1024)
- endloop
- sync_g_t
- iadd r21.x, r19.x, l(31)
- ubfe r22.w, l(5), l(5), r21.x
- ushr r21.x, r21.x, l(10)
- ult r23.w, r4.y, r22.w
- and r25.x, r23.w, l(1)
- iadd r25.x, r21.x, r25.x
- movc r25.z, r23.w, l(0), l(1)
- imul null, r25.z, r22.w, r25.z
- imad r25.z, r4.y, r25.x, r25.z
- ishl r25.xw, r25.xxxz, l(5, 0, 0, 5)
- iadd r25.x, r25.x, r25.w
- umin r25.x, r19.x, r25.x
- bfi r25.z, l(27), l(5), r25.z, vThreadIDInGroup.x
- mov r25.w, l(16)
- mov r27.w, r25.y
- mov r28.w, r19.w
- loop
- uge r29.w, r25.w, l(32)
- breakc_nz r29.w
- mov r29.w, l(0)
- mov r32.w, l(0)
- mov r34.w, r25.z
- loop
- uge r36.x, r32.w, r21.x
- breakc_nz r36.x
- ult r36.x, r34.w, r25.x
- iadd r36.y, r27.w, r34.w
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r36.y, r36.y, l(0), u2.xxxx
- movc r36.x, r36.x, r36.y, l(-1)
- ushr r36.x, r36.x, r25.w
- and r36.xyzw, r36.xxxx, l(1, 2, 4, 8)
- ine r36.xyzw, r36.xyzw, l(0, 0, 0, 0)
- bfi r36.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r36.xyzw, l(0, 0, 0, 0)
- store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x
- store_structured g3.x, r12.x, l(0), r36.y
- store_structured g3.x, r12.y, l(0), r36.z
- store_structured g3.x, r12.z, l(0), r36.w
- sync_g_t
- if_nz r7.x
- ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r36.y, r12.x, l(0), g3.xxxx
- ld_structured r36.z, r12.y, l(0), g3.xxxx
- ld_structured r36.w, r12.z, l(0), g3.xxxx
- ld_structured r37.x, r3.x, l(0), g3.xxxx
- ld_structured r37.y, r6.y, l(0), g3.xxxx
- ld_structured r37.z, r9.x, l(0), g3.xxxx
- ld_structured r37.w, r6.z, l(0), g3.xxxx
- or r36.xyzw, r36.xyzw, r37.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x
- store_structured g3.x, r12.x, l(0), r36.y
- store_structured g3.x, r12.y, l(0), r36.z
- store_structured g3.x, r12.z, l(0), r36.w
- endif
- sync_g_t
- if_nz r7.y
- ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r36.y, r12.x, l(0), g3.xxxx
- ld_structured r36.z, r12.y, l(0), g3.xxxx
- ld_structured r36.w, r12.z, l(0), g3.xxxx
- ld_structured r37.x, r3.y, l(0), g3.xxxx
- ld_structured r37.y, r6.w, l(0), g3.xxxx
- ld_structured r37.z, r9.y, l(0), g3.xxxx
- ld_structured r37.w, r8.x, l(0), g3.xxxx
- or r36.xyzw, r36.xyzw, r37.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x
- store_structured g3.x, r12.x, l(0), r36.y
- store_structured g3.x, r12.y, l(0), r36.z
- store_structured g3.x, r12.z, l(0), r36.w
- endif
- sync_g_t
- if_nz r7.z
- ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r36.y, r12.x, l(0), g3.xxxx
- ld_structured r36.z, r12.y, l(0), g3.xxxx
- ld_structured r36.w, r12.z, l(0), g3.xxxx
- ld_structured r37.x, r3.z, l(0), g3.xxxx
- ld_structured r37.y, r8.y, l(0), g3.xxxx
- ld_structured r37.z, r9.z, l(0), g3.xxxx
- ld_structured r37.w, r8.z, l(0), g3.xxxx
- or r36.xyzw, r36.xyzw, r37.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x
- store_structured g3.x, r12.x, l(0), r36.y
- store_structured g3.x, r12.y, l(0), r36.z
- store_structured g3.x, r12.z, l(0), r36.w
- endif
- sync_g_t
- if_nz r7.w
- ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r36.y, r12.x, l(0), g3.xxxx
- ld_structured r36.z, r12.y, l(0), g3.xxxx
- ld_structured r36.w, r12.z, l(0), g3.xxxx
- ld_structured r37.x, r3.w, l(0), g3.xxxx
- ld_structured r37.y, r8.w, l(0), g3.xxxx
- ld_structured r37.z, r9.w, l(0), g3.xxxx
- ld_structured r37.w, r13.x, l(0), g3.xxxx
- or r36.xyzw, r36.xyzw, r37.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x
- store_structured g3.x, r12.x, l(0), r36.y
- store_structured g3.x, r12.y, l(0), r36.z
- store_structured g3.x, r12.z, l(0), r36.w
- endif
- sync_g_t
- if_nz r5.w
- ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r36.y, r12.x, l(0), g3.xxxx
- ld_structured r36.z, r12.y, l(0), g3.xxxx
- ld_structured r36.w, r12.z, l(0), g3.xxxx
- ld_structured r37.x, r6.x, l(0), g3.xxxx
- ld_structured r37.y, r13.y, l(0), g3.xxxx
- ld_structured r37.z, r14.x, l(0), g3.xxxx
- ld_structured r37.w, r13.z, l(0), g3.xxxx
- or r36.xyzw, r36.xyzw, r37.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x
- store_structured g3.x, r12.x, l(0), r36.y
- store_structured g3.x, r12.y, l(0), r36.z
- store_structured g3.x, r12.z, l(0), r36.w
- endif
- sync_g_t
- ld_structured r36.x, r5.z, l(0), g3.xxxx
- ld_structured r36.y, r10.x, l(0), g3.xxxx
- ld_structured r36.z, r10.y, l(0), g3.xxxx
- ld_structured r36.w, r10.z, l(0), g3.xxxx
- xor r36.xy, r2.zwzz, r36.xyxx
- and r36.x, r36.y, r36.x
- xor r36.y, r5.x, r36.z
- and r36.x, r36.y, r36.x
- xor r36.y, r5.y, r36.w
- and r36.x, r36.y, r36.x
- countbits r36.x, r36.x
- iadd r29.w, r29.w, r36.x
- iadd r32.w, r32.w, l(1)
- iadd r34.w, r34.w, l(32)
- endloop
- if_nz r22.w
- iadd r32.w, r27.w, r34.w
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r32.w, r32.w, l(0), u2.xxxx
- if_nz r23.w
- ult r36.x, r34.w, r25.x
- movc r32.w, r36.x, r32.w, l(-1)
- ushr r32.w, r32.w, r25.w
- and r36.xyzw, r32.wwww, l(1, 2, 4, 8)
- ine r36.xyzw, r36.xyzw, l(0, 0, 0, 0)
- bfi r36.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r36.xyzw, l(0, 0, 0, 0)
- store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x
- store_structured g3.x, r12.x, l(0), r36.y
- store_structured g3.x, r12.y, l(0), r36.z
- store_structured g3.x, r12.z, l(0), r36.w
- endif
- sync_g_t
- if_nz r23.w
- if_nz r7.x
- ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r36.y, r12.x, l(0), g3.xxxx
- ld_structured r36.z, r12.y, l(0), g3.xxxx
- ld_structured r36.w, r12.z, l(0), g3.xxxx
- ld_structured r37.x, r3.x, l(0), g3.xxxx
- ld_structured r37.y, r6.y, l(0), g3.xxxx
- ld_structured r37.z, r9.x, l(0), g3.xxxx
- ld_structured r37.w, r6.z, l(0), g3.xxxx
- or r36.xyzw, r36.xyzw, r37.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x
- store_structured g3.x, r12.x, l(0), r36.y
- store_structured g3.x, r12.y, l(0), r36.z
- store_structured g3.x, r12.z, l(0), r36.w
- endif
- endif
- sync_g_t
- if_nz r23.w
- if_nz r7.y
- ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r36.y, r12.x, l(0), g3.xxxx
- ld_structured r36.z, r12.y, l(0), g3.xxxx
- ld_structured r36.w, r12.z, l(0), g3.xxxx
- ld_structured r37.x, r3.y, l(0), g3.xxxx
- ld_structured r37.y, r6.w, l(0), g3.xxxx
- ld_structured r37.z, r9.y, l(0), g3.xxxx
- ld_structured r37.w, r8.x, l(0), g3.xxxx
- or r36.xyzw, r36.xyzw, r37.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x
- store_structured g3.x, r12.x, l(0), r36.y
- store_structured g3.x, r12.y, l(0), r36.z
- store_structured g3.x, r12.z, l(0), r36.w
- endif
- endif
- sync_g_t
- if_nz r23.w
- if_nz r7.z
- ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r36.y, r12.x, l(0), g3.xxxx
- ld_structured r36.z, r12.y, l(0), g3.xxxx
- ld_structured r36.w, r12.z, l(0), g3.xxxx
- ld_structured r37.x, r3.z, l(0), g3.xxxx
- ld_structured r37.y, r8.y, l(0), g3.xxxx
- ld_structured r37.z, r9.z, l(0), g3.xxxx
- ld_structured r37.w, r8.z, l(0), g3.xxxx
- or r36.xyzw, r36.xyzw, r37.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x
- store_structured g3.x, r12.x, l(0), r36.y
- store_structured g3.x, r12.y, l(0), r36.z
- store_structured g3.x, r12.z, l(0), r36.w
- endif
- endif
- sync_g_t
- if_nz r23.w
- if_nz r7.w
- ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r36.y, r12.x, l(0), g3.xxxx
- ld_structured r36.z, r12.y, l(0), g3.xxxx
- ld_structured r36.w, r12.z, l(0), g3.xxxx
- ld_structured r37.x, r3.w, l(0), g3.xxxx
- ld_structured r37.y, r8.w, l(0), g3.xxxx
- ld_structured r37.z, r9.w, l(0), g3.xxxx
- ld_structured r37.w, r13.x, l(0), g3.xxxx
- or r36.xyzw, r36.xyzw, r37.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x
- store_structured g3.x, r12.x, l(0), r36.y
- store_structured g3.x, r12.y, l(0), r36.z
- store_structured g3.x, r12.z, l(0), r36.w
- endif
- endif
- sync_g_t
- if_nz r23.w
- if_nz r5.w
- ld_structured r36.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r36.y, r12.x, l(0), g3.xxxx
- ld_structured r36.z, r12.y, l(0), g3.xxxx
- ld_structured r36.w, r12.z, l(0), g3.xxxx
- ld_structured r37.x, r6.x, l(0), g3.xxxx
- ld_structured r37.y, r13.y, l(0), g3.xxxx
- ld_structured r37.z, r14.x, l(0), g3.xxxx
- ld_structured r37.w, r13.z, l(0), g3.xxxx
- or r36.xyzw, r36.xyzw, r37.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r36.x
- store_structured g3.x, r12.x, l(0), r36.y
- store_structured g3.x, r12.y, l(0), r36.z
- store_structured g3.x, r12.z, l(0), r36.w
- endif
- endif
- sync_g_t
- if_nz r23.w
- ld_structured r36.x, r5.z, l(0), g3.xxxx
- ld_structured r36.y, r10.x, l(0), g3.xxxx
- ld_structured r36.z, r10.y, l(0), g3.xxxx
- ld_structured r36.w, r10.z, l(0), g3.xxxx
- else
- mov r36.xyzw, l(0,0,0,0)
- endif
- xor r32.w, r2.z, r36.x
- xor r36.x, r2.w, r36.y
- and r32.w, r32.w, r36.x
- xor r36.xy, r5.xyxx, r36.zwzz
- and r32.w, r32.w, r36.x
- and r32.w, r36.y, r32.w
- countbits r32.w, r32.w
- and r32.w, r23.w, r32.w
- iadd r29.w, r29.w, r32.w
- endif
- if_nz r7.x
- store_structured g3.x, r11.x, l(0), r29.w
- endif
- sync_g_t
- if_z vThreadIDInGroup.x
- store_structured g3.x, l(4096), l(0), l(0)
- store_structured g3.x, l(4609), l(0), l(0)
- endif
- if_nz r1.w
- if_nz r16.x
- ld_structured r32.w, r14.y, l(0), g3.xxxx
- ld_structured r36.x, r10.w, l(0), g3.xxxx
- iadd r32.w, r32.w, r36.x
- store_structured g3.x, r11.w, l(0), r32.w
- else
- ld_structured r32.w, l(4097), l(0), g3.xxxx
- store_structured g3.x, l(4610), l(0), r32.w
- endif
- endif
- sync_g_t
- if_nz r1.w
- if_nz r16.y
- ld_structured r32.w, r11.w, l(0), g3.xxxx
- ld_structured r36.x, r12.w, l(0), g3.xxxx
- iadd r32.w, r32.w, r36.x
- else
- ld_structured r32.w, r11.w, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.x, l(0), r32.w
- endif
- sync_g_t
- if_nz r1.w
- if_nz r16.z
- ld_structured r32.w, r14.y, l(0), g3.xxxx
- ld_structured r36.x, r15.w, l(0), g3.xxxx
- iadd r32.w, r32.w, r36.x
- else
- ld_structured r32.w, r14.y, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.z, l(0), r32.w
- endif
- sync_g_t
- if_nz r1.w
- if_nz r16.w
- ld_structured r32.w, r11.w, l(0), g3.xxxx
- ld_structured r36.x, r14.z, l(0), g3.xxxx
- iadd r32.w, r32.w, r36.x
- else
- ld_structured r32.w, r11.w, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.x, l(0), r32.w
- endif
- sync_g_t
- if_nz r1.w
- if_nz r18.x
- ld_structured r32.w, r14.y, l(0), g3.xxxx
- ld_structured r36.x, r17.y, l(0), g3.xxxx
- iadd r32.w, r32.w, r36.x
- else
- ld_structured r32.w, r14.y, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.z, l(0), r32.w
- endif
- sync_g_t
- if_nz r1.w
- if_nz r18.y
- ld_structured r32.w, r11.w, l(0), g3.xxxx
- ld_structured r36.x, r14.w, l(0), g3.xxxx
- iadd r32.w, r32.w, r36.x
- else
- ld_structured r32.w, r11.w, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.x, l(0), r32.w
- endif
- sync_g_t
- if_nz r1.w
- if_nz r18.z
- ld_structured r32.w, r14.y, l(0), g3.xxxx
- ld_structured r36.x, r17.w, l(0), g3.xxxx
- iadd r32.w, r32.w, r36.x
- else
- ld_structured r32.w, r14.y, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.z, l(0), r32.w
- endif
- sync_g_t
- if_nz r1.w
- if_nz r18.w
- ld_structured r32.w, r11.w, l(0), g3.xxxx
- ld_structured r36.x, r13.w, l(0), g3.xxxx
- iadd r32.w, r32.w, r36.x
- else
- ld_structured r32.w, r11.w, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.x, l(0), r32.w
- endif
- sync_g_t
- if_nz r1.w
- if_nz r15.y
- ld_structured r32.w, r14.y, l(0), g3.xxxx
- ld_structured r36.x, r17.z, l(0), g3.xxxx
- iadd r32.w, r32.w, r36.x
- else
- ld_structured r32.w, r14.y, l(0), g3.xxxx
- endif
- store_structured g3.x, r15.z, l(0), r32.w
- endif
- sync_g_t
- mov r32.w, l(0)
- mov r36.x, r25.z
- loop
- uge r36.y, r32.w, r21.x
- breakc_nz r36.y
- ult r36.y, r36.x, r25.x
- iadd r36.z, r27.w, r36.x
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r36.z, r36.z, l(0), u2.xxxx
- movc r36.z, r36.y, r36.z, l(-1)
- ushr r36.w, r36.z, r25.w
- and r37.xyzw, r36.wwww, l(1, 2, 4, 8)
- ine r38.xyzw, r37.xyzw, l(0, 0, 0, 0)
- bfi r39.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r38.xyzw, l(0, 0, 0, 0)
- store_structured g3.x, vThreadIDInGroup.x, l(0), r39.x
- store_structured g3.x, r12.x, l(0), r39.y
- store_structured g3.x, r12.y, l(0), r39.z
- store_structured g3.x, r12.z, l(0), r39.w
- sync_g_t
- if_nz r7.x
- ld_structured r39.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r39.y, r12.x, l(0), g3.xxxx
- ld_structured r39.z, r12.y, l(0), g3.xxxx
- ld_structured r39.w, r12.z, l(0), g3.xxxx
- ld_structured r40.x, r3.x, l(0), g3.xxxx
- ld_structured r40.y, r6.y, l(0), g3.xxxx
- ld_structured r40.z, r9.x, l(0), g3.xxxx
- ld_structured r40.w, r6.z, l(0), g3.xxxx
- or r39.xyzw, r39.xyzw, r40.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r39.x
- store_structured g3.x, r12.x, l(0), r39.y
- store_structured g3.x, r12.y, l(0), r39.z
- store_structured g3.x, r12.z, l(0), r39.w
- endif
- sync_g_t
- if_nz r7.y
- ld_structured r39.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r39.y, r12.x, l(0), g3.xxxx
- ld_structured r39.z, r12.y, l(0), g3.xxxx
- ld_structured r39.w, r12.z, l(0), g3.xxxx
- ld_structured r40.x, r3.y, l(0), g3.xxxx
- ld_structured r40.y, r6.w, l(0), g3.xxxx
- ld_structured r40.z, r9.y, l(0), g3.xxxx
- ld_structured r40.w, r8.x, l(0), g3.xxxx
- or r39.xyzw, r39.xyzw, r40.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r39.x
- store_structured g3.x, r12.x, l(0), r39.y
- store_structured g3.x, r12.y, l(0), r39.z
- store_structured g3.x, r12.z, l(0), r39.w
- endif
- sync_g_t
- if_nz r7.z
- ld_structured r39.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r39.y, r12.x, l(0), g3.xxxx
- ld_structured r39.z, r12.y, l(0), g3.xxxx
- ld_structured r39.w, r12.z, l(0), g3.xxxx
- ld_structured r40.x, r3.z, l(0), g3.xxxx
- ld_structured r40.y, r8.y, l(0), g3.xxxx
- ld_structured r40.z, r9.z, l(0), g3.xxxx
- ld_structured r40.w, r8.z, l(0), g3.xxxx
- or r39.xyzw, r39.xyzw, r40.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r39.x
- store_structured g3.x, r12.x, l(0), r39.y
- store_structured g3.x, r12.y, l(0), r39.z
- store_structured g3.x, r12.z, l(0), r39.w
- endif
- sync_g_t
- if_nz r7.w
- ld_structured r39.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r39.y, r12.x, l(0), g3.xxxx
- ld_structured r39.z, r12.y, l(0), g3.xxxx
- ld_structured r39.w, r12.z, l(0), g3.xxxx
- ld_structured r40.x, r3.w, l(0), g3.xxxx
- ld_structured r40.y, r8.w, l(0), g3.xxxx
- ld_structured r40.z, r9.w, l(0), g3.xxxx
- ld_structured r40.w, r13.x, l(0), g3.xxxx
- or r39.xyzw, r39.xyzw, r40.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r39.x
- store_structured g3.x, r12.x, l(0), r39.y
- store_structured g3.x, r12.y, l(0), r39.z
- store_structured g3.x, r12.z, l(0), r39.w
- endif
- sync_g_t
- if_nz r5.w
- ld_structured r39.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r39.y, r12.x, l(0), g3.xxxx
- ld_structured r39.z, r12.y, l(0), g3.xxxx
- ld_structured r39.w, r12.z, l(0), g3.xxxx
- ld_structured r40.x, r6.x, l(0), g3.xxxx
- ld_structured r40.y, r13.y, l(0), g3.xxxx
- ld_structured r40.z, r14.x, l(0), g3.xxxx
- ld_structured r40.w, r13.z, l(0), g3.xxxx
- or r39.xyzw, r39.xyzw, r40.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r39.x
- store_structured g3.x, r12.x, l(0), r39.y
- store_structured g3.x, r12.y, l(0), r39.z
- store_structured g3.x, r12.z, l(0), r39.w
- endif
- sync_g_t
- ld_structured r37.y, r5.z, l(0), g3.xxxx
- ld_structured r37.z, r10.x, l(0), g3.xxxx
- ld_structured r37.w, r10.y, l(0), g3.xxxx
- ld_structured r38.x, r10.z, l(0), g3.xxxx
- bfi r36.w, l(4), l(5), r36.w, l(0)
- iadd r36.w, r11.y, r36.w
- iadd r36.w, r36.w, l(4096)
- ld_structured r36.w, r36.w, l(0), g3.xxxx
- if_nz r36.y
- iadd r36.y, r37.x, l(-1)
- xor r36.y, r37.y, r36.y
- ieq r38.yzw, r38.yyzw, l(0, 0, 0, 0)
- xor r37.x, r37.z, r38.y
- and r36.y, r36.y, r37.x
- xor r37.x, r37.w, r38.z
- and r36.y, r36.y, r37.x
- xor r37.x, r38.x, r38.w
- and r36.y, r36.y, r37.x
- ubfe r36.y, vThreadIDInGroup.x, l(0), r36.y
- countbits r36.y, r36.y
- iadd r36.y, r36.y, r36.w
- iadd r36.y, r28.w, r36.y
- store_structured u2.x, r36.y, l(0), r36.z
- endif
- sync_g_t
- if_nz r7.x
- ld_structured r36.y, r11.z, l(0), g3.xxxx
- xor r36.zw, r2.zzzw, r37.yyyz
- and r36.z, r36.w, r36.z
- xor r36.w, r5.x, r37.w
- and r36.z, r36.w, r36.z
- xor r36.w, r5.y, r38.x
- and r36.z, r36.w, r36.z
- countbits r36.z, r36.z
- iadd r36.y, r36.z, r36.y
- store_structured g3.x, r11.z, l(0), r36.y
- endif
- iadd r32.w, r32.w, l(1)
- iadd r36.x, r36.x, l(32)
- endloop
- if_nz r22.w
- ult r32.w, r36.x, r25.x
- iadd r36.y, r27.w, r36.x
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r36.y, r36.y, l(0), u2.xxxx
- movc r36.y, r32.w, r36.y, l(-1)
- ushr r36.z, r36.y, r25.w
- if_nz r23.w
- and r37.xyzw, r36.zzzz, l(1, 2, 4, 8)
- ine r37.xyzw, r37.xyzw, l(0, 0, 0, 0)
- bfi r37.xyzw, l(1, 1, 1, 1), vThreadIDInGroup.xxxx, r37.xyzw, l(0, 0, 0, 0)
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- sync_g_t
- if_nz r23.w
- if_nz r7.x
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.x, l(0), g3.xxxx
- ld_structured r38.y, r6.y, l(0), g3.xxxx
- ld_structured r38.z, r9.x, l(0), g3.xxxx
- ld_structured r38.w, r6.z, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r23.w
- if_nz r7.y
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.y, l(0), g3.xxxx
- ld_structured r38.y, r6.w, l(0), g3.xxxx
- ld_structured r38.z, r9.y, l(0), g3.xxxx
- ld_structured r38.w, r8.x, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r23.w
- if_nz r7.z
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.z, l(0), g3.xxxx
- ld_structured r38.y, r8.y, l(0), g3.xxxx
- ld_structured r38.z, r9.z, l(0), g3.xxxx
- ld_structured r38.w, r8.z, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r23.w
- if_nz r7.w
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r3.w, l(0), g3.xxxx
- ld_structured r38.y, r8.w, l(0), g3.xxxx
- ld_structured r38.z, r9.w, l(0), g3.xxxx
- ld_structured r38.w, r13.x, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r23.w
- if_nz r5.w
- ld_structured r37.x, vThreadIDInGroup.x, l(0), g3.xxxx
- ld_structured r37.y, r12.x, l(0), g3.xxxx
- ld_structured r37.z, r12.y, l(0), g3.xxxx
- ld_structured r37.w, r12.z, l(0), g3.xxxx
- ld_structured r38.x, r6.x, l(0), g3.xxxx
- ld_structured r38.y, r13.y, l(0), g3.xxxx
- ld_structured r38.z, r14.x, l(0), g3.xxxx
- ld_structured r38.w, r13.z, l(0), g3.xxxx
- or r37.xyzw, r37.xyzw, r38.xyzw
- store_structured g3.x, vThreadIDInGroup.x, l(0), r37.x
- store_structured g3.x, r12.x, l(0), r37.y
- store_structured g3.x, r12.y, l(0), r37.z
- store_structured g3.x, r12.z, l(0), r37.w
- endif
- endif
- sync_g_t
- if_nz r23.w
- ld_structured r37.x, r5.z, l(0), g3.xxxx
- ld_structured r37.y, r10.x, l(0), g3.xxxx
- ld_structured r37.z, r10.y, l(0), g3.xxxx
- ld_structured r37.w, r10.z, l(0), g3.xxxx
- and r38.xyzw, r36.zzzz, l(1, 2, 4, 8)
- iadd r36.w, r38.x, l(-1)
- xor r36.w, r37.x, r36.w
- ine r38.xyz, r38.yzwy, l(0, 0, 0, 0)
- ieq r38.xyz, r38.xyzx, l(0, 0, 0, 0)
- xor r38.xyz, r37.yzwy, r38.xyzx
- and r36.w, r36.w, r38.x
- and r36.w, r38.y, r36.w
- and r36.w, r38.z, r36.w
- bfi r36.z, l(4), l(5), r36.z, l(0)
- iadd r36.z, r11.y, r36.z
- iadd r36.z, r36.z, l(4096)
- ld_structured r36.z, r36.z, l(0), g3.xxxx
- ubfe r36.w, vThreadIDInGroup.x, l(0), r36.w
- countbits r36.w, r36.w
- iadd r36.z, r36.w, r36.z
- else
- mov r37.xyzw, l(0,0,0,0)
- mov r36.z, l(0)
- endif
- if_nz r32.w
- iadd r32.w, r28.w, r36.z
- store_structured u2.x, r32.w, l(0), r36.y
- endif
- sync_g_t
- if_nz r23.w
- if_nz r7.x
- ld_structured r32.w, r11.z, l(0), g3.xxxx
- xor r36.yz, r2.zzwz, r37.xxyx
- and r36.y, r36.z, r36.y
- xor r36.zw, r5.xxxy, r37.zzzw
- and r36.y, r36.z, r36.y
- and r36.y, r36.w, r36.y
- countbits r36.y, r36.y
- iadd r32.w, r32.w, r36.y
- store_structured g3.x, r11.z, l(0), r32.w
- endif
- endif
- endif
- iadd r25.w, r25.w, l(4)
- mov r32.w, r28.w
- mov r28.w, r27.w
- mov r27.w, r32.w
- endloop
- mov r19.w, vThreadIDInGroup.x
- loop
- ige r21.x, r19.w, r19.x
- breakc_nz r21.x
- iadd r21.x, r19.w, r25.y
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r22.w, r21.x, l(0), u2.xxxx
- ishr r22.w, r22.w, l(16)
- iadd r21.x, r21.x, l(-1)
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r21.x, r21.x, l(0), u2.xxxx
- ishr r21.x, r21.x, l(16)
- iadd r23.w, r22.w, l(-1)
- movc r21.x, r19.w, r21.x, r23.w
- ine r23.w, r21.x, r22.w
- if_nz r23.w
- iadd r22.w, r19.z, r22.w
- store_structured u2.x, r22.w, l(0), r19.w
- iadd r21.x, r19.z, r21.x
- iadd r21.x, r21.x, l(1)
- store_structured u2.x, r21.x, l(0), r19.w
- endif
- iadd r19.w, r19.w, l(1024)
- endloop
- ld_raw r25.xy, l(96), g0.xyxx
- mov r19.w, vThreadIDInGroup.x
- loop
- ige r21.x, r19.w, r19.x
- breakc_nz r21.x
- iadd r21.x, r19.w, r25.y
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r21.x, r21.x, l(0), u2.xxxx
- and r21.x, r21.x, l(0x0000ffff)
- iadd r21.x, r21.x, r25.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r37.xyzw, r21.x, l(0), u1.xyzw
- iadd r21.x, r0.y, r19.w
- store_structured u0.xyzw, r21.x, l(0), r37.xyzw
- iadd r19.w, r19.w, l(1024)
- endloop
- sync_g_t
- ld_raw r19.w, l(84), g0.xxxx
- mul r21.x, r19.w, r19.w
- ld_raw r22.w, l(100), g0.xxxx
- ld_raw r23.w, l(112), g1.xxxx
- mov r25.x, vThreadIDInGroup.x
- loop
- ige r25.y, r25.x, r19.x
- breakc_nz r25.y
- iadd r25.y, r22.w, r25.x
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r25.y, r25.y, l(0), u2.xxxx
- and r25.y, r25.y, l(0x0000ffff)
- iadd r25.z, r0.y, r25.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r37.xyzw, r25.z, l(0), u0.xyzw
- iadd r25.z, r23.w, r25.y
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.yzw, r25.z, l(0), t14.xxyz
- dp4 r25.z, r37.xyzw, icb[r23.y + 0].xyzw
- mad r25.z, r25.z, r20.x, r20.z
- min r25.z, r25.z, l(127.500000)
- max r25.z, r25.z, l(0.000000)
- dp4 r25.w, r37.xyzw, icb[r23.z + 0].xyzw
- mad r25.w, r25.w, r20.y, r20.w
- min r25.w, r25.w, l(127.500000)
- max r25.w, r25.w, l(0.000000)
- ftoi r25.zw, r25.zzzw
- imad r25.z, r25.w, l(128), r25.z
- iadd r25.w, r25.z, l(256)
- add r27.w, r37.w, l(0.000000)
- mov r38.xyz, l(0,0,0,0)
- mov r28.w, l(0.000000)
- mov r32.w, r25.z
- loop
- ilt r38.w, r25.w, r32.w
- breakc_nz r38.w
- iadd r38.w, r19.z, r32.w
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r39.x, r38.w, l(0), u2.xxxx
- iadd r39.yzw, r38.wwww, l(0, 1, 2, 3)
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r38.w, r39.y, l(0), u2.xxxx
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r39.y, r39.z, l(0), u2.xxxx
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r39.z, r39.w, l(0), u2.xxxx
- umin r39.x, r38.w, r39.x
- umin r39.x, r39.y, r39.x
- imax r38.w, r38.w, r39.y
- imax r38.w, r39.z, r38.w
- imax r38.w, r38.w, l(0)
- mov r39.yzw, r38.xxyz
- mov r40.x, r28.w
- mov r40.y, r39.x
- loop
- uge r40.z, r40.y, r38.w
- breakc_nz r40.z
- ine r40.z, r25.x, r40.y
- if_nz r40.z
- iadd r40.z, r0.y, r40.y
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r41.xyzw, r40.z, l(0), u0.xyzw
- add r41.xyz, r37.xyzx, -r41.xyzx
- dp3 r40.z, r41.xyzx, r41.xyzx
- lt r40.w, r21.x, r40.z
- if_nz r40.w
- iadd r40.w, r40.y, l(1)
- mov r40.y, r40.w
- continue
- endif
- ld_raw r40.w, l(112), g1.xxxx
- ine r42.x, r40.w, l(-1)
- if_nz r42.x
- ld_raw r42.x, l(100), g0.xxxx
- iadd r42.x, r40.y, r42.x
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r42.x, r42.x, l(0), u2.xxxx
- and r42.x, r42.x, l(0x0000ffff)
- iadd r40.w, r40.w, r42.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r42.xyz, r40.w, l(0), t14.xyzx
- add r42.xyz, r36.yzwy, -r42.xyzx
- dp3 r40.w, r42.xyzx, r42.xyzx
- ge r42.x, r21.x, r40.w
- if_nz r42.x
- iadd r42.x, r40.y, l(1)
- mov r40.y, r42.x
- continue
- endif
- add r40.w, r40.w, l(0.000000)
- div r40.w, r21.x, r40.w
- rsq r40.w, r40.w
- add r40.w, r40.w, l(-1.000000)
- min r40.w, r40.w, l(1.000000)
- else
- mov r40.w, l(1.000000)
- endif
- add r40.z, r40.z, l(0.000000)
- rsq r40.z, r40.z
- mad r40.z, r19.w, r40.z, l(-1.000000)
- max r40.z, r40.z, l(0.000000)
- mul r42.x, r40.z, r40.z
- mul r40.w, r40.w, r42.x
- add r41.w, r27.w, r41.w
- div r40.w, r40.w, r41.w
- mad r39.yzw, r40.wwww, r41.xxyz, r39.yyzw
- add r40.x, r40.z, r40.x
- endif
- iadd r40.y, r40.y, l(1)
- endloop
- mov r38.xyz, r39.yzwy
- mov r28.w, r40.x
- iadd r32.w, r32.w, l(128)
- endloop
- ld_raw r25.z, l(72), g1.xxxx
- mul r25.z, r37.w, r25.z
- div r25.z, r25.z, r28.w
- ld_raw r25.w, l(96), g0.xxxx
- iadd r25.y, r25.y, r25.w
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r36.yzw, r25.y, l(0), u1.xxyz
- mad r36.yzw, r38.xxyz, r25.zzzz, r36.yyzw
- store_structured u1.xyz, r25.y, l(0), r36.yzwy
- iadd r25.x, r25.x, l(1024)
- endloop
- sync_g_t
- ld_raw r19.w, l(96), g0.xxxx
- mov r20.x, vThreadIDInGroup.x
- loop
- ige r20.y, r20.x, r19.y
- breakc_nz r20.y
- iadd r20.y, r19.w, r20.x
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r25.xyzw, r20.y, l(0), u1.xyzw
- iadd r20.y, r0.y, r20.x
- store_structured u0.xyzw, r20.y, l(0), r25.xyzw
- iadd r20.x, r20.x, l(1024)
- endloop
- ld_raw r19.y, l(100), g0.xxxx
- mov r19.w, vThreadIDInGroup.x
- loop
- ige r20.x, r19.w, r19.x
- breakc_nz r20.x
- iadd r20.x, r19.w, r19.y
- ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r20.x, r20.x, l(0), u2.xxxx
- ushr r20.x, r20.x, l(16)
- iadd r20.x, r19.z, r20.x
- store_structured u2.x, r20.x, l(0), l(-1)
- iadd r20.y, r20.x, l(1)
- store_structured u2.x, r20.y, l(0), l(-1)
- iadd r19.w, r19.w, l(1024)
- endloop
- endif
- if_z vThreadIDInGroup.x
- ld_raw r19.x, l(8), g1.xxxx
- mul r19.x, r19.x, l(1000.000000)
- ftou r19.x, r19.x
- umax r19.x, r19.x, l(1)
- ld_raw r19.y, l(104), g1.xxxx
- iadd r19.x, r19.x, r19.y
- store_raw g1.x, l(104), r19.x
- endif
- sync_g_t
- ld_raw r19.x, l(104), g1.xxxx
- ld_raw r19.y, l(104), g0.xxxx
- uge r19.x, r19.x, r19.y
- if_nz r19.x
- ld_raw r19.x, l(0), g0.xxxx
- mov r19.y, l(0)
- mov r19.z, vThreadIDInGroup.x
- loop
- uge r19.w, r19.z, r19.x
- breakc_nz r19.w
- iadd r19.w, r0.y, r19.z
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r20.xyz, r19.w, l(0), u0.xyzx
- iadd r19.w, r0.x, r19.z
- ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r23.yzw, r19.w, l(0), u0.xxyz
- add r20.xyz, r20.xyzx, -r23.yzwy
- max r19.w, |r20.y|, |r20.x|
- max r19.w, |r20.z|, r19.w
- max r19.y, r19.y, r19.w
- iadd r19.z, r19.z, l(1024)
- endloop
- if_z vThreadIDInGroup.x
- ld_raw r19.x, l(100), g1.xxxx
- iadd r19.x, r19.x, l(1)
- store_raw g1.x, l(100), r19.x
- ld_raw r19.x, l(104), g0.xxxx
- ld_raw r19.z, l(104), g1.xxxx
- iadd r19.x, -r19.x, r19.z
- store_raw g1.x, l(104), r19.x
- endif
- ld_raw r19.x, l(112), g0.xxxx
- ld_raw r19.z, l(8), g1.xxxx
- mul r19.x, r19.z, r19.x
- lt r19.x, r19.x, r19.y
- if_nz r19.x
- store_raw g1.x, l(100), l(0)
- endif
- endif
- iadd r17.x, r17.x, l(1)
- endloop
- sync_g_t
-endif
-if_z vThreadIDInGroup.x
- ld_raw r0.xyzw, l(0), g1.xyzw
- ld_raw r1.xyzw, l(16), g1.xyzw
- ld_raw r2.xyzw, l(32), g1.xyzw
- ld_raw r3.xyzw, l(48), g1.xyzw
- ld_raw r4.xyzw, l(64), g1.xyzw
- ld_raw r5.xyzw, l(80), g1.xyzw
- ld_raw r6.xyzw, l(96), g1.xyzw
- ld_raw r7.xy, l(112), g1.xyxx
- store_structured u3.xyzw, vThreadGroupID.x, l(0), r0.xyzw
- store_structured u3.xyzw, vThreadGroupID.x, l(16), r1.xyzw
- store_structured u3.xyzw, vThreadGroupID.x, l(32), r2.xyzw
- store_structured u3.xyzw, vThreadGroupID.x, l(48), r3.xyzw
- store_structured u3.xyzw, vThreadGroupID.x, l(64), r4.xyzw
- store_structured u3.xyzw, vThreadGroupID.x, l(80), r5.xyzw
- store_structured u3.xyzw, vThreadGroupID.x, l(96), r6.xyzw
- store_structured u3.xy, vThreadGroupID.x, l(112), r7.xyxx
-endif
-ret
-// Approximately 4204 instruction slots used
-#endif
-
-const BYTE gDxSolverKernel[] =
-{
- 68, 88, 66, 67, 15, 26,
- 236, 198, 241, 164, 237, 240,
- 132, 194, 14, 81, 193, 73,
- 162, 40, 1, 0, 0, 0,
- 32, 212, 1, 0, 5, 0,
- 0, 0, 52, 0, 0, 0,
- 108, 20, 0, 0, 124, 20,
- 0, 0, 140, 20, 0, 0,
- 132, 211, 1, 0, 82, 68,
- 69, 70, 48, 20, 0, 0,
- 20, 0, 0, 0, 20, 4,
- 0, 0, 20, 0, 0, 0,
- 60, 0, 0, 0, 0, 5,
- 83, 67, 0, 1, 0, 0,
- 252, 19, 0, 0, 82, 68,
- 49, 49, 60, 0, 0, 0,
- 24, 0, 0, 0, 32, 0,
- 0, 0, 40, 0, 0, 0,
- 36, 0, 0, 0, 12, 0,
- 0, 0, 0, 0, 0, 0,
- 188, 2, 0, 0, 5, 0,
- 0, 0, 6, 0, 0, 0,
- 1, 0, 0, 0, 116, 0,
- 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 199, 2, 0, 0,
- 5, 0, 0, 0, 6, 0,
- 0, 0, 1, 0, 0, 0,
- 100, 0, 0, 0, 2, 0,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 209, 2,
- 0, 0, 5, 0, 0, 0,
- 6, 0, 0, 0, 1, 0,
- 0, 0, 24, 0, 0, 0,
- 3, 0, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 223, 2, 0, 0, 5, 0,
- 0, 0, 6, 0, 0, 0,
- 1, 0, 0, 0, 8, 0,
- 0, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 236, 2, 0, 0,
- 5, 0, 0, 0, 6, 0,
- 0, 0, 1, 0, 0, 0,
- 4, 0, 0, 0, 5, 0,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 255, 2,
- 0, 0, 5, 0, 0, 0,
- 6, 0, 0, 0, 1, 0,
- 0, 0, 8, 0, 0, 0,
- 6, 0, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 15, 3, 0, 0, 5, 0,
- 0, 0, 6, 0, 0, 0,
- 1, 0, 0, 0, 16, 0,
- 0, 0, 7, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 33, 3, 0, 0,
- 5, 0, 0, 0, 6, 0,
- 0, 0, 1, 0, 0, 0,
- 4, 0, 0, 0, 8, 0,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 46, 3,
- 0, 0, 5, 0, 0, 0,
- 6, 0, 0, 0, 1, 0,
- 0, 0, 16, 0, 0, 0,
- 9, 0, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 63, 3, 0, 0, 5, 0,
- 0, 0, 6, 0, 0, 0,
- 1, 0, 0, 0, 12, 0,
- 0, 0, 10, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 83, 3, 0, 0,
- 5, 0, 0, 0, 6, 0,
- 0, 0, 1, 0, 0, 0,
- 16, 0, 0, 0, 11, 0,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 102, 3,
- 0, 0, 5, 0, 0, 0,
- 6, 0, 0, 0, 1, 0,
- 0, 0, 16, 0, 0, 0,
- 12, 0, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 125, 3, 0, 0, 5, 0,
- 0, 0, 6, 0, 0, 0,
- 1, 0, 0, 0, 16, 0,
- 0, 0, 13, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 148, 3, 0, 0,
- 5, 0, 0, 0, 6, 0,
- 0, 0, 1, 0, 0, 0,
- 16, 0, 0, 0, 14, 0,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 163, 3,
- 0, 0, 5, 0, 0, 0,
- 6, 0, 0, 0, 1, 0,
- 0, 0, 4, 0, 0, 0,
- 15, 0, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 185, 3, 0, 0, 5, 0,
- 0, 0, 6, 0, 0, 0,
- 1, 0, 0, 0, 4, 0,
- 0, 0, 16, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 209, 3, 0, 0,
- 6, 0, 0, 0, 6, 0,
- 0, 0, 1, 0, 0, 0,
- 16, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 220, 3,
- 0, 0, 6, 0, 0, 0,
- 6, 0, 0, 0, 1, 0,
- 0, 0, 16, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 244, 3, 0, 0, 6, 0,
- 0, 0, 6, 0, 0, 0,
- 1, 0, 0, 0, 4, 0,
- 0, 0, 2, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 7, 4, 0, 0,
- 6, 0, 0, 0, 6, 0,
- 0, 0, 1, 0, 0, 0,
- 120, 0, 0, 0, 3, 0,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 98, 67,
- 108, 111, 116, 104, 68, 97,
- 116, 97, 0, 98, 73, 116,
- 101, 114, 68, 97, 116, 97,
- 0, 98, 80, 104, 97, 115,
- 101, 67, 111, 110, 102, 105,
- 103, 115, 0, 98, 67, 111,
- 110, 115, 116, 114, 97, 105,
- 110, 116, 115, 0, 98, 84,
- 101, 116, 104, 101, 114, 67,
- 111, 110, 115, 116, 114, 97,
- 105, 110, 116, 115, 0, 98,
- 67, 97, 112, 115, 117, 108,
- 101, 73, 110, 100, 105, 99,
- 101, 115, 0, 98, 67, 111,
- 108, 108, 105, 115, 105, 111,
- 110, 83, 112, 104, 101, 114,
- 101, 115, 0, 98, 67, 111,
- 110, 118, 101, 120, 77, 97,
- 115, 107, 115, 0, 98, 67,
- 111, 108, 108, 105, 115, 105,
- 111, 110, 80, 108, 97, 110,
- 101, 115, 0, 98, 67, 111,
- 108, 108, 105, 115, 105, 111,
- 110, 84, 114, 105, 97, 110,
- 103, 108, 101, 115, 0, 98,
- 77, 111, 116, 105, 111, 110,
- 67, 111, 110, 115, 116, 114,
- 97, 105, 110, 116, 115, 0,
- 98, 83, 101, 112, 97, 114,
- 97, 116, 105, 111, 110, 67,
- 111, 110, 115, 116, 114, 97,
- 105, 110, 116, 115, 0, 98,
- 80, 97, 114, 116, 105, 99,
- 108, 101, 65, 99, 99, 101,
- 108, 101, 114, 97, 116, 105,
- 111, 110, 115, 0, 98, 82,
- 101, 115, 116, 80, 111, 115,
- 105, 116, 105, 111, 110, 115,
- 0, 98, 83, 101, 108, 102,
- 67, 111, 108, 108, 105, 115,
- 105, 111, 110, 73, 110, 100,
- 105, 99, 101, 115, 0, 98,
- 80, 101, 114, 67, 111, 110,
- 115, 116, 114, 97, 105, 110,
- 116, 83, 116, 105, 102, 102,
- 110, 101, 115, 115, 0, 98,
- 80, 97, 114, 116, 105, 99,
- 108, 101, 115, 0, 98, 83,
- 101, 108, 102, 67, 111, 108,
- 108, 105, 115, 105, 111, 110,
- 80, 97, 114, 116, 105, 99,
- 108, 101, 115, 0, 98, 83,
- 101, 108, 102, 67, 111, 108,
- 108, 105, 115, 105, 111, 110,
- 68, 97, 116, 97, 0, 98,
- 70, 114, 97, 109, 101, 68,
- 97, 116, 97, 0, 171, 171,
- 188, 2, 0, 0, 1, 0,
- 0, 0, 244, 5, 0, 0,
- 116, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 199, 2, 0, 0, 1, 0,
- 0, 0, 40, 10, 0, 0,
- 100, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 209, 2, 0, 0, 1, 0,
- 0, 0, 224, 10, 0, 0,
- 24, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 223, 2, 0, 0, 1, 0,
- 0, 0, 228, 11, 0, 0,
- 8, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 236, 2, 0, 0, 1, 0,
- 0, 0, 108, 12, 0, 0,
- 4, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 255, 2, 0, 0, 1, 0,
- 0, 0, 212, 12, 0, 0,
- 8, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 15, 3, 0, 0, 1, 0,
- 0, 0, 80, 13, 0, 0,
- 16, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 33, 3, 0, 0, 1, 0,
- 0, 0, 164, 13, 0, 0,
- 4, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 46, 3, 0, 0, 1, 0,
- 0, 0, 204, 13, 0, 0,
- 16, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 63, 3, 0, 0, 1, 0,
- 0, 0, 244, 13, 0, 0,
- 12, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 83, 3, 0, 0, 1, 0,
- 0, 0, 72, 14, 0, 0,
- 16, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 102, 3, 0, 0, 1, 0,
- 0, 0, 112, 14, 0, 0,
- 16, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 125, 3, 0, 0, 1, 0,
- 0, 0, 152, 14, 0, 0,
- 16, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 148, 3, 0, 0, 1, 0,
- 0, 0, 192, 14, 0, 0,
- 16, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 163, 3, 0, 0, 1, 0,
- 0, 0, 232, 14, 0, 0,
- 4, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 185, 3, 0, 0, 1, 0,
- 0, 0, 60, 15, 0, 0,
- 4, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 209, 3, 0, 0, 1, 0,
- 0, 0, 100, 15, 0, 0,
- 16, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 220, 3, 0, 0, 1, 0,
- 0, 0, 140, 15, 0, 0,
- 16, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 244, 3, 0, 0, 1, 0,
- 0, 0, 180, 15, 0, 0,
- 4, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 7, 4, 0, 0, 1, 0,
- 0, 0, 220, 15, 0, 0,
- 120, 0, 0, 0, 0, 0,
- 0, 0, 3, 0, 0, 0,
- 28, 6, 0, 0, 0, 0,
- 0, 0, 116, 0, 0, 0,
- 2, 0, 0, 0, 4, 10,
- 0, 0, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 36, 69,
- 108, 101, 109, 101, 110, 116,
- 0, 68, 120, 67, 108, 111,
- 116, 104, 68, 97, 116, 97,
- 0, 109, 78, 117, 109, 80,
- 97, 114, 116, 105, 99, 108,
- 101, 115, 0, 117, 105, 110,
- 116, 51, 50, 95, 116, 0,
- 0, 0, 19, 0, 1, 0,
- 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 63, 6, 0, 0,
- 109, 80, 97, 114, 116, 105,
- 99, 108, 101, 115, 79, 102,
- 102, 115, 101, 116, 0, 109,
- 78, 117, 109, 80, 104, 97,
- 115, 101, 115, 0, 109, 80,
- 104, 97, 115, 101, 67, 111,
- 110, 102, 105, 103, 79, 102,
- 102, 115, 101, 116, 0, 109,
- 67, 111, 110, 115, 116, 114,
- 97, 105, 110, 116, 79, 102,
- 102, 115, 101, 116, 0, 109,
- 83, 116, 105, 102, 102, 110,
- 101, 115, 115, 79, 102, 102,
- 115, 101, 116, 0, 109, 78,
- 117, 109, 84, 101, 116, 104,
- 101, 114, 115, 0, 109, 84,
- 101, 116, 104, 101, 114, 79,
- 102, 102, 115, 101, 116, 0,
- 109, 84, 101, 116, 104, 101,
- 114, 67, 111, 110, 115, 116,
- 114, 97, 105, 110, 116, 83,
- 99, 97, 108, 101, 0, 102,
- 108, 111, 97, 116, 0, 171,
- 171, 171, 0, 0, 3, 0,
- 1, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 239, 6,
- 0, 0, 109, 77, 111, 116,
- 105, 111, 110, 67, 111, 110,
- 115, 116, 114, 97, 105, 110,
- 116, 83, 99, 97, 108, 101,
- 0, 109, 77, 111, 116, 105,
- 111, 110, 67, 111, 110, 115,
- 116, 114, 97, 105, 110, 116,
- 66, 105, 97, 115, 0, 109,
- 78, 117, 109, 67, 97, 112,
- 115, 117, 108, 101, 115, 0,
- 109, 67, 97, 112, 115, 117,
- 108, 101, 79, 102, 102, 115,
- 101, 116, 0, 109, 78, 117,
- 109, 83, 112, 104, 101, 114,
- 101, 115, 0, 109, 78, 117,
- 109, 80, 108, 97, 110, 101,
- 115, 0, 109, 78, 117, 109,
- 67, 111, 110, 118, 101, 120,
- 101, 115, 0, 109, 67, 111,
- 110, 118, 101, 120, 77, 97,
- 115, 107, 115, 79, 102, 102,
- 115, 101, 116, 0, 109, 78,
- 117, 109, 67, 111, 108, 108,
- 105, 115, 105, 111, 110, 84,
- 114, 105, 97, 110, 103, 108,
- 101, 115, 0, 109, 69, 110,
- 97, 98, 108, 101, 67, 111,
- 110, 116, 105, 110, 117, 111,
- 117, 115, 67, 111, 108, 108,
- 105, 115, 105, 111, 110, 0,
- 109, 67, 111, 108, 108, 105,
- 115, 105, 111, 110, 77, 97,
- 115, 115, 83, 99, 97, 108,
- 101, 0, 109, 70, 114, 105,
- 99, 116, 105, 111, 110, 83,
- 99, 97, 108, 101, 0, 109,
- 83, 101, 108, 102, 67, 111,
- 108, 108, 105, 115, 105, 111,
- 110, 68, 105, 115, 116, 97,
- 110, 99, 101, 0, 109, 78,
- 117, 109, 83, 101, 108, 102,
- 67, 111, 108, 108, 105, 115,
- 105, 111, 110, 73, 110, 100,
- 105, 99, 101, 115, 0, 109,
- 83, 101, 108, 102, 67, 111,
- 108, 108, 105, 115, 105, 111,
- 110, 73, 110, 100, 105, 99,
- 101, 115, 79, 102, 102, 115,
- 101, 116, 0, 109, 83, 101,
- 108, 102, 67, 111, 108, 108,
- 105, 115, 105, 111, 110, 80,
- 97, 114, 116, 105, 99, 108,
- 101, 115, 79, 102, 102, 115,
- 101, 116, 0, 109, 83, 101,
- 108, 102, 67, 111, 108, 108,
- 105, 115, 105, 111, 110, 68,
- 97, 116, 97, 79, 102, 102,
- 115, 101, 116, 0, 109, 83,
- 108, 101, 101, 112, 84, 101,
- 115, 116, 73, 110, 116, 101,
- 114, 118, 97, 108, 0, 109,
- 83, 108, 101, 101, 112, 65,
- 102, 116, 101, 114, 67, 111,
- 117, 110, 116, 0, 109, 83,
- 108, 101, 101, 112, 84, 104,
- 114, 101, 115, 104, 111, 108,
- 100, 0, 49, 6, 0, 0,
- 72, 6, 0, 0, 0, 0,
- 0, 0, 108, 6, 0, 0,
- 72, 6, 0, 0, 4, 0,
- 0, 0, 125, 6, 0, 0,
- 72, 6, 0, 0, 8, 0,
- 0, 0, 136, 6, 0, 0,
- 72, 6, 0, 0, 12, 0,
- 0, 0, 155, 6, 0, 0,
- 72, 6, 0, 0, 16, 0,
- 0, 0, 173, 6, 0, 0,
- 72, 6, 0, 0, 20, 0,
- 0, 0, 190, 6, 0, 0,
- 72, 6, 0, 0, 24, 0,
- 0, 0, 202, 6, 0, 0,
- 72, 6, 0, 0, 28, 0,
- 0, 0, 216, 6, 0, 0,
- 248, 6, 0, 0, 32, 0,
- 0, 0, 28, 7, 0, 0,
- 248, 6, 0, 0, 36, 0,
- 0, 0, 51, 7, 0, 0,
- 248, 6, 0, 0, 40, 0,
- 0, 0, 73, 7, 0, 0,
- 72, 6, 0, 0, 44, 0,
- 0, 0, 86, 7, 0, 0,
- 72, 6, 0, 0, 48, 0,
- 0, 0, 101, 7, 0, 0,
- 72, 6, 0, 0, 52, 0,
- 0, 0, 113, 7, 0, 0,
- 72, 6, 0, 0, 56, 0,
- 0, 0, 124, 7, 0, 0,
- 72, 6, 0, 0, 60, 0,
- 0, 0, 137, 7, 0, 0,
- 72, 6, 0, 0, 64, 0,
- 0, 0, 156, 7, 0, 0,
- 72, 6, 0, 0, 68, 0,
- 0, 0, 179, 7, 0, 0,
- 72, 6, 0, 0, 72, 0,
- 0, 0, 206, 7, 0, 0,
- 248, 6, 0, 0, 76, 0,
- 0, 0, 226, 7, 0, 0,
- 248, 6, 0, 0, 80, 0,
- 0, 0, 241, 7, 0, 0,
- 248, 6, 0, 0, 84, 0,
- 0, 0, 8, 8, 0, 0,
- 72, 6, 0, 0, 88, 0,
- 0, 0, 33, 8, 0, 0,
- 72, 6, 0, 0, 92, 0,
- 0, 0, 61, 8, 0, 0,
- 72, 6, 0, 0, 96, 0,
- 0, 0, 91, 8, 0, 0,
- 72, 6, 0, 0, 100, 0,
- 0, 0, 116, 8, 0, 0,
- 72, 6, 0, 0, 104, 0,
- 0, 0, 135, 8, 0, 0,
- 72, 6, 0, 0, 108, 0,
- 0, 0, 152, 8, 0, 0,
- 248, 6, 0, 0, 112, 0,
- 0, 0, 5, 0, 0, 0,
- 1, 0, 29, 0, 0, 0,
- 29, 0, 168, 8, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 37, 6,
- 0, 0, 28, 6, 0, 0,
- 0, 0, 0, 0, 100, 0,
- 0, 0, 2, 0, 0, 0,
- 188, 10, 0, 0, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 255, 255,
- 255, 255, 0, 0, 0, 0,
- 68, 120, 73, 116, 101, 114,
- 97, 116, 105, 111, 110, 68,
- 97, 116, 97, 0, 109, 73,
- 110, 116, 101, 103, 114, 97,
- 116, 105, 111, 110, 84, 114,
- 97, 102, 111, 0, 171, 171,
- 0, 0, 3, 0, 1, 0,
- 1, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 239, 6, 0, 0,
- 109, 73, 115, 84, 117, 114,
- 110, 105, 110, 103, 0, 171,
- 96, 10, 0, 0, 116, 10,
- 0, 0, 0, 0, 0, 0,
- 152, 10, 0, 0, 72, 6,
- 0, 0, 96, 0, 0, 0,
- 5, 0, 0, 0, 1, 0,
- 25, 0, 0, 0, 2, 0,
- 164, 10, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 80, 10, 0, 0,
- 28, 6, 0, 0, 0, 0,
- 0, 0, 24, 0, 0, 0,
- 2, 0, 0, 0, 192, 11,
- 0, 0, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 68, 120,
- 80, 104, 97, 115, 101, 67,
- 111, 110, 102, 105, 103, 0,
- 109, 83, 116, 105, 102, 102,
- 110, 101, 115, 115, 0, 109,
- 83, 116, 105, 102, 102, 110,
- 101, 115, 115, 77, 117, 108,
- 116, 105, 112, 108, 105, 101,
- 114, 0, 109, 67, 111, 109,
- 112, 114, 101, 115, 115, 105,
- 111, 110, 76, 105, 109, 105,
- 116, 0, 109, 83, 116, 114,
- 101, 116, 99, 104, 76, 105,
- 109, 105, 116, 0, 109, 70,
- 105, 114, 115, 116, 67, 111,
- 110, 115, 116, 114, 97, 105,
- 110, 116, 0, 109, 78, 117,
- 109, 67, 111, 110, 115, 116,
- 114, 97, 105, 110, 116, 115,
- 0, 171, 22, 11, 0, 0,
- 248, 6, 0, 0, 0, 0,
- 0, 0, 33, 11, 0, 0,
- 248, 6, 0, 0, 4, 0,
- 0, 0, 54, 11, 0, 0,
- 248, 6, 0, 0, 8, 0,
- 0, 0, 72, 11, 0, 0,
- 248, 6, 0, 0, 12, 0,
- 0, 0, 86, 11, 0, 0,
- 72, 6, 0, 0, 16, 0,
- 0, 0, 103, 11, 0, 0,
- 72, 6, 0, 0, 20, 0,
- 0, 0, 5, 0, 0, 0,
- 1, 0, 6, 0, 0, 0,
- 6, 0, 120, 11, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 8, 11,
- 0, 0, 28, 6, 0, 0,
- 0, 0, 0, 0, 8, 0,
- 0, 0, 2, 0, 0, 0,
- 72, 12, 0, 0, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 255, 255,
- 255, 255, 0, 0, 0, 0,
- 68, 120, 67, 111, 110, 115,
- 116, 114, 97, 105, 110, 116,
- 0, 109, 82, 101, 115, 116,
- 118, 97, 108, 117, 101, 0,
- 109, 73, 110, 100, 105, 99,
- 101, 115, 0, 171, 171, 171,
- 25, 12, 0, 0, 248, 6,
- 0, 0, 0, 0, 0, 0,
- 36, 12, 0, 0, 72, 6,
- 0, 0, 4, 0, 0, 0,
- 5, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 2, 0,
- 48, 12, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 12, 12, 0, 0,
- 28, 6, 0, 0, 0, 0,
- 0, 0, 4, 0, 0, 0,
- 2, 0, 0, 0, 176, 12,
- 0, 0, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 68, 120,
- 84, 101, 116, 104, 101, 114,
- 0, 109, 86, 97, 108, 117,
- 101, 0, 157, 12, 0, 0,
- 72, 6, 0, 0, 0, 0,
- 0, 0, 5, 0, 0, 0,
- 1, 0, 1, 0, 0, 0,
- 1, 0, 164, 12, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 148, 12,
- 0, 0, 28, 6, 0, 0,
- 0, 0, 0, 0, 8, 0,
- 0, 0, 2, 0, 0, 0,
- 44, 13, 0, 0, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 255, 255,
- 255, 255, 0, 0, 0, 0,
- 73, 110, 100, 101, 120, 80,
- 97, 105, 114, 0, 102, 105,
- 114, 115, 116, 0, 115, 101,
- 99, 111, 110, 100, 0, 171,
- 6, 13, 0, 0, 72, 6,
- 0, 0, 0, 0, 0, 0,
- 12, 13, 0, 0, 72, 6,
- 0, 0, 4, 0, 0, 0,
- 5, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 2, 0,
- 20, 13, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 252, 12, 0, 0,
- 28, 6, 0, 0, 0, 0,
- 0, 0, 16, 0, 0, 0,
- 2, 0, 0, 0, 128, 13,
- 0, 0, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 102, 108,
- 111, 97, 116, 52, 0, 171,
- 1, 0, 3, 0, 1, 0,
- 4, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 120, 13, 0, 0,
- 28, 6, 0, 0, 0, 0,
- 0, 0, 4, 0, 0, 0,
- 2, 0, 0, 0, 72, 6,
- 0, 0, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 28, 6,
- 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 0, 2, 0,
- 0, 0, 128, 13, 0, 0,
- 0, 0, 0, 0, 255, 255,
- 255, 255, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 28, 6, 0, 0,
- 0, 0, 0, 0, 12, 0,
- 0, 0, 2, 0, 0, 0,
- 36, 14, 0, 0, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 255, 255,
- 255, 255, 0, 0, 0, 0,
- 102, 108, 111, 97, 116, 51,
- 0, 171, 1, 0, 3, 0,
- 1, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 28, 14,
- 0, 0, 28, 6, 0, 0,
- 0, 0, 0, 0, 16, 0,
- 0, 0, 2, 0, 0, 0,
- 128, 13, 0, 0, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 255, 255,
- 255, 255, 0, 0, 0, 0,
- 28, 6, 0, 0, 0, 0,
- 0, 0, 16, 0, 0, 0,
- 2, 0, 0, 0, 128, 13,
- 0, 0, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 28, 6,
- 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 0, 2, 0,
- 0, 0, 128, 13, 0, 0,
- 0, 0, 0, 0, 255, 255,
- 255, 255, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 28, 6, 0, 0,
- 0, 0, 0, 0, 16, 0,
- 0, 0, 2, 0, 0, 0,
- 128, 13, 0, 0, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 255, 255,
- 255, 255, 0, 0, 0, 0,
- 28, 6, 0, 0, 0, 0,
- 0, 0, 4, 0, 0, 0,
- 2, 0, 0, 0, 24, 15,
- 0, 0, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 105, 110,
- 116, 51, 50, 95, 116, 0,
- 0, 0, 2, 0, 1, 0,
- 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 15, 0, 0,
- 28, 6, 0, 0, 0, 0,
- 0, 0, 4, 0, 0, 0,
- 2, 0, 0, 0, 248, 6,
- 0, 0, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 28, 6,
- 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 0, 2, 0,
- 0, 0, 128, 13, 0, 0,
- 0, 0, 0, 0, 255, 255,
- 255, 255, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 28, 6, 0, 0,
- 0, 0, 0, 0, 16, 0,
- 0, 0, 2, 0, 0, 0,
- 128, 13, 0, 0, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 255, 255,
- 255, 255, 0, 0, 0, 0,
- 28, 6, 0, 0, 0, 0,
- 0, 0, 4, 0, 0, 0,
- 2, 0, 0, 0, 72, 6,
- 0, 0, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 255, 255, 255, 255,
- 0, 0, 0, 0, 28, 6,
- 0, 0, 0, 0, 0, 0,
- 120, 0, 0, 0, 2, 0,
- 0, 0, 216, 19, 0, 0,
- 0, 0, 0, 0, 255, 255,
- 255, 255, 0, 0, 0, 0,
- 255, 255, 255, 255, 0, 0,
- 0, 0, 68, 120, 70, 114,
- 97, 109, 101, 68, 97, 116,
- 97, 0, 109, 68, 101, 118,
- 105, 99, 101, 80, 97, 114,
- 116, 105, 99, 108, 101, 115,
- 68, 105, 114, 116, 121, 0,
- 98, 111, 111, 108, 0, 171,
- 0, 0, 1, 0, 1, 0,
- 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 38, 16, 0, 0,
- 109, 78, 117, 109, 83, 104,
- 97, 114, 101, 100, 80, 111,
- 115, 105, 116, 105, 111, 110,
- 115, 0, 109, 73, 116, 101,
- 114, 68, 116, 0, 109, 70,
- 105, 114, 115, 116, 73, 116,
- 101, 114, 97, 116, 105, 111,
- 110, 0, 109, 78, 117, 109,
- 73, 116, 101, 114, 97, 116,
- 105, 111, 110, 115, 0, 109,
- 84, 101, 116, 104, 101, 114,
- 67, 111, 110, 115, 116, 114,
- 97, 105, 110, 116, 83, 116,
- 105, 102, 102, 110, 101, 115,
- 115, 0, 109, 77, 111, 116,
- 105, 111, 110, 67, 111, 110,
- 115, 116, 114, 97, 105, 110,
- 116, 83, 116, 105, 102, 102,
- 110, 101, 115, 115, 0, 109,
- 83, 116, 97, 114, 116, 77,
- 111, 116, 105, 111, 110, 67,
- 111, 110, 115, 116, 114, 97,
- 105, 110, 115, 79, 102, 102,
- 115, 101, 116, 0, 109, 84,
- 97, 114, 103, 101, 116, 77,
- 111, 116, 105, 111, 110, 67,
- 111, 110, 115, 116, 114, 97,
- 105, 110, 115, 79, 102, 102,
- 115, 101, 116, 0, 109, 83,
- 116, 97, 114, 116, 83, 101,
- 112, 97, 114, 97, 116, 105,
- 111, 110, 67, 111, 110, 115,
- 116, 114, 97, 105, 110, 115,
- 79, 102, 102, 115, 101, 116,
- 0, 109, 84, 97, 114, 103,
- 101, 116, 83, 101, 112, 97,
- 114, 97, 116, 105, 111, 110,
- 67, 111, 110, 115, 116, 114,
- 97, 105, 110, 115, 79, 102,
- 102, 115, 101, 116, 0, 109,
- 80, 97, 114, 116, 105, 99,
- 108, 101, 65, 99, 99, 101,
- 108, 101, 114, 97, 116, 105,
- 111, 110, 115, 79, 102, 102,
- 115, 101, 116, 0, 109, 83,
- 116, 97, 114, 116, 83, 112,
- 104, 101, 114, 101, 79, 102,
- 102, 115, 101, 116, 0, 109,
- 84, 97, 114, 103, 101, 116,
- 83, 112, 104, 101, 114, 101,
- 79, 102, 102, 115, 101, 116,
- 0, 109, 83, 116, 97, 114,
- 116, 67, 111, 108, 108, 105,
- 115, 105, 111, 110, 80, 108,
- 97, 110, 101, 79, 102, 102,
- 115, 101, 116, 0, 109, 84,
- 97, 114, 103, 101, 116, 67,
- 111, 108, 108, 105, 115, 105,
- 111, 110, 80, 108, 97, 110,
- 101, 79, 102, 102, 115, 101,
- 116, 0, 109, 83, 116, 97,
- 114, 116, 67, 111, 108, 108,
- 105, 115, 105, 111, 110, 84,
- 114, 105, 97, 110, 103, 108,
- 101, 115, 79, 102, 102, 115,
- 101, 116, 0, 109, 84, 97,
- 114, 103, 101, 116, 67, 111,
- 108, 108, 105, 115, 105, 111,
- 110, 84, 114, 105, 97, 110,
- 103, 108, 101, 115, 79, 102,
- 102, 115, 101, 116, 0, 109,
- 83, 101, 108, 102, 67, 111,
- 108, 108, 105, 115, 105, 111,
- 110, 83, 116, 105, 102, 102,
- 110, 101, 115, 115, 0, 109,
- 80, 97, 114, 116, 105, 99,
- 108, 101, 66, 111, 117, 110,
- 100, 115, 0, 171, 171, 171,
- 0, 0, 3, 0, 1, 0,
- 1, 0, 6, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 239, 6, 0, 0,
- 109, 83, 108, 101, 101, 112,
- 80, 97, 115, 115, 67, 111,
- 117, 110, 116, 101, 114, 0,
- 109, 83, 108, 101, 101, 112,
- 84, 101, 115, 116, 67, 111,
- 117, 110, 116, 101, 114, 0,
- 109, 83, 116, 105, 102, 102,
- 110, 101, 115, 115, 69, 120,
- 112, 111, 110, 101, 110, 116,
- 0, 109, 82, 101, 115, 116,
- 80, 111, 115, 105, 116, 105,
- 111, 110, 115, 79, 102, 102,
- 115, 101, 116, 0, 109, 73,
- 110, 105, 116, 83, 101, 108,
- 102, 67, 111, 108, 108, 105,
- 115, 105, 111, 110, 68, 97,
- 116, 97, 0, 171, 16, 16,
- 0, 0, 44, 16, 0, 0,
- 0, 0, 0, 0, 80, 16,
- 0, 0, 72, 6, 0, 0,
- 4, 0, 0, 0, 100, 16,
- 0, 0, 248, 6, 0, 0,
- 8, 0, 0, 0, 108, 16,
- 0, 0, 72, 6, 0, 0,
- 12, 0, 0, 0, 124, 16,
- 0, 0, 72, 6, 0, 0,
- 16, 0, 0, 0, 139, 16,
- 0, 0, 248, 6, 0, 0,
- 20, 0, 0, 0, 166, 16,
- 0, 0, 248, 6, 0, 0,
- 24, 0, 0, 0, 193, 16,
- 0, 0, 72, 6, 0, 0,
- 28, 0, 0, 0, 222, 16,
- 0, 0, 72, 6, 0, 0,
- 32, 0, 0, 0, 252, 16,
- 0, 0, 72, 6, 0, 0,
- 36, 0, 0, 0, 29, 17,
- 0, 0, 72, 6, 0, 0,
- 40, 0, 0, 0, 63, 17,
- 0, 0, 72, 6, 0, 0,
- 44, 0, 0, 0, 92, 17,
- 0, 0, 72, 6, 0, 0,
- 48, 0, 0, 0, 111, 17,
- 0, 0, 72, 6, 0, 0,
- 52, 0, 0, 0, 131, 17,
- 0, 0, 72, 6, 0, 0,
- 56, 0, 0, 0, 158, 17,
- 0, 0, 72, 6, 0, 0,
- 60, 0, 0, 0, 186, 17,
- 0, 0, 72, 6, 0, 0,
- 64, 0, 0, 0, 217, 17,
- 0, 0, 72, 6, 0, 0,
- 68, 0, 0, 0, 249, 17,
- 0, 0, 248, 6, 0, 0,
- 72, 0, 0, 0, 17, 18,
- 0, 0, 36, 18, 0, 0,
- 76, 0, 0, 0, 72, 18,
- 0, 0, 72, 6, 0, 0,
- 100, 0, 0, 0, 90, 18,
- 0, 0, 72, 6, 0, 0,
- 104, 0, 0, 0, 108, 18,
- 0, 0, 248, 6, 0, 0,
- 108, 0, 0, 0, 127, 18,
- 0, 0, 72, 6, 0, 0,
- 112, 0, 0, 0, 148, 18,
- 0, 0, 44, 16, 0, 0,
- 116, 0, 0, 0, 5, 0,
- 0, 0, 1, 0, 30, 0,
- 0, 0, 25, 0, 172, 18,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 4, 16, 0, 0, 77, 105,
- 99, 114, 111, 115, 111, 102,
- 116, 32, 40, 82, 41, 32,
- 72, 76, 83, 76, 32, 83,
- 104, 97, 100, 101, 114, 32,
- 67, 111, 109, 112, 105, 108,
- 101, 114, 32, 54, 46, 51,
- 46, 57, 54, 48, 48, 46,
- 49, 54, 51, 56, 52, 0,
- 171, 171, 73, 83, 71, 78,
- 8, 0, 0, 0, 0, 0,
- 0, 0, 8, 0, 0, 0,
- 79, 83, 71, 78, 8, 0,
- 0, 0, 0, 0, 0, 0,
- 8, 0, 0, 0, 83, 72,
- 69, 88, 240, 190, 1, 0,
- 80, 0, 5, 0, 188, 111,
- 0, 0, 106, 8, 0, 1,
- 53, 24, 0, 0, 18, 0,
- 0, 0, 0, 0, 128, 63,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 128, 63, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 128, 63,
- 162, 0, 0, 4, 0, 112,
- 16, 0, 0, 0, 0, 0,
- 116, 0, 0, 0, 162, 0,
- 0, 4, 0, 112, 16, 0,
- 2, 0, 0, 0, 100, 0,
- 0, 0, 162, 0, 0, 4,
- 0, 112, 16, 0, 3, 0,
- 0, 0, 24, 0, 0, 0,
- 162, 0, 0, 4, 0, 112,
- 16, 0, 4, 0, 0, 0,
- 8, 0, 0, 0, 162, 0,
- 0, 4, 0, 112, 16, 0,
- 5, 0, 0, 0, 4, 0,
- 0, 0, 162, 0, 0, 4,
- 0, 112, 16, 0, 6, 0,
- 0, 0, 8, 0, 0, 0,
- 162, 0, 0, 4, 0, 112,
- 16, 0, 7, 0, 0, 0,
- 16, 0, 0, 0, 162, 0,
- 0, 4, 0, 112, 16, 0,
- 8, 0, 0, 0, 4, 0,
- 0, 0, 162, 0, 0, 4,
- 0, 112, 16, 0, 9, 0,
- 0, 0, 16, 0, 0, 0,
- 162, 0, 0, 4, 0, 112,
- 16, 0, 10, 0, 0, 0,
- 12, 0, 0, 0, 162, 0,
- 0, 4, 0, 112, 16, 0,
- 11, 0, 0, 0, 16, 0,
- 0, 0, 162, 0, 0, 4,
- 0, 112, 16, 0, 12, 0,
- 0, 0, 16, 0, 0, 0,
- 162, 0, 0, 4, 0, 112,
- 16, 0, 13, 0, 0, 0,
- 16, 0, 0, 0, 162, 0,
- 0, 4, 0, 112, 16, 0,
- 14, 0, 0, 0, 16, 0,
- 0, 0, 162, 0, 0, 4,
- 0, 112, 16, 0, 15, 0,
- 0, 0, 4, 0, 0, 0,
- 162, 0, 0, 4, 0, 112,
- 16, 0, 16, 0, 0, 0,
- 4, 0, 0, 0, 158, 0,
- 0, 4, 0, 224, 17, 0,
- 0, 0, 0, 0, 16, 0,
- 0, 0, 158, 0, 0, 4,
- 0, 224, 17, 0, 1, 0,
- 0, 0, 16, 0, 0, 0,
- 158, 0, 0, 4, 0, 224,
- 17, 0, 2, 0, 0, 0,
- 4, 0, 0, 0, 158, 0,
- 0, 4, 0, 224, 17, 0,
- 3, 0, 0, 0, 120, 0,
- 0, 0, 95, 0, 0, 2,
- 18, 16, 2, 0, 95, 0,
- 0, 2, 18, 32, 2, 0,
- 104, 0, 0, 2, 48, 0,
- 0, 0, 159, 0, 0, 4,
- 0, 240, 17, 0, 0, 0,
- 0, 0, 116, 0, 0, 0,
- 159, 0, 0, 4, 0, 240,
- 17, 0, 1, 0, 0, 0,
- 120, 0, 0, 0, 159, 0,
- 0, 4, 0, 240, 17, 0,
- 2, 0, 0, 0, 100, 0,
- 0, 0, 160, 0, 0, 5,
- 0, 240, 17, 0, 3, 0,
- 0, 0, 4, 0, 0, 0,
- 220, 30, 0, 0, 160, 0,
- 0, 5, 0, 240, 17, 0,
- 4, 0, 0, 0, 4, 0,
- 0, 0, 192, 0, 0, 0,
- 159, 0, 0, 4, 0, 240,
- 17, 0, 5, 0, 0, 0,
- 36, 0, 0, 0, 160, 0,
- 0, 5, 0, 240, 17, 0,
- 6, 0, 0, 0, 4, 0,
- 0, 0, 3, 0, 0, 0,
- 155, 0, 0, 4, 0, 4,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 31, 0,
- 0, 2, 10, 32, 2, 0,
- 167, 0, 0, 138, 2, 163,
- 3, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 0, 0,
- 0, 0, 10, 16, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 0, 0, 0, 0, 167, 0,
- 0, 138, 2, 163, 3, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 1, 0, 0, 0,
- 10, 16, 2, 0, 1, 64,
- 0, 0, 16, 0, 0, 0,
- 70, 126, 16, 0, 0, 0,
- 0, 0, 167, 0, 0, 138,
- 2, 163, 3, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 2, 0, 0, 0, 10, 16,
- 2, 0, 1, 64, 0, 0,
- 32, 0, 0, 0, 70, 126,
- 16, 0, 0, 0, 0, 0,
- 167, 0, 0, 138, 2, 163,
- 3, 128, 131, 153, 25, 0,
- 50, 0, 16, 0, 3, 0,
- 0, 0, 10, 16, 2, 0,
- 1, 64, 0, 0, 48, 0,
- 0, 0, 70, 112, 16, 0,
- 0, 0, 0, 0, 167, 0,
- 0, 138, 2, 163, 3, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 4, 0, 0, 0,
- 10, 16, 2, 0, 1, 64,
- 0, 0, 60, 0, 0, 0,
- 70, 126, 16, 0, 0, 0,
- 0, 0, 167, 0, 0, 138,
- 2, 163, 3, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 5, 0, 0, 0, 10, 16,
- 2, 0, 1, 64, 0, 0,
- 76, 0, 0, 0, 70, 126,
- 16, 0, 0, 0, 0, 0,
- 167, 0, 0, 138, 2, 163,
- 3, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 6, 0,
- 0, 0, 10, 16, 2, 0,
- 1, 64, 0, 0, 92, 0,
- 0, 0, 70, 126, 16, 0,
- 0, 0, 0, 0, 167, 0,
- 0, 138, 2, 163, 3, 128,
- 131, 153, 25, 0, 66, 0,
- 16, 0, 3, 0, 0, 0,
- 10, 16, 2, 0, 1, 64,
- 0, 0, 112, 0, 0, 0,
- 6, 112, 16, 0, 0, 0,
- 0, 0, 166, 0, 0, 7,
- 242, 240, 17, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 14,
- 16, 0, 0, 0, 0, 0,
- 166, 0, 0, 7, 242, 240,
- 17, 0, 0, 0, 0, 0,
- 1, 64, 0, 0, 16, 0,
- 0, 0, 70, 14, 16, 0,
- 1, 0, 0, 0, 166, 0,
- 0, 7, 242, 240, 17, 0,
- 0, 0, 0, 0, 1, 64,
- 0, 0, 32, 0, 0, 0,
- 70, 14, 16, 0, 2, 0,
- 0, 0, 166, 0, 0, 7,
- 50, 240, 17, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 48, 0, 0, 0, 70, 0,
- 16, 0, 3, 0, 0, 0,
- 166, 0, 0, 7, 242, 240,
- 17, 0, 0, 0, 0, 0,
- 1, 64, 0, 0, 60, 0,
- 0, 0, 70, 14, 16, 0,
- 4, 0, 0, 0, 166, 0,
- 0, 7, 242, 240, 17, 0,
- 0, 0, 0, 0, 1, 64,
- 0, 0, 76, 0, 0, 0,
- 70, 14, 16, 0, 5, 0,
- 0, 0, 166, 0, 0, 7,
- 242, 240, 17, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 92, 0, 0, 0, 70, 14,
- 16, 0, 6, 0, 0, 0,
- 166, 0, 0, 7, 18, 240,
- 17, 0, 0, 0, 0, 0,
- 1, 64, 0, 0, 112, 0,
- 0, 0, 42, 0, 16, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 138, 2, 195, 3, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 0, 0, 0, 0,
- 10, 16, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 238, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 138,
- 2, 195, 3, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 1, 0, 0, 0, 10, 16,
- 2, 0, 1, 64, 0, 0,
- 16, 0, 0, 0, 70, 238,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 138, 2, 195,
- 3, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 2, 0,
- 0, 0, 10, 16, 2, 0,
- 1, 64, 0, 0, 32, 0,
- 0, 0, 70, 238, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 138, 2, 195, 3, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 3, 0, 0, 0,
- 10, 16, 2, 0, 1, 64,
- 0, 0, 48, 0, 0, 0,
- 70, 238, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 138,
- 2, 195, 3, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 4, 0, 0, 0, 10, 16,
- 2, 0, 1, 64, 0, 0,
- 64, 0, 0, 0, 70, 238,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 138, 2, 195,
- 3, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 5, 0,
- 0, 0, 10, 16, 2, 0,
- 1, 64, 0, 0, 80, 0,
- 0, 0, 70, 238, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 138, 2, 195, 3, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 6, 0, 0, 0,
- 10, 16, 2, 0, 1, 64,
- 0, 0, 96, 0, 0, 0,
- 70, 238, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 138,
- 2, 195, 3, 128, 131, 153,
- 25, 0, 50, 0, 16, 0,
- 7, 0, 0, 0, 10, 16,
- 2, 0, 1, 64, 0, 0,
- 112, 0, 0, 0, 70, 224,
- 17, 0, 3, 0, 0, 0,
- 166, 0, 0, 7, 242, 240,
- 17, 0, 1, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 14, 16, 0,
- 0, 0, 0, 0, 166, 0,
- 0, 7, 242, 240, 17, 0,
- 1, 0, 0, 0, 1, 64,
- 0, 0, 16, 0, 0, 0,
- 70, 14, 16, 0, 1, 0,
- 0, 0, 166, 0, 0, 7,
- 242, 240, 17, 0, 1, 0,
- 0, 0, 1, 64, 0, 0,
- 32, 0, 0, 0, 70, 14,
- 16, 0, 2, 0, 0, 0,
- 166, 0, 0, 7, 242, 240,
- 17, 0, 1, 0, 0, 0,
- 1, 64, 0, 0, 48, 0,
- 0, 0, 70, 14, 16, 0,
- 3, 0, 0, 0, 166, 0,
- 0, 7, 242, 240, 17, 0,
- 1, 0, 0, 0, 1, 64,
- 0, 0, 64, 0, 0, 0,
- 70, 14, 16, 0, 4, 0,
- 0, 0, 166, 0, 0, 7,
- 242, 240, 17, 0, 1, 0,
- 0, 0, 1, 64, 0, 0,
- 80, 0, 0, 0, 70, 14,
- 16, 0, 5, 0, 0, 0,
- 166, 0, 0, 7, 242, 240,
- 17, 0, 1, 0, 0, 0,
- 1, 64, 0, 0, 96, 0,
- 0, 0, 70, 14, 16, 0,
- 6, 0, 0, 0, 166, 0,
- 0, 7, 50, 240, 17, 0,
- 1, 0, 0, 0, 1, 64,
- 0, 0, 112, 0, 0, 0,
- 70, 0, 16, 0, 7, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 165, 0,
- 0, 7, 50, 0, 16, 0,
- 0, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 240, 17, 0, 0, 0,
- 0, 0, 30, 0, 0, 7,
- 18, 0, 16, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 34, 0,
- 16, 0, 0, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 80, 0,
- 0, 7, 66, 0, 16, 0,
- 0, 0, 0, 0, 1, 64,
- 0, 0, 183, 7, 0, 0,
- 26, 0, 16, 0, 0, 0,
- 0, 0, 31, 0, 4, 3,
- 42, 0, 16, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 66, 0, 16, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 4, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 4, 18, 0,
- 16, 0, 1, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 130, 0, 16, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 1, 0, 0, 0, 26, 0,
- 16, 0, 0, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 0, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 1, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 2, 0, 0, 0,
- 58, 0, 16, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 238,
- 17, 0, 0, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 1, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 2, 0, 0, 0,
- 30, 0, 0, 10, 242, 0,
- 16, 0, 1, 0, 0, 0,
- 6, 0, 16, 0, 1, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 4, 0, 0, 183, 7,
- 0, 0, 110, 15, 0, 0,
- 37, 23, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 1, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 2, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 1, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 2, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 58, 0,
- 16, 0, 1, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 2, 0, 0, 0, 22, 0,
- 0, 1, 59, 0, 0, 4,
- 34, 0, 16, 0, 0, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 0, 0, 7, 34, 0,
- 16, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 3, 0, 0, 0, 79, 0,
- 0, 9, 242, 0, 16, 0,
- 1, 0, 0, 0, 6, 32,
- 2, 0, 2, 64, 0, 0,
- 192, 0, 0, 0, 176, 0,
- 0, 0, 3, 0, 0, 0,
- 0, 2, 0, 0, 1, 0,
- 0, 9, 242, 0, 16, 0,
- 2, 0, 0, 0, 6, 32,
- 2, 0, 2, 64, 0, 0,
- 32, 0, 0, 0, 31, 0,
- 0, 0, 1, 0, 0, 0,
- 2, 0, 0, 0, 55, 0,
- 0, 9, 66, 0, 16, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 2, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 191, 1, 64, 0, 0,
- 0, 0, 128, 63, 30, 0,
- 0, 9, 242, 0, 16, 0,
- 3, 0, 0, 0, 6, 32,
- 2, 0, 2, 64, 0, 0,
- 16, 0, 0, 0, 8, 0,
- 0, 0, 4, 0, 0, 0,
- 2, 0, 0, 0, 32, 0,
- 0, 7, 130, 0, 16, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 2, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 7,
- 130, 0, 16, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 1, 0, 0, 0,
- 85, 0, 0, 9, 50, 0,
- 16, 0, 4, 0, 0, 0,
- 6, 32, 2, 0, 2, 64,
- 0, 0, 6, 0, 0, 0,
- 5, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 41, 0, 0, 7, 18, 0,
- 16, 0, 2, 0, 0, 0,
- 26, 0, 16, 0, 4, 0,
- 0, 0, 1, 64, 0, 0,
- 2, 0, 0, 0, 41, 0,
- 0, 6, 66, 0, 16, 0,
- 4, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 4, 0, 0, 0, 42, 0,
- 16, 0, 4, 0, 0, 0,
- 1, 64, 0, 0, 76, 0,
- 0, 0, 30, 0, 0, 10,
- 82, 0, 16, 0, 2, 0,
- 0, 0, 6, 2, 16, 0,
- 2, 0, 0, 0, 2, 64,
- 0, 0, 76, 0, 0, 0,
- 0, 0, 0, 0, 255, 255,
- 255, 255, 0, 0, 0, 0,
- 39, 0, 0, 7, 130, 0,
- 16, 0, 2, 0, 0, 0,
- 58, 0, 16, 0, 2, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 32, 0,
- 0, 7, 130, 0, 16, 0,
- 2, 0, 0, 0, 58, 0,
- 16, 0, 2, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 9,
- 114, 0, 16, 0, 5, 0,
- 0, 0, 6, 32, 2, 0,
- 2, 64, 0, 0, 4, 0,
- 0, 0, 8, 0, 0, 0,
- 224, 3, 0, 0, 0, 0,
- 0, 0, 39, 0, 0, 10,
- 50, 0, 16, 0, 5, 0,
- 0, 0, 70, 0, 16, 0,
- 5, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 32, 0, 0, 10, 50, 0,
- 16, 0, 5, 0, 0, 0,
- 70, 0, 16, 0, 5, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 9, 242, 0, 16, 0,
- 6, 0, 0, 0, 6, 32,
- 2, 0, 2, 64, 0, 0,
- 1, 0, 0, 0, 16, 4,
- 0, 0, 16, 12, 0, 0,
- 8, 4, 0, 0, 79, 0,
- 0, 10, 242, 0, 16, 0,
- 7, 0, 0, 0, 86, 5,
- 16, 0, 2, 0, 0, 0,
- 2, 64, 0, 0, 16, 0,
- 0, 0, 8, 0, 0, 0,
- 4, 0, 0, 0, 2, 0,
- 0, 0, 79, 0, 0, 7,
- 130, 0, 16, 0, 4, 0,
- 0, 0, 26, 0, 16, 0,
- 2, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 30, 0, 0, 9, 242, 0,
- 16, 0, 8, 0, 0, 0,
- 6, 32, 2, 0, 2, 64,
- 0, 0, 8, 12, 0, 0,
- 4, 4, 0, 0, 4, 12,
- 0, 0, 2, 4, 0, 0,
- 30, 0, 0, 10, 242, 0,
- 16, 0, 9, 0, 0, 0,
- 70, 14, 16, 0, 3, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 8, 0, 0, 0, 8,
- 0, 0, 0, 8, 0, 0,
- 0, 8, 0, 0, 30, 0,
- 0, 10, 114, 0, 16, 0,
- 10, 0, 0, 0, 166, 10,
- 16, 0, 5, 0, 0, 0,
- 2, 64, 0, 0, 0, 4,
- 0, 0, 0, 8, 0, 0,
- 0, 12, 0, 0, 0, 0,
- 0, 0, 30, 0, 0, 10,
- 50, 0, 16, 0, 11, 0,
- 0, 0, 86, 5, 16, 0,
- 4, 0, 0, 0, 2, 64,
- 0, 0, 1, 0, 0, 0,
- 1, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 140, 0, 0, 19, 242, 0,
- 16, 0, 12, 0, 0, 0,
- 2, 64, 0, 0, 10, 0,
- 0, 0, 11, 0, 0, 0,
- 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 5, 0, 0, 0, 6, 32,
- 2, 0, 2, 64, 0, 0,
- 0, 4, 0, 0, 0, 8,
- 0, 0, 0, 12, 0, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 82, 0, 16, 0,
- 11, 0, 0, 0, 6, 1,
- 16, 0, 11, 0, 0, 0,
- 246, 15, 16, 0, 12, 0,
- 0, 0, 30, 0, 0, 9,
- 242, 0, 16, 0, 13, 0,
- 0, 0, 6, 32, 2, 0,
- 2, 64, 0, 0, 2, 12,
- 0, 0, 1, 4, 0, 0,
- 1, 12, 0, 0, 2, 2,
- 0, 0, 30, 0, 0, 10,
- 50, 0, 16, 0, 14, 0,
- 0, 0, 6, 0, 16, 0,
- 6, 0, 0, 0, 2, 64,
- 0, 0, 0, 8, 0, 0,
- 0, 16, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 30, 0, 0, 6, 130, 0,
- 16, 0, 5, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 16, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 10, 0, 0, 0,
- 58, 0, 16, 0, 13, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 16, 0, 0, 30, 0,
- 0, 9, 242, 0, 16, 0,
- 15, 0, 0, 0, 6, 32,
- 2, 0, 2, 64, 0, 0,
- 1, 16, 0, 0, 0, 2,
- 0, 0, 2, 18, 0, 0,
- 253, 15, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 11, 0, 0, 0, 26, 0,
- 16, 0, 15, 0, 0, 0,
- 1, 64, 0, 0, 0, 16,
- 0, 0, 80, 0, 0, 9,
- 242, 0, 16, 0, 16, 0,
- 0, 0, 6, 32, 2, 0,
- 2, 64, 0, 0, 1, 0,
- 0, 0, 2, 0, 0, 0,
- 4, 0, 0, 0, 8, 0,
- 0, 0, 30, 0, 0, 9,
- 242, 0, 16, 0, 17, 0,
- 0, 0, 6, 32, 2, 0,
- 2, 64, 0, 0, 250, 1,
- 0, 0, 241, 15, 0, 0,
- 226, 1, 0, 0, 193, 15,
- 0, 0, 30, 0, 0, 10,
- 194, 0, 16, 0, 14, 0,
- 0, 0, 6, 8, 16, 0,
- 17, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 16,
- 0, 0, 0, 16, 0, 0,
- 80, 0, 0, 9, 242, 0,
- 16, 0, 18, 0, 0, 0,
- 6, 32, 2, 0, 2, 64,
- 0, 0, 16, 0, 0, 0,
- 32, 0, 0, 0, 64, 0,
- 0, 0, 128, 0, 0, 0,
- 30, 0, 0, 9, 82, 0,
- 16, 0, 17, 0, 0, 0,
- 6, 32, 2, 0, 2, 64,
- 0, 0, 130, 1, 0, 0,
- 0, 0, 0, 0, 1, 15,
- 0, 0, 0, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 12, 0, 0, 0,
- 10, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 16, 0, 0, 80, 0,
- 0, 6, 130, 0, 16, 0,
- 13, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 1, 0, 0, 30, 0,
- 0, 10, 82, 0, 16, 0,
- 11, 0, 0, 0, 6, 2,
- 16, 0, 11, 0, 0, 0,
- 2, 64, 0, 0, 0, 16,
- 0, 0, 0, 0, 0, 0,
- 0, 16, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 5,
- 34, 0, 16, 0, 15, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 48, 0,
- 0, 1, 165, 0, 0, 7,
- 18, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 16, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 80, 0, 0, 7, 18, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 15, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 3, 0,
- 4, 3, 10, 0, 16, 0,
- 19, 0, 0, 0, 86, 0,
- 0, 5, 18, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 15, 0, 0, 0,
- 0, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 86, 0,
- 0, 5, 18, 0, 16, 0,
- 17, 0, 0, 0, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 14, 0, 0, 7, 18, 0,
- 16, 0, 17, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 31, 0,
- 0, 2, 10, 32, 2, 0,
- 165, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 12, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 15, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 35, 3, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 20, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 2, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 3, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 21, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 16, 0, 0, 0, 70, 126,
- 16, 0, 2, 0, 0, 0,
- 167, 0, 0, 139, 2, 35,
- 3, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 22, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 32, 0, 0, 0,
- 70, 126, 16, 0, 2, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 35, 3, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 23, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 48, 0,
- 0, 0, 70, 126, 16, 0,
- 2, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 3, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 24, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 64, 0, 0, 0, 70, 126,
- 16, 0, 2, 0, 0, 0,
- 167, 0, 0, 139, 2, 35,
- 3, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 25, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 80, 0, 0, 0,
- 70, 126, 16, 0, 2, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 35, 3, 128, 131, 153,
- 25, 0, 34, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 96, 0,
- 0, 0, 6, 112, 16, 0,
- 2, 0, 0, 0, 166, 0,
- 0, 7, 242, 240, 17, 0,
- 2, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 14, 16, 0, 20, 0,
- 0, 0, 166, 0, 0, 7,
- 242, 240, 17, 0, 2, 0,
- 0, 0, 1, 64, 0, 0,
- 16, 0, 0, 0, 70, 14,
- 16, 0, 21, 0, 0, 0,
- 166, 0, 0, 7, 242, 240,
- 17, 0, 2, 0, 0, 0,
- 1, 64, 0, 0, 32, 0,
- 0, 0, 70, 14, 16, 0,
- 22, 0, 0, 0, 166, 0,
- 0, 7, 242, 240, 17, 0,
- 2, 0, 0, 0, 1, 64,
- 0, 0, 48, 0, 0, 0,
- 70, 14, 16, 0, 23, 0,
- 0, 0, 166, 0, 0, 7,
- 242, 240, 17, 0, 2, 0,
- 0, 0, 1, 64, 0, 0,
- 64, 0, 0, 0, 70, 14,
- 16, 0, 24, 0, 0, 0,
- 166, 0, 0, 7, 242, 240,
- 17, 0, 2, 0, 0, 0,
- 1, 64, 0, 0, 80, 0,
- 0, 0, 70, 14, 16, 0,
- 25, 0, 0, 0, 166, 0,
- 0, 7, 18, 240, 17, 0,
- 2, 0, 0, 0, 1, 64,
- 0, 0, 96, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 165, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 114, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 12, 0, 0, 0, 70, 242,
- 17, 0, 2, 0, 0, 0,
- 165, 0, 0, 7, 242, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 60, 0,
- 0, 0, 70, 254, 17, 0,
- 2, 0, 0, 0, 165, 0,
- 0, 7, 242, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 24, 0, 0, 0,
- 70, 254, 17, 0, 2, 0,
- 0, 0, 165, 0, 0, 7,
- 242, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 76, 0, 0, 0, 70, 254,
- 17, 0, 2, 0, 0, 0,
- 165, 0, 0, 7, 242, 0,
- 16, 0, 24, 0, 0, 0,
- 1, 64, 0, 0, 40, 0,
- 0, 0, 70, 254, 17, 0,
- 2, 0, 0, 0, 165, 0,
- 0, 7, 194, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 92, 0, 0, 0,
- 6, 244, 17, 0, 2, 0,
- 0, 0, 165, 0, 0, 7,
- 130, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 56, 0, 0, 0, 6, 240,
- 17, 0, 2, 0, 0, 0,
- 165, 0, 0, 7, 242, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 12, 0,
- 0, 0, 70, 254, 17, 0,
- 2, 0, 0, 0, 165, 0,
- 0, 7, 18, 0, 16, 0,
- 26, 0, 0, 0, 1, 64,
- 0, 0, 36, 0, 0, 0,
- 6, 240, 17, 0, 2, 0,
- 0, 0, 165, 0, 0, 7,
- 34, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 48, 0, 0, 0, 6, 240,
- 17, 0, 2, 0, 0, 0,
- 54, 0, 0, 4, 66, 0,
- 16, 0, 26, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 42, 0, 16, 0,
- 26, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 27, 0, 0, 0,
- 42, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 10, 242, 0,
- 16, 0, 28, 0, 0, 0,
- 166, 10, 16, 0, 26, 0,
- 0, 0, 2, 64, 0, 0,
- 183, 7, 0, 0, 110, 15,
- 0, 0, 37, 23, 0, 0,
- 0, 4, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 27, 0, 0, 0, 10, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 26, 0, 0, 0, 42, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 27, 0, 0, 0, 10, 0,
- 16, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 26, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 238, 17, 0,
- 0, 0, 0, 0, 24, 0,
- 0, 7, 18, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 55, 0, 0, 9,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 10, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 49, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 0, 0, 0, 7, 50, 0,
- 16, 0, 30, 0, 0, 0,
- 70, 0, 16, 0, 20, 0,
- 0, 0, 70, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 50, 0, 16, 0,
- 30, 0, 0, 0, 6, 0,
- 16, 0, 27, 0, 0, 0,
- 198, 0, 16, 0, 21, 0,
- 0, 0, 70, 0, 16, 0,
- 30, 0, 0, 0, 50, 0,
- 0, 9, 50, 0, 16, 0,
- 30, 0, 0, 0, 6, 0,
- 16, 0, 29, 0, 0, 0,
- 198, 0, 16, 0, 22, 0,
- 0, 0, 70, 0, 16, 0,
- 30, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 29, 0, 0, 0, 26, 0,
- 16, 0, 27, 0, 0, 0,
- 26, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 30, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 29, 0, 0, 0, 26, 0,
- 16, 0, 29, 0, 0, 0,
- 26, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 29, 0, 0, 0, 42, 0,
- 16, 0, 27, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 50, 0,
- 0, 9, 18, 0, 16, 0,
- 31, 0, 0, 0, 42, 0,
- 16, 0, 29, 0, 0, 0,
- 42, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 29, 0, 0, 0, 26, 0,
- 16, 0, 27, 0, 0, 0,
- 10, 0, 16, 0, 23, 0,
- 0, 0, 26, 0, 16, 0,
- 30, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 29, 0, 0, 0, 26, 0,
- 16, 0, 29, 0, 0, 0,
- 10, 0, 16, 0, 24, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 29, 0, 0, 0, 42, 0,
- 16, 0, 27, 0, 0, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 50, 0,
- 0, 9, 34, 0, 16, 0,
- 31, 0, 0, 0, 42, 0,
- 16, 0, 29, 0, 0, 0,
- 26, 0, 16, 0, 24, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 42, 0, 16, 0, 27, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 10, 0, 16, 0,
- 27, 0, 0, 0, 42, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 10, 0, 16, 0,
- 29, 0, 0, 0, 42, 0,
- 16, 0, 24, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 26, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 26, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 24, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 42, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 18, 0, 0, 1,
- 0, 0, 0, 8, 50, 0,
- 16, 0, 29, 0, 0, 0,
- 70, 0, 16, 0, 27, 0,
- 0, 0, 70, 0, 16, 128,
- 65, 0, 0, 0, 29, 0,
- 0, 0, 50, 0, 0, 9,
- 18, 0, 16, 0, 29, 0,
- 0, 0, 10, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 10, 0, 16, 0, 25, 0,
- 0, 0, 0, 0, 0, 7,
- 18, 0, 16, 0, 31, 0,
- 0, 0, 10, 0, 16, 0,
- 27, 0, 0, 0, 10, 0,
- 16, 0, 29, 0, 0, 0,
- 50, 0, 0, 9, 18, 0,
- 16, 0, 29, 0, 0, 0,
- 26, 0, 16, 0, 29, 0,
- 0, 0, 10, 0, 16, 0,
- 26, 0, 0, 0, 26, 0,
- 16, 0, 25, 0, 0, 0,
- 0, 0, 0, 7, 34, 0,
- 16, 0, 31, 0, 0, 0,
- 26, 0, 16, 0, 27, 0,
- 0, 0, 10, 0, 16, 0,
- 29, 0, 0, 0, 0, 0,
- 0, 8, 18, 0, 16, 0,
- 29, 0, 0, 0, 42, 0,
- 16, 0, 27, 0, 0, 0,
- 42, 0, 16, 128, 65, 0,
- 0, 0, 29, 0, 0, 0,
- 50, 0, 0, 9, 18, 0,
- 16, 0, 29, 0, 0, 0,
- 10, 0, 16, 0, 29, 0,
- 0, 0, 26, 0, 16, 0,
- 26, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 42, 0, 16, 0, 27, 0,
- 0, 0, 10, 0, 16, 0,
- 29, 0, 0, 0, 21, 0,
- 0, 1, 165, 0, 0, 7,
- 114, 0, 16, 0, 29, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 242,
- 17, 0, 2, 0, 0, 0,
- 0, 0, 0, 7, 114, 0,
- 16, 0, 27, 0, 0, 0,
- 70, 2, 16, 0, 27, 0,
- 0, 0, 70, 2, 16, 0,
- 29, 0, 0, 0, 18, 0,
- 0, 1, 54, 0, 0, 5,
- 50, 0, 16, 0, 31, 0,
- 0, 0, 70, 0, 16, 0,
- 27, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 29, 0, 0, 0, 42, 0,
- 16, 0, 27, 0, 0, 0,
- 21, 0, 0, 1, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 31, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 31, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 168, 0,
- 0, 9, 114, 224, 17, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 2, 16, 0,
- 27, 0, 0, 0, 54, 0,
- 0, 5, 66, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 22, 0, 0, 1, 165, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 44, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 190, 24, 0, 1,
- 165, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 8, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 56, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 55, 0, 0, 9,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 41, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 2, 0, 0, 0, 54, 0,
- 0, 4, 34, 0, 16, 0,
- 20, 0, 0, 0, 10, 32,
- 2, 0, 48, 0, 0, 1,
- 80, 0, 0, 7, 66, 0,
- 16, 0, 20, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 3, 0,
- 4, 3, 42, 0, 16, 0,
- 20, 0, 0, 0, 85, 0,
- 0, 7, 66, 0, 16, 0,
- 20, 0, 0, 0, 26, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 2, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 10,
- 114, 0, 16, 0, 22, 0,
- 0, 0, 166, 10, 16, 0,
- 20, 0, 0, 0, 2, 64,
- 0, 0, 183, 7, 0, 0,
- 110, 15, 0, 0, 37, 23,
- 0, 0, 0, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 21, 0, 0, 0,
- 26, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 42, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 20, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 20, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 13, 0, 0, 0, 50, 0,
- 0, 9, 242, 0, 16, 0,
- 21, 0, 0, 0, 70, 14,
- 16, 0, 23, 0, 0, 0,
- 166, 10, 16, 0, 19, 0,
- 0, 0, 70, 14, 16, 0,
- 21, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 21, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 21, 0,
- 0, 1, 30, 0, 0, 7,
- 34, 0, 16, 0, 20, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 4, 0, 0,
- 22, 0, 0, 1, 190, 24,
- 0, 1, 165, 0, 0, 7,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 28, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 39, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 255, 255, 31, 0,
- 4, 3, 26, 0, 16, 0,
- 19, 0, 0, 0, 165, 0,
- 0, 7, 98, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 36, 0, 0, 0,
- 6, 241, 17, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 114, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 24, 0, 0, 0, 70, 242,
- 17, 0, 1, 0, 0, 0,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 4, 130, 0, 16, 0,
- 20, 0, 0, 0, 10, 32,
- 2, 0, 48, 0, 0, 1,
- 80, 0, 0, 7, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 3, 0,
- 4, 3, 10, 0, 16, 0,
- 21, 0, 0, 0, 30, 0,
- 0, 7, 50, 0, 16, 0,
- 21, 0, 0, 0, 246, 15,
- 16, 0, 20, 0, 0, 0,
- 150, 5, 16, 0, 20, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 11, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 21, 0, 0, 0,
- 26, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 126,
- 16, 0, 11, 0, 0, 0,
- 0, 0, 0, 8, 242, 0,
- 16, 0, 21, 0, 0, 0,
- 70, 14, 16, 128, 65, 0,
- 0, 0, 22, 0, 0, 0,
- 70, 14, 16, 0, 21, 0,
- 0, 0, 50, 0, 0, 9,
- 242, 0, 16, 0, 21, 0,
- 0, 0, 70, 14, 16, 0,
- 21, 0, 0, 0, 6, 0,
- 16, 0, 17, 0, 0, 0,
- 70, 14, 16, 0, 22, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 10,
- 242, 0, 16, 0, 23, 0,
- 0, 0, 246, 15, 16, 0,
- 20, 0, 0, 0, 2, 64,
- 0, 0, 183, 7, 0, 0,
- 110, 15, 0, 0, 37, 23,
- 0, 0, 0, 4, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 22, 0, 0, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 42, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 21, 0, 0, 0,
- 70, 2, 16, 0, 21, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 22, 0,
- 0, 0, 16, 0, 0, 7,
- 18, 0, 16, 0, 24, 0,
- 0, 0, 70, 2, 16, 0,
- 21, 0, 0, 0, 70, 2,
- 16, 0, 21, 0, 0, 0,
- 0, 0, 0, 7, 18, 0,
- 16, 0, 24, 0, 0, 0,
- 10, 0, 16, 0, 24, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 50, 0,
- 0, 11, 130, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 26, 0, 16, 128, 65, 0,
- 0, 0, 19, 0, 0, 0,
- 42, 0, 16, 128, 65, 0,
- 0, 0, 19, 0, 0, 0,
- 51, 0, 0, 7, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 68, 0,
- 0, 5, 18, 0, 16, 0,
- 24, 0, 0, 0, 10, 0,
- 16, 0, 24, 0, 0, 0,
- 50, 0, 0, 9, 18, 0,
- 16, 0, 24, 0, 0, 0,
- 58, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 24, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 52, 0, 0, 7, 18, 0,
- 16, 0, 24, 0, 0, 0,
- 10, 0, 16, 0, 24, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 56, 0,
- 0, 7, 18, 0, 16, 0,
- 24, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 0, 16, 0, 24, 0,
- 0, 0, 50, 0, 0, 9,
- 114, 0, 16, 0, 21, 0,
- 0, 0, 6, 0, 16, 0,
- 24, 0, 0, 0, 70, 2,
- 16, 0, 21, 0, 0, 0,
- 70, 2, 16, 0, 22, 0,
- 0, 0, 29, 0, 0, 7,
- 130, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 55, 0, 0, 9, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 58, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 21, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 22, 0, 0, 1,
- 21, 0, 0, 1, 165, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 20, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 24, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 24, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 32, 0,
- 0, 7, 18, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 60, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 31, 0, 0, 3, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 86, 0,
- 0, 5, 18, 0, 16, 0,
- 20, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 56, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 86, 0,
- 0, 5, 18, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 14, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 165, 0,
- 0, 7, 50, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 28, 0, 0, 0,
- 70, 240, 17, 0, 0, 0,
- 0, 0, 54, 0, 0, 4,
- 66, 0, 16, 0, 20, 0,
- 0, 0, 10, 32, 2, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 130, 0, 16, 0,
- 20, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 3, 0, 4, 3,
- 58, 0, 16, 0, 20, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 20, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 10,
- 242, 0, 16, 0, 21, 0,
- 0, 0, 166, 10, 16, 0,
- 20, 0, 0, 0, 2, 64,
- 0, 0, 183, 7, 0, 0,
- 110, 15, 0, 0, 37, 23,
- 0, 0, 0, 4, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 22, 0, 0, 0,
- 26, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 22, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 54, 0, 0, 8, 114, 0,
- 16, 0, 23, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 112,
- 16, 0, 5, 0, 0, 0,
- 1, 0, 0, 7, 18, 0,
- 16, 0, 24, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 24, 0, 0, 0, 10, 0,
- 16, 0, 24, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 10, 82, 0, 16, 0,
- 24, 0, 0, 0, 6, 0,
- 16, 0, 24, 0, 0, 0,
- 2, 64, 0, 0, 183, 7,
- 0, 0, 0, 0, 0, 0,
- 110, 15, 0, 0, 0, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 24, 0,
- 0, 0, 10, 0, 16, 0,
- 24, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 24, 0,
- 0, 0, 42, 0, 16, 0,
- 24, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 0, 0, 0, 8,
- 34, 0, 16, 0, 24, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 20, 0,
- 0, 0, 26, 0, 16, 0,
- 24, 0, 0, 0, 0, 0,
- 0, 8, 82, 0, 16, 0,
- 24, 0, 0, 0, 6, 1,
- 16, 128, 65, 0, 0, 0,
- 22, 0, 0, 0, 6, 2,
- 16, 0, 24, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 24, 0, 0, 0,
- 26, 0, 16, 0, 24, 0,
- 0, 0, 26, 0, 16, 0,
- 24, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 24, 0, 0, 0,
- 10, 0, 16, 0, 24, 0,
- 0, 0, 10, 0, 16, 0,
- 24, 0, 0, 0, 58, 0,
- 16, 0, 24, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 24, 0, 0, 0,
- 42, 0, 16, 0, 24, 0,
- 0, 0, 42, 0, 16, 0,
- 24, 0, 0, 0, 58, 0,
- 16, 0, 24, 0, 0, 0,
- 85, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 16, 0, 0, 0, 86, 0,
- 0, 5, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 24, 0, 0, 0, 58, 0,
- 16, 0, 24, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 24, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 49, 0,
- 0, 7, 130, 0, 16, 0,
- 24, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 50, 0, 0, 9,
- 18, 0, 16, 0, 25, 0,
- 0, 0, 26, 0, 16, 0,
- 24, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 0, 16, 0, 23, 0,
- 0, 0, 50, 0, 0, 9,
- 34, 0, 16, 0, 25, 0,
- 0, 0, 10, 0, 16, 0,
- 24, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 50, 0, 0, 9,
- 66, 0, 16, 0, 25, 0,
- 0, 0, 42, 0, 16, 0,
- 24, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 42, 0, 16, 0, 23, 0,
- 0, 0, 55, 0, 0, 9,
- 114, 0, 16, 0, 23, 0,
- 0, 0, 246, 15, 16, 0,
- 24, 0, 0, 0, 70, 2,
- 16, 0, 25, 0, 0, 0,
- 70, 2, 16, 0, 23, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 22, 0, 0, 1, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 50, 0,
- 0, 9, 18, 0, 16, 0,
- 22, 0, 0, 0, 26, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 22, 0, 0, 0, 50, 0,
- 0, 9, 34, 0, 16, 0,
- 22, 0, 0, 0, 42, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 22, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 22, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 22, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 22, 0, 0, 0, 54, 0,
- 0, 5, 66, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 22, 0, 0, 1, 21, 0,
- 0, 1, 54, 0, 0, 5,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 48, 0,
- 0, 1, 165, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 8, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 80, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 3, 0,
- 4, 3, 42, 0, 16, 0,
- 19, 0, 0, 0, 165, 0,
- 0, 7, 114, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 12, 0, 0, 0,
- 70, 242, 17, 0, 0, 0,
- 0, 0, 30, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 167, 0, 0, 139, 2, 195,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 21, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 3, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 195, 0, 128, 131, 153,
- 25, 0, 194, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 16, 0,
- 0, 0, 6, 116, 16, 0,
- 3, 0, 0, 0, 165, 0,
- 0, 7, 18, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 108, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 56, 0, 0, 7,
- 50, 0, 16, 0, 21, 0,
- 0, 0, 6, 0, 16, 0,
- 20, 0, 0, 0, 70, 0,
- 16, 0, 21, 0, 0, 0,
- 25, 0, 0, 5, 50, 0,
- 16, 0, 21, 0, 0, 0,
- 70, 0, 16, 0, 21, 0,
- 0, 0, 0, 0, 0, 11,
- 50, 0, 16, 0, 21, 0,
- 0, 0, 70, 0, 16, 128,
- 65, 0, 0, 0, 21, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 20, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 39, 0, 0, 7,
- 66, 0, 16, 0, 20, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 20, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 20, 0,
- 0, 0, 190, 24, 0, 1,
- 54, 0, 0, 4, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 18, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 10, 0,
- 16, 0, 22, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 20, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 167, 0,
- 0, 139, 2, 67, 0, 128,
- 131, 153, 25, 0, 50, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 112,
- 16, 0, 4, 0, 0, 0,
- 1, 0, 0, 7, 66, 0,
- 16, 0, 22, 0, 0, 0,
- 26, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 0, 0, 85, 0,
- 0, 7, 34, 0, 16, 0,
- 22, 0, 0, 0, 26, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 16, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 42, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 10,
- 114, 0, 16, 0, 24, 0,
- 0, 0, 166, 10, 16, 0,
- 22, 0, 0, 0, 2, 64,
- 0, 0, 183, 7, 0, 0,
- 110, 15, 0, 0, 37, 23,
- 0, 0, 0, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 0, 16, 0, 24, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 24, 0, 0, 0,
- 26, 0, 16, 0, 24, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 25, 0, 0, 0,
- 42, 0, 16, 0, 24, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 10, 114, 0,
- 16, 0, 26, 0, 0, 0,
- 86, 5, 16, 0, 22, 0,
- 0, 0, 2, 64, 0, 0,
- 183, 7, 0, 0, 110, 15,
- 0, 0, 37, 23, 0, 0,
- 0, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 25, 0, 0, 0, 10, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 25, 0, 0, 0, 26, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 26, 0, 0, 0, 42, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 0, 0,
- 0, 8, 18, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 22, 0, 0, 0, 26, 0,
- 16, 0, 25, 0, 0, 0,
- 0, 0, 0, 8, 34, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 23, 0, 0, 0,
- 42, 0, 16, 0, 25, 0,
- 0, 0, 0, 0, 0, 8,
- 66, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 24, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 27, 0, 0, 0, 10, 0,
- 16, 0, 27, 0, 0, 0,
- 10, 0, 16, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 27, 0, 0, 0,
- 26, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 27, 0, 0, 0, 42, 0,
- 16, 0, 27, 0, 0, 0,
- 42, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 49, 0,
- 0, 7, 18, 0, 16, 0,
- 28, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 10, 0, 16, 0, 22, 0,
- 0, 0, 68, 0, 0, 5,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 18, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 191, 1, 0,
- 0, 7, 18, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 0, 16, 0, 28, 0,
- 0, 0, 51, 0, 0, 8,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 128, 65, 0, 0, 0,
- 22, 0, 0, 0, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 27, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 50, 0, 0, 9,
- 18, 0, 16, 0, 22, 0,
- 0, 0, 26, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 10, 0, 16, 0, 22, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 167, 0, 0, 139, 2, 35,
- 0, 128, 131, 153, 25, 0,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 112, 16, 0, 16, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 25, 0, 0, 5, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 55, 0,
- 0, 9, 130, 0, 16, 0,
- 27, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 56, 0,
- 0, 7, 18, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 0, 0, 0, 7,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 14, 0,
- 0, 7, 18, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 56, 0, 0, 8,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 10, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 128, 65, 0, 0, 0,
- 25, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 10, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 26, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 24, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 42, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 24, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 24, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 24, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 24, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 24, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 56, 0,
- 0, 7, 18, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 50, 0, 0, 9,
- 66, 0, 16, 0, 22, 0,
- 0, 0, 10, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 27, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 10, 0, 16, 0,
- 22, 0, 0, 0, 26, 0,
- 16, 0, 27, 0, 0, 0,
- 42, 0, 16, 0, 25, 0,
- 0, 0, 50, 0, 0, 9,
- 18, 0, 16, 0, 22, 0,
- 0, 0, 10, 0, 16, 0,
- 22, 0, 0, 0, 42, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 22, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 26, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 26, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 22, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 26, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 4, 0, 0,
- 22, 0, 0, 1, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 22, 0, 0, 1,
- 190, 24, 0, 1, 165, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 36, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 39, 0, 0, 7,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 31, 0, 4, 3, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 165, 0,
- 0, 7, 194, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 36, 0, 0, 0,
- 6, 244, 17, 0, 1, 0,
- 0, 0, 54, 0, 0, 4,
- 18, 0, 16, 0, 20, 0,
- 0, 0, 10, 32, 2, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 34, 0, 16, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 3, 0, 4, 3,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 30, 0, 0, 7,
- 98, 0, 16, 0, 20, 0,
- 0, 0, 166, 11, 16, 0,
- 19, 0, 0, 0, 6, 0,
- 16, 0, 20, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 21, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 12, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 22, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 12, 0, 0, 0, 0, 0,
- 0, 8, 242, 0, 16, 0,
- 22, 0, 0, 0, 70, 14,
- 16, 128, 65, 0, 0, 0,
- 21, 0, 0, 0, 70, 14,
- 16, 0, 22, 0, 0, 0,
- 50, 0, 0, 9, 242, 0,
- 16, 0, 21, 0, 0, 0,
- 70, 14, 16, 0, 22, 0,
- 0, 0, 6, 0, 16, 0,
- 17, 0, 0, 0, 70, 14,
- 16, 0, 21, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 10, 242, 0,
- 16, 0, 24, 0, 0, 0,
- 6, 0, 16, 0, 20, 0,
- 0, 0, 2, 64, 0, 0,
- 183, 7, 0, 0, 110, 15,
- 0, 0, 37, 23, 0, 0,
- 0, 4, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 24, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 22, 0, 0, 0, 26, 0,
- 16, 0, 24, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 20, 0, 0, 0, 42, 0,
- 16, 0, 24, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 21, 0, 0, 0, 70, 2,
- 16, 0, 21, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 22, 0, 0, 0,
- 16, 0, 0, 7, 66, 0,
- 16, 0, 20, 0, 0, 0,
- 70, 2, 16, 0, 21, 0,
- 0, 0, 70, 2, 16, 0,
- 21, 0, 0, 0, 0, 0,
- 0, 7, 66, 0, 16, 0,
- 20, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 68, 0, 0, 5,
- 66, 0, 16, 0, 20, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 50, 0,
- 0, 10, 66, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 21, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 51, 0, 0, 7,
- 66, 0, 16, 0, 20, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 21, 0, 0, 0,
- 166, 10, 16, 0, 20, 0,
- 0, 0, 70, 2, 16, 0,
- 21, 0, 0, 0, 70, 2,
- 16, 0, 22, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 24, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 21, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 24, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 24, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 20, 0, 0, 0,
- 54, 0, 0, 5, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 58, 0, 16, 0, 24, 0,
- 0, 0, 22, 0, 0, 1,
- 190, 24, 0, 1, 21, 0,
- 0, 1, 31, 0, 4, 3,
- 10, 0, 16, 0, 1, 0,
- 0, 0, 165, 0, 0, 7,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 30, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 255, 255, 84, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 2, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 20, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 10,
- 114, 0, 16, 0, 21, 0,
- 0, 0, 166, 10, 16, 0,
- 19, 0, 0, 0, 2, 64,
- 0, 0, 183, 7, 0, 0,
- 110, 15, 0, 0, 37, 23,
- 0, 0, 0, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 20, 0, 0, 0,
- 26, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 17, 0, 0, 8, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 70, 14, 16, 0, 20, 0,
- 0, 0, 70, 158, 144, 0,
- 10, 0, 16, 0, 4, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 4, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 48, 0,
- 0, 1, 30, 0, 0, 7,
- 18, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 32, 0, 0, 0,
- 80, 0, 0, 7, 34, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 3, 0,
- 4, 3, 26, 0, 16, 0,
- 20, 0, 0, 0, 167, 0,
- 0, 8, 34, 0, 16, 0,
- 20, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 4, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 10, 114, 0,
- 16, 0, 22, 0, 0, 0,
- 246, 15, 16, 0, 19, 0,
- 0, 0, 2, 64, 0, 0,
- 215, 7, 0, 0, 142, 15,
- 0, 0, 69, 23, 0, 0,
- 0, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 21, 0, 0, 0, 26, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 21, 0, 0, 0, 42, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 17, 0,
- 0, 8, 66, 0, 16, 0,
- 20, 0, 0, 0, 70, 14,
- 16, 0, 21, 0, 0, 0,
- 70, 158, 144, 0, 10, 0,
- 16, 0, 4, 0, 0, 0,
- 56, 0, 0, 7, 66, 0,
- 16, 0, 20, 0, 0, 0,
- 42, 0, 16, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 52, 0,
- 0, 7, 34, 0, 16, 0,
- 20, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 4, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 22, 0, 0, 1, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 26, 0,
- 16, 0, 1, 0, 0, 0,
- 167, 0, 0, 8, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 4, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 4, 0,
- 0, 0, 52, 0, 0, 7,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 4, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 26, 0, 16, 0,
- 1, 0, 0, 0, 167, 0,
- 0, 8, 34, 0, 16, 0,
- 19, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 4, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 4, 0, 0, 0,
- 52, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 4, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 26, 0, 16, 0, 1, 0,
- 0, 0, 167, 0, 0, 8,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 4, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 4, 0, 0, 0, 52, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 4, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 26, 0,
- 16, 0, 1, 0, 0, 0,
- 167, 0, 0, 8, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 4, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 4, 0,
- 0, 0, 52, 0, 0, 7,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 4, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 26, 0, 16, 0,
- 1, 0, 0, 0, 167, 0,
- 0, 8, 34, 0, 16, 0,
- 19, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 4, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 6, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 4, 0, 0, 0,
- 52, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 4, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 0, 0,
- 0, 0, 167, 0, 0, 8,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 4, 0, 0, 0, 166, 0,
- 0, 7, 18, 240, 17, 0,
- 1, 0, 0, 0, 10, 0,
- 16, 0, 2, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 165, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 16, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 86, 0, 0, 5,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 14, 0,
- 0, 7, 18, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 165, 0, 0, 7,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 60, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 31, 0, 4, 3, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 80, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 49, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 165, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 64, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 165, 0,
- 0, 7, 98, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 56, 0, 0, 0,
- 6, 241, 17, 0, 1, 0,
- 0, 0, 54, 0, 0, 4,
- 130, 0, 16, 0, 20, 0,
- 0, 0, 10, 32, 2, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 18, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 3, 0, 4, 3,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 10,
- 242, 0, 16, 0, 22, 0,
- 0, 0, 246, 15, 16, 0,
- 20, 0, 0, 0, 2, 64,
- 0, 0, 183, 7, 0, 0,
- 110, 15, 0, 0, 37, 23,
- 0, 0, 0, 4, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 21, 0, 0, 0,
- 26, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 42, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 54, 0, 0, 8, 242, 0,
- 16, 0, 24, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 18, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 10, 0,
- 16, 0, 25, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 25, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 18, 0,
- 16, 0, 25, 0, 0, 0,
- 10, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 112,
- 16, 0, 8, 0, 0, 0,
- 136, 0, 0, 5, 34, 0,
- 16, 0, 25, 0, 0, 0,
- 10, 0, 16, 0, 25, 0,
- 0, 0, 30, 0, 0, 7,
- 98, 0, 16, 0, 25, 0,
- 0, 0, 86, 6, 16, 0,
- 20, 0, 0, 0, 86, 5,
- 16, 0, 25, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 26, 0,
- 0, 0, 26, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 9, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 27, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 9, 0, 0, 0, 0, 0,
- 0, 8, 242, 0, 16, 0,
- 27, 0, 0, 0, 70, 14,
- 16, 128, 65, 0, 0, 0,
- 26, 0, 0, 0, 70, 14,
- 16, 0, 27, 0, 0, 0,
- 50, 0, 0, 9, 242, 0,
- 16, 0, 26, 0, 0, 0,
- 6, 0, 16, 0, 17, 0,
- 0, 0, 70, 14, 16, 0,
- 27, 0, 0, 0, 70, 14,
- 16, 0, 26, 0, 0, 0,
- 16, 0, 0, 7, 34, 0,
- 16, 0, 25, 0, 0, 0,
- 70, 2, 16, 0, 21, 0,
- 0, 0, 70, 2, 16, 0,
- 26, 0, 0, 0, 0, 0,
- 0, 7, 34, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 54, 0, 0, 5,
- 114, 0, 16, 0, 27, 0,
- 0, 0, 70, 2, 16, 0,
- 26, 0, 0, 0, 54, 0,
- 0, 5, 66, 0, 16, 0,
- 25, 0, 0, 0, 10, 0,
- 16, 0, 25, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 48, 0, 0, 1,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 26, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 255, 255, 1, 0, 0, 7,
- 66, 0, 16, 0, 25, 0,
- 0, 0, 42, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 39, 0, 0, 7, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 42, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 3, 0, 0, 3,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 136, 0, 0, 5,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 42, 0, 16, 0,
- 25, 0, 0, 0, 30, 0,
- 0, 7, 50, 0, 16, 0,
- 28, 0, 0, 0, 150, 5,
- 16, 0, 20, 0, 0, 0,
- 246, 15, 16, 0, 25, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 29, 0, 0, 0, 10, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 9, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 126,
- 16, 0, 9, 0, 0, 0,
- 0, 0, 0, 8, 242, 0,
- 16, 0, 28, 0, 0, 0,
- 70, 14, 16, 128, 65, 0,
- 0, 0, 29, 0, 0, 0,
- 70, 14, 16, 0, 28, 0,
- 0, 0, 50, 0, 0, 9,
- 242, 0, 16, 0, 28, 0,
- 0, 0, 6, 0, 16, 0,
- 17, 0, 0, 0, 70, 14,
- 16, 0, 28, 0, 0, 0,
- 70, 14, 16, 0, 29, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 70, 2, 16, 0,
- 21, 0, 0, 0, 70, 2,
- 16, 0, 28, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 49, 0,
- 0, 7, 130, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 55, 0, 0, 9,
- 242, 0, 16, 0, 27, 0,
- 0, 0, 246, 15, 16, 0,
- 25, 0, 0, 0, 70, 14,
- 16, 0, 28, 0, 0, 0,
- 70, 14, 16, 0, 27, 0,
- 0, 0, 22, 0, 0, 1,
- 49, 0, 0, 7, 18, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 26, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 27, 0, 0, 0, 246, 15,
- 16, 0, 27, 0, 0, 0,
- 70, 2, 16, 0, 24, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 24, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 55, 0, 0, 9, 242, 0,
- 16, 0, 24, 0, 0, 0,
- 6, 0, 16, 0, 25, 0,
- 0, 0, 70, 14, 16, 0,
- 26, 0, 0, 0, 70, 14,
- 16, 0, 24, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 22, 0,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 24, 0,
- 0, 0, 86, 0, 0, 5,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 24, 0, 0, 0, 14, 0,
- 0, 10, 130, 0, 16, 0,
- 23, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 31, 0, 4, 3,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 30, 0, 0, 7,
- 18, 0, 16, 0, 25, 0,
- 0, 0, 10, 0, 16, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 226, 0, 16, 0, 25, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 233, 17, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 18, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 80, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 16, 0, 0, 7, 34, 0,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 0, 24, 0,
- 0, 0, 70, 2, 16, 0,
- 24, 0, 0, 0, 0, 0,
- 0, 7, 66, 0, 16, 0,
- 26, 0, 0, 0, 26, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 68, 0, 0, 5,
- 66, 0, 16, 0, 26, 0,
- 0, 0, 42, 0, 16, 0,
- 26, 0, 0, 0, 56, 0,
- 0, 7, 114, 0, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 0, 24, 0, 0, 0,
- 166, 10, 16, 0, 26, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 29, 0,
- 0, 0, 70, 2, 16, 0,
- 21, 0, 0, 0, 150, 7,
- 16, 128, 65, 0, 0, 0,
- 25, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 26, 0, 0, 0, 70, 2,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 28, 0,
- 0, 0, 50, 0, 0, 10,
- 114, 0, 16, 0, 28, 0,
- 0, 0, 246, 15, 16, 128,
- 65, 0, 0, 0, 26, 0,
- 0, 0, 70, 2, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 0, 29, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 0, 28, 0,
- 0, 0, 70, 2, 16, 0,
- 28, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 68, 0, 0, 5,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 56, 0,
- 0, 8, 18, 0, 16, 0,
- 26, 0, 0, 0, 26, 0,
- 16, 0, 26, 0, 0, 0,
- 10, 0, 16, 128, 65, 0,
- 0, 0, 26, 0, 0, 0,
- 56, 0, 0, 7, 18, 0,
- 16, 0, 26, 0, 0, 0,
- 42, 0, 16, 0, 26, 0,
- 0, 0, 10, 0, 16, 0,
- 26, 0, 0, 0, 56, 0,
- 0, 7, 18, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 0, 16, 0, 26, 0,
- 0, 0, 56, 0, 0, 7,
- 18, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 10, 0,
- 16, 0, 26, 0, 0, 0,
- 52, 0, 0, 7, 18, 0,
- 16, 0, 26, 0, 0, 0,
- 10, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 191, 50, 0,
- 0, 10, 226, 0, 16, 0,
- 25, 0, 0, 0, 6, 9,
- 16, 128, 65, 0, 0, 0,
- 28, 0, 0, 0, 6, 0,
- 16, 0, 26, 0, 0, 0,
- 86, 14, 16, 0, 25, 0,
- 0, 0, 168, 0, 0, 9,
- 114, 224, 17, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 150, 7, 16, 0, 25, 0,
- 0, 0, 21, 0, 0, 1,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 21, 0, 0, 0,
- 70, 2, 16, 0, 24, 0,
- 0, 0, 246, 15, 16, 0,
- 23, 0, 0, 0, 70, 2,
- 16, 0, 21, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 58, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 21, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 21, 0, 0, 1, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 22, 0, 0, 1, 21, 0,
- 0, 1, 27, 0, 0, 5,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 20, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 10, 114, 0, 16, 0,
- 21, 0, 0, 0, 86, 5,
- 16, 0, 19, 0, 0, 0,
- 2, 64, 0, 0, 183, 7,
- 0, 0, 110, 15, 0, 0,
- 37, 23, 0, 0, 0, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 20, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 20, 0,
- 0, 0, 26, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 165, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 68, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 64, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 54, 0,
- 0, 8, 114, 0, 16, 0,
- 22, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 54, 0, 0, 8, 50, 0,
- 16, 0, 25, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 255, 255, 127, 127,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 35, 0, 0, 9, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 3, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 167, 0, 0, 139, 2, 99,
- 0, 128, 131, 153, 25, 0,
- 114, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 114, 16, 0, 10, 0,
- 0, 0, 30, 0, 0, 10,
- 194, 0, 16, 0, 25, 0,
- 0, 0, 246, 15, 16, 0,
- 22, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0,
- 0, 0, 2, 0, 0, 0,
- 167, 0, 0, 139, 2, 99,
- 0, 128, 131, 153, 25, 0,
- 114, 0, 16, 0, 28, 0,
- 0, 0, 42, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 114, 16, 0, 10, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 99, 0, 128, 131, 153,
- 25, 0, 114, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 114, 16, 0,
- 10, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 26, 0, 0, 0, 70, 2,
- 16, 0, 28, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 26, 0, 0, 0,
- 70, 2, 16, 0, 29, 0,
- 0, 0, 56, 0, 0, 7,
- 114, 0, 16, 0, 30, 0,
- 0, 0, 38, 9, 16, 0,
- 28, 0, 0, 0, 150, 4,
- 16, 0, 29, 0, 0, 0,
- 50, 0, 0, 10, 114, 0,
- 16, 0, 30, 0, 0, 0,
- 150, 4, 16, 0, 28, 0,
- 0, 0, 38, 9, 16, 0,
- 29, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 30, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 70, 2,
- 16, 0, 30, 0, 0, 0,
- 70, 2, 16, 0, 30, 0,
- 0, 0, 68, 0, 0, 5,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 56, 0,
- 0, 7, 114, 0, 16, 0,
- 30, 0, 0, 0, 246, 15,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 30, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 70, 2, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 0, 29, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 70, 2, 16, 0, 28, 0,
- 0, 0, 70, 2, 16, 0,
- 28, 0, 0, 0, 16, 0,
- 0, 7, 66, 0, 16, 0,
- 25, 0, 0, 0, 70, 2,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 29, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 25, 0, 0, 0, 14, 0,
- 0, 10, 130, 0, 16, 0,
- 25, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 0, 0, 0, 7,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 192, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 14, 0, 0, 10, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 58, 0, 16, 0,
- 26, 0, 0, 0, 14, 0,
- 0, 10, 130, 0, 16, 0,
- 28, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 14, 0, 0, 10,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 0, 0, 128, 63, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 0, 20, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 26, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 70, 2, 16, 0,
- 26, 0, 0, 0, 70, 2,
- 16, 0, 28, 0, 0, 0,
- 16, 0, 0, 7, 18, 0,
- 16, 0, 31, 0, 0, 0,
- 70, 2, 16, 0, 26, 0,
- 0, 0, 70, 2, 16, 0,
- 29, 0, 0, 0, 16, 0,
- 0, 7, 18, 0, 16, 0,
- 32, 0, 0, 0, 70, 2,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 0, 30, 0,
- 0, 0, 56, 0, 0, 7,
- 34, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 31, 0, 0, 0,
- 50, 0, 0, 10, 34, 0,
- 16, 0, 31, 0, 0, 0,
- 42, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 26, 0,
- 16, 128, 65, 0, 0, 0,
- 31, 0, 0, 0, 56, 0,
- 0, 7, 66, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 10, 0,
- 16, 0, 31, 0, 0, 0,
- 42, 0, 16, 128, 65, 0,
- 0, 0, 31, 0, 0, 0,
- 49, 0, 0, 7, 66, 0,
- 16, 0, 31, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 56, 0,
- 0, 7, 34, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 31, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 55, 0, 0, 9, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 42, 0, 16, 0, 31, 0,
- 0, 0, 26, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 49, 0, 0, 7, 34, 0,
- 16, 0, 31, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 10, 0,
- 16, 0, 31, 0, 0, 0,
- 55, 0, 0, 9, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 49, 0,
- 0, 7, 130, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 22, 0,
- 0, 0, 42, 0, 16, 0,
- 25, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 10, 0, 16, 128,
- 65, 0, 0, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 55, 32, 0, 9,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 0, 0, 0, 8,
- 66, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 51, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 42, 0, 16, 0, 25, 0,
- 0, 0, 52, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 56, 0, 0, 7, 114, 0,
- 16, 0, 29, 0, 0, 0,
- 246, 15, 16, 0, 23, 0,
- 0, 0, 70, 2, 16, 0,
- 29, 0, 0, 0, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 0, 28, 0, 0, 0,
- 246, 15, 16, 0, 22, 0,
- 0, 0, 70, 2, 16, 0,
- 29, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 26, 0, 0, 0, 70, 2,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 28, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 26, 0,
- 0, 0, 70, 2, 16, 0,
- 26, 0, 0, 0, 49, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 10, 0,
- 16, 0, 32, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 56, 0, 0, 7,
- 66, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 71, 3, 128, 63,
- 55, 0, 0, 9, 34, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 26, 0, 16, 0, 32, 0,
- 0, 0, 26, 0, 16, 0,
- 25, 0, 0, 0, 55, 0,
- 0, 9, 114, 0, 16, 0,
- 22, 0, 0, 0, 246, 15,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 30, 0,
- 0, 0, 70, 2, 16, 0,
- 22, 0, 0, 0, 55, 0,
- 0, 9, 50, 0, 16, 0,
- 25, 0, 0, 0, 246, 15,
- 16, 0, 22, 0, 0, 0,
- 70, 0, 16, 0, 32, 0,
- 0, 0, 70, 0, 16, 0,
- 25, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 22, 0, 0, 1,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 19, 0, 0, 0, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 20, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 22, 0, 0, 0, 6, 0,
- 16, 0, 25, 0, 0, 0,
- 70, 2, 16, 0, 20, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 20, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 21, 0, 0, 1,
- 165, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 72, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 31, 0,
- 4, 3, 26, 0, 16, 0,
- 19, 0, 0, 0, 165, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 80, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 49, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 165, 0,
- 0, 7, 50, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 48, 0, 0, 0,
- 70, 240, 17, 0, 1, 0,
- 0, 0, 165, 0, 0, 7,
- 194, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 44, 0, 0, 0, 6, 244,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 4, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 34, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 26, 0,
- 16, 0, 21, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 26, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 10, 242, 0,
- 16, 0, 28, 0, 0, 0,
- 6, 0, 16, 0, 21, 0,
- 0, 0, 2, 64, 0, 0,
- 183, 7, 0, 0, 110, 15,
- 0, 0, 37, 23, 0, 0,
- 0, 4, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 26, 0, 0, 0, 10, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 26, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 21, 0, 0, 0, 42, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 226, 0, 16, 0,
- 25, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 233, 17, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 5, 114, 0, 16, 0,
- 29, 0, 0, 0, 70, 2,
- 16, 0, 26, 0, 0, 0,
- 54, 0, 0, 8, 114, 0,
- 16, 0, 30, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 8,
- 242, 0, 16, 0, 31, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 42, 0, 16, 0, 20, 0,
- 0, 0, 3, 0, 4, 3,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 167, 0, 0, 139, 2, 67,
- 0, 128, 131, 153, 25, 0,
- 50, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 112, 16, 0, 6, 0,
- 0, 0, 30, 0, 0, 7,
- 242, 0, 16, 0, 32, 0,
- 0, 0, 70, 4, 16, 0,
- 20, 0, 0, 0, 6, 5,
- 16, 0, 32, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 33, 0,
- 0, 0, 10, 0, 16, 0,
- 32, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 34, 0, 0, 0, 26, 0,
- 16, 0, 32, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 35, 0, 0, 0,
- 42, 0, 16, 0, 32, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 126,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 7, 0,
- 0, 0, 0, 0, 0, 8,
- 242, 0, 16, 0, 36, 0,
- 0, 0, 70, 14, 16, 128,
- 65, 0, 0, 0, 33, 0,
- 0, 0, 70, 14, 16, 0,
- 34, 0, 0, 0, 50, 0,
- 0, 9, 242, 0, 16, 0,
- 37, 0, 0, 0, 6, 0,
- 16, 0, 19, 0, 0, 0,
- 70, 14, 16, 0, 36, 0,
- 0, 0, 70, 14, 16, 0,
- 33, 0, 0, 0, 0, 0,
- 0, 8, 242, 0, 16, 0,
- 38, 0, 0, 0, 70, 14,
- 16, 128, 65, 0, 0, 0,
- 35, 0, 0, 0, 70, 14,
- 16, 0, 32, 0, 0, 0,
- 50, 0, 0, 9, 242, 0,
- 16, 0, 39, 0, 0, 0,
- 6, 0, 16, 0, 19, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 70, 14,
- 16, 0, 35, 0, 0, 0,
- 52, 0, 0, 7, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 39, 0, 0, 0, 58, 0,
- 16, 0, 39, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 8,
- 242, 0, 16, 0, 40, 0,
- 0, 0, 70, 14, 16, 128,
- 65, 0, 0, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 39, 0, 0, 0, 56, 0,
- 0, 10, 242, 0, 16, 0,
- 40, 0, 0, 0, 70, 14,
- 16, 0, 40, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 16, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 70, 2, 16, 0,
- 40, 0, 0, 0, 70, 2,
- 16, 0, 40, 0, 0, 0,
- 29, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 23, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 7, 0,
- 0, 1, 21, 0, 0, 1,
- 50, 0, 0, 9, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 6, 0, 16, 0, 17, 0,
- 0, 0, 70, 14, 16, 0,
- 36, 0, 0, 0, 70, 14,
- 16, 0, 33, 0, 0, 0,
- 50, 0, 0, 9, 242, 0,
- 16, 0, 38, 0, 0, 0,
- 6, 0, 16, 0, 17, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 70, 14,
- 16, 0, 35, 0, 0, 0,
- 52, 0, 0, 7, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 38, 0, 0, 0, 58, 0,
- 16, 0, 38, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 8,
- 242, 0, 16, 0, 41, 0,
- 0, 0, 70, 14, 16, 128,
- 65, 0, 0, 0, 36, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 56, 0,
- 0, 10, 242, 0, 16, 0,
- 42, 0, 0, 0, 70, 14,
- 16, 0, 41, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 16, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 70, 2, 16, 0,
- 42, 0, 0, 0, 70, 2,
- 16, 0, 42, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 42, 0, 0, 0,
- 58, 0, 16, 0, 42, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 29, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 7, 0, 0, 1,
- 21, 0, 0, 1, 0, 0,
- 0, 7, 114, 0, 16, 0,
- 41, 0, 0, 0, 38, 9,
- 16, 0, 37, 0, 0, 0,
- 38, 9, 16, 0, 39, 0,
- 0, 0, 50, 0, 0, 13,
- 114, 0, 16, 0, 41, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 41, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 118, 14,
- 16, 0, 25, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 40, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 56, 0, 0, 7,
- 114, 0, 16, 0, 40, 0,
- 0, 0, 246, 15, 16, 0,
- 22, 0, 0, 0, 70, 2,
- 16, 0, 40, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 40, 0, 0, 0, 56, 0,
- 0, 7, 114, 0, 16, 0,
- 43, 0, 0, 0, 150, 4,
- 16, 0, 40, 0, 0, 0,
- 70, 2, 16, 0, 41, 0,
- 0, 0, 50, 0, 0, 10,
- 114, 0, 16, 0, 41, 0,
- 0, 0, 38, 9, 16, 0,
- 41, 0, 0, 0, 38, 9,
- 16, 0, 40, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 43, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 150, 7, 16, 0, 25, 0,
- 0, 0, 70, 2, 16, 0,
- 40, 0, 0, 0, 0, 0,
- 0, 7, 114, 0, 16, 0,
- 40, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 50, 0, 0, 13,
- 114, 0, 16, 0, 43, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 40, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 70, 2,
- 16, 0, 29, 0, 0, 0,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 68, 0, 0, 5,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 41, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 63,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 56, 0,
- 0, 7, 114, 0, 16, 0,
- 44, 0, 0, 0, 246, 15,
- 16, 0, 30, 0, 0, 0,
- 70, 2, 16, 0, 42, 0,
- 0, 0, 56, 0, 0, 7,
- 114, 0, 16, 0, 45, 0,
- 0, 0, 38, 9, 16, 0,
- 43, 0, 0, 0, 150, 4,
- 16, 0, 44, 0, 0, 0,
- 50, 0, 0, 10, 114, 0,
- 16, 0, 45, 0, 0, 0,
- 150, 4, 16, 0, 43, 0,
- 0, 0, 38, 9, 16, 0,
- 44, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 45, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 33, 0, 0, 0, 70, 2,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 44, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 45, 0, 0, 0, 70, 2,
- 16, 0, 45, 0, 0, 0,
- 0, 0, 0, 7, 18, 0,
- 16, 0, 46, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 42, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 52, 0, 0, 7, 34, 0,
- 16, 0, 46, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 33, 0, 0, 0, 70, 2,
- 16, 0, 41, 0, 0, 0,
- 70, 2, 16, 0, 41, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 33, 0,
- 0, 0, 10, 0, 16, 128,
- 65, 0, 0, 0, 41, 0,
- 0, 0, 10, 0, 16, 0,
- 41, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 34, 0, 0, 0, 70, 2,
- 16, 0, 41, 0, 0, 0,
- 70, 2, 16, 0, 45, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 29, 0,
- 0, 0, 26, 0, 16, 0,
- 46, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 35, 0, 0, 0,
- 26, 0, 16, 128, 65, 0,
- 0, 0, 46, 0, 0, 0,
- 26, 0, 16, 0, 46, 0,
- 0, 0, 10, 0, 16, 0,
- 46, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 35, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 36, 0, 0, 0,
- 75, 0, 0, 5, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 33, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 0, 0,
- 0, 8, 130, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 35, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 35, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 51, 0, 0, 7,
- 130, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 7, 130, 0,
- 16, 0, 35, 0, 0, 0,
- 58, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 49, 0,
- 0, 7, 130, 0, 16, 0,
- 38, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 49, 0, 0, 7,
- 130, 0, 16, 0, 39, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 1, 0, 0, 7, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 39, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 39, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 29, 0,
- 0, 0, 26, 0, 16, 0,
- 46, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 39, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 1, 64, 0, 0,
- 236, 81, 184, 190, 49, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 1, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 38, 0, 0, 0,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 180, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 41, 0,
- 0, 0, 150, 7, 16, 0,
- 25, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 29, 0, 0, 0, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 45, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 41, 0, 0, 0, 246, 15,
- 16, 0, 35, 0, 0, 0,
- 150, 7, 16, 0, 25, 0,
- 0, 0, 56, 0, 0, 7,
- 114, 0, 16, 0, 47, 0,
- 0, 0, 246, 15, 16, 0,
- 23, 0, 0, 0, 70, 2,
- 16, 0, 42, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 37, 0, 0, 0,
- 70, 2, 16, 0, 39, 0,
- 0, 0, 56, 0, 0, 10,
- 114, 0, 16, 0, 37, 0,
- 0, 0, 70, 2, 16, 0,
- 37, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 0, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 70, 2, 16, 0,
- 37, 0, 0, 0, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 37, 0, 0, 0, 246, 15,
- 16, 0, 33, 0, 0, 0,
- 70, 2, 16, 0, 47, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 35, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 39, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 37, 0, 0, 0, 246, 15,
- 16, 0, 33, 0, 0, 0,
- 70, 2, 16, 0, 47, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 35, 0, 0, 0,
- 70, 2, 16, 0, 39, 0,
- 0, 0, 70, 2, 16, 0,
- 39, 0, 0, 0, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 35, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 70, 2, 16, 0, 45, 0,
- 0, 0, 70, 2, 16, 0,
- 39, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 38, 0,
- 0, 0, 70, 2, 16, 0,
- 45, 0, 0, 0, 70, 2,
- 16, 0, 45, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 38, 0, 0, 0, 49, 0,
- 0, 7, 18, 0, 16, 0,
- 39, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 68, 0, 0, 5,
- 34, 0, 16, 0, 39, 0,
- 0, 0, 58, 0, 16, 0,
- 38, 0, 0, 0, 1, 0,
- 0, 7, 18, 0, 16, 0,
- 39, 0, 0, 0, 26, 0,
- 16, 0, 39, 0, 0, 0,
- 10, 0, 16, 0, 39, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 38, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 10, 0, 16, 0,
- 39, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 49, 0,
- 0, 8, 130, 0, 16, 0,
- 35, 0, 0, 0, 58, 0,
- 16, 128, 129, 0, 0, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 246, 15, 16, 0,
- 22, 0, 0, 0, 70, 2,
- 16, 0, 41, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 14, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 14, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 50, 0, 0, 9,
- 114, 0, 16, 0, 37, 0,
- 0, 0, 70, 2, 16, 0,
- 37, 0, 0, 0, 246, 15,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 43, 0,
- 0, 0, 50, 0, 0, 12,
- 114, 0, 16, 0, 39, 0,
- 0, 0, 70, 2, 16, 0,
- 40, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 0, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 55, 0, 0, 9,
- 114, 0, 16, 0, 39, 0,
- 0, 0, 246, 15, 16, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 70, 2, 16, 0, 29, 0,
- 0, 0, 55, 0, 0, 9,
- 114, 0, 16, 0, 39, 0,
- 0, 0, 246, 15, 16, 0,
- 29, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 70, 2, 16, 0, 29, 0,
- 0, 0, 50, 0, 0, 13,
- 114, 0, 16, 0, 40, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 40, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 40, 0,
- 0, 0, 70, 2, 16, 0,
- 44, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 40, 0, 0, 0, 70, 2,
- 16, 0, 40, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 49, 0, 0, 7,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 54, 0,
- 0, 5, 114, 0, 16, 0,
- 29, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 7, 0, 0, 1,
- 21, 0, 0, 1, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 42, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 52, 0, 0, 7, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 49, 0,
- 0, 8, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 128, 129, 0, 0, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 50, 0, 0, 10, 114, 0,
- 16, 0, 40, 0, 0, 0,
- 246, 15, 16, 128, 65, 0,
- 0, 0, 34, 0, 0, 0,
- 70, 2, 16, 0, 42, 0,
- 0, 0, 70, 2, 16, 0,
- 40, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 30, 0, 0, 0,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 40, 0, 0, 0,
- 70, 2, 16, 0, 40, 0,
- 0, 0, 246, 15, 16, 0,
- 30, 0, 0, 0, 70, 2,
- 16, 0, 30, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 34, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 33, 0, 0, 0,
- 70, 2, 16, 0, 34, 0,
- 0, 0, 50, 0, 0, 9,
- 114, 0, 16, 0, 33, 0,
- 0, 0, 6, 0, 16, 0,
- 19, 0, 0, 0, 70, 2,
- 16, 0, 34, 0, 0, 0,
- 70, 2, 16, 0, 33, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 32, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 35, 0,
- 0, 0, 70, 2, 16, 0,
- 32, 0, 0, 0, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 32, 0, 0, 0, 6, 0,
- 16, 0, 19, 0, 0, 0,
- 70, 2, 16, 0, 32, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 63, 1, 64, 0, 0,
- 0, 0, 0, 63, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 33, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 33, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 32, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 32, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 32, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 33, 0,
- 0, 0, 70, 2, 16, 0,
- 32, 0, 0, 0, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 32, 0, 0, 0, 246, 15,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 32, 0,
- 0, 0, 70, 2, 16, 0,
- 33, 0, 0, 0, 0, 0,
- 0, 7, 114, 0, 16, 0,
- 32, 0, 0, 0, 70, 2,
- 16, 0, 31, 0, 0, 0,
- 70, 2, 16, 0, 32, 0,
- 0, 0, 55, 0, 0, 9,
- 114, 0, 16, 0, 33, 0,
- 0, 0, 166, 10, 16, 0,
- 19, 0, 0, 0, 70, 2,
- 16, 0, 32, 0, 0, 0,
- 70, 2, 16, 0, 31, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 0,
- 31, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 55, 0, 0, 9, 114, 0,
- 16, 0, 32, 0, 0, 0,
- 246, 15, 16, 0, 23, 0,
- 0, 0, 70, 2, 16, 0,
- 40, 0, 0, 0, 70, 2,
- 16, 0, 30, 0, 0, 0,
- 55, 0, 0, 9, 242, 0,
- 16, 0, 33, 0, 0, 0,
- 246, 15, 16, 0, 23, 0,
- 0, 0, 70, 14, 16, 0,
- 33, 0, 0, 0, 70, 14,
- 16, 0, 31, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 70, 2, 16, 0,
- 42, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 52, 0,
- 0, 7, 34, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 70, 2, 16, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 0, 37, 0, 0, 0,
- 50, 0, 0, 10, 18, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 55, 0,
- 0, 9, 50, 0, 16, 0,
- 34, 0, 0, 0, 246, 15,
- 16, 0, 35, 0, 0, 0,
- 70, 0, 16, 0, 34, 0,
- 0, 0, 70, 0, 16, 0,
- 46, 0, 0, 0, 55, 0,
- 0, 9, 50, 0, 16, 0,
- 34, 0, 0, 0, 246, 15,
- 16, 0, 29, 0, 0, 0,
- 70, 0, 16, 0, 34, 0,
- 0, 0, 70, 0, 16, 0,
- 46, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 26, 0,
- 16, 0, 34, 0, 0, 0,
- 26, 0, 16, 0, 34, 0,
- 0, 0, 29, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 10, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 54, 0,
- 0, 5, 114, 0, 16, 0,
- 29, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 54, 0, 0, 5, 114, 0,
- 16, 0, 30, 0, 0, 0,
- 70, 2, 16, 0, 32, 0,
- 0, 0, 54, 0, 0, 5,
- 242, 0, 16, 0, 31, 0,
- 0, 0, 70, 14, 16, 0,
- 33, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 7, 0, 0, 1, 21, 0,
- 0, 1, 54, 0, 0, 5,
- 114, 0, 16, 0, 29, 0,
- 0, 0, 70, 2, 16, 0,
- 39, 0, 0, 0, 54, 0,
- 0, 5, 114, 0, 16, 0,
- 30, 0, 0, 0, 70, 2,
- 16, 0, 32, 0, 0, 0,
- 54, 0, 0, 5, 242, 0,
- 16, 0, 31, 0, 0, 0,
- 70, 14, 16, 0, 33, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 22, 0, 0, 1, 165, 0,
- 0, 7, 130, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 52, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 54, 0, 0, 5,
- 114, 0, 16, 0, 32, 0,
- 0, 0, 70, 2, 16, 0,
- 29, 0, 0, 0, 54, 0,
- 0, 5, 114, 0, 16, 0,
- 33, 0, 0, 0, 70, 2,
- 16, 0, 30, 0, 0, 0,
- 54, 0, 0, 5, 242, 0,
- 16, 0, 34, 0, 0, 0,
- 70, 14, 16, 0, 31, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 30, 0, 0, 7, 50, 0,
- 16, 0, 35, 0, 0, 0,
- 70, 0, 16, 0, 20, 0,
- 0, 0, 246, 15, 16, 0,
- 22, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 35, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 126,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 35, 0,
- 0, 0, 26, 0, 16, 0,
- 35, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 7, 0,
- 0, 0, 0, 0, 0, 8,
- 242, 0, 16, 0, 35, 0,
- 0, 0, 70, 14, 16, 128,
- 65, 0, 0, 0, 36, 0,
- 0, 0, 70, 14, 16, 0,
- 35, 0, 0, 0, 50, 0,
- 0, 9, 242, 0, 16, 0,
- 37, 0, 0, 0, 6, 0,
- 16, 0, 17, 0, 0, 0,
- 70, 14, 16, 0, 35, 0,
- 0, 0, 70, 14, 16, 0,
- 36, 0, 0, 0, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 50, 0, 0, 9,
- 114, 0, 16, 0, 35, 0,
- 0, 0, 6, 0, 16, 0,
- 19, 0, 0, 0, 70, 2,
- 16, 0, 35, 0, 0, 0,
- 70, 2, 16, 0, 36, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 32, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 37, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 38, 0, 0, 0, 150, 7,
- 16, 0, 25, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 35, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 36, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 16, 0, 0, 7,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 70, 2,
- 16, 0, 38, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 33, 0, 0, 0, 75, 0,
- 0, 5, 130, 0, 16, 0,
- 35, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 0, 0, 0, 8, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 32, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 0, 0, 0, 7,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 51, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 14, 0,
- 0, 7, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 49, 0, 0, 7,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 1, 64, 0, 0,
- 236, 81, 184, 190, 49, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 1, 0, 0, 7,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 180, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 38, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 0, 0,
- 0, 8, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 32, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 14, 0,
- 0, 7, 130, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 30, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 14, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 50, 0, 0, 9,
- 114, 0, 16, 0, 38, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 246, 15,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 36, 0,
- 0, 0, 0, 0, 0, 7,
- 114, 0, 16, 0, 39, 0,
- 0, 0, 70, 2, 16, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 0, 38, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 38, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 55, 0, 0, 9,
- 114, 0, 16, 0, 32, 0,
- 0, 0, 246, 15, 16, 0,
- 26, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 70, 2, 16, 0, 32, 0,
- 0, 0, 55, 0, 0, 9,
- 242, 0, 16, 0, 36, 0,
- 0, 0, 246, 15, 16, 0,
- 26, 0, 0, 0, 70, 14,
- 16, 0, 38, 0, 0, 0,
- 70, 14, 16, 0, 36, 0,
- 0, 0, 68, 0, 0, 5,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 49, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 191,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 36, 0, 0, 0,
- 70, 2, 16, 0, 36, 0,
- 0, 0, 246, 15, 16, 0,
- 23, 0, 0, 0, 70, 2,
- 16, 0, 33, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 35, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 35, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 0, 0, 0, 7,
- 114, 0, 16, 0, 35, 0,
- 0, 0, 70, 2, 16, 0,
- 34, 0, 0, 0, 70, 2,
- 16, 0, 35, 0, 0, 0,
- 55, 0, 0, 9, 114, 0,
- 16, 0, 35, 0, 0, 0,
- 166, 10, 16, 0, 19, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 34, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 35, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 55, 0,
- 0, 9, 114, 0, 16, 0,
- 33, 0, 0, 0, 246, 15,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 33, 0, 0, 0, 55, 0,
- 0, 9, 242, 0, 16, 0,
- 34, 0, 0, 0, 246, 15,
- 16, 0, 29, 0, 0, 0,
- 70, 14, 16, 0, 35, 0,
- 0, 0, 70, 14, 16, 0,
- 34, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 22, 0, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 86, 0, 0, 5, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 14, 0, 0, 10,
- 130, 0, 16, 0, 21, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 0, 0, 128, 63, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 31, 0, 4, 3, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 80, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 70, 2,
- 16, 0, 33, 0, 0, 0,
- 70, 2, 16, 0, 33, 0,
- 0, 0, 0, 0, 0, 7,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 56, 0, 0, 7,
- 114, 0, 16, 0, 32, 0,
- 0, 0, 246, 15, 16, 0,
- 26, 0, 0, 0, 70, 2,
- 16, 0, 33, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 35, 0, 0, 0,
- 150, 7, 16, 128, 65, 0,
- 0, 0, 25, 0, 0, 0,
- 70, 2, 16, 0, 26, 0,
- 0, 0, 50, 0, 0, 10,
- 114, 0, 16, 0, 35, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 34, 0,
- 0, 0, 246, 15, 16, 0,
- 21, 0, 0, 0, 70, 2,
- 16, 0, 35, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 35, 0,
- 0, 0, 70, 2, 16, 0,
- 32, 0, 0, 0, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 32, 0, 0, 0, 246, 15,
- 16, 128, 65, 0, 0, 0,
- 29, 0, 0, 0, 70, 2,
- 16, 0, 32, 0, 0, 0,
- 70, 2, 16, 0, 35, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 70, 2, 16, 0,
- 32, 0, 0, 0, 70, 2,
- 16, 0, 32, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 56, 0, 0, 8, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 52, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 191,
- 50, 0, 0, 10, 226, 0,
- 16, 0, 25, 0, 0, 0,
- 6, 9, 16, 128, 65, 0,
- 0, 0, 32, 0, 0, 0,
- 246, 15, 16, 0, 22, 0,
- 0, 0, 86, 14, 16, 0,
- 25, 0, 0, 0, 168, 0,
- 0, 9, 114, 224, 17, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 150, 7, 16, 0,
- 25, 0, 0, 0, 21, 0,
- 0, 1, 50, 0, 0, 9,
- 226, 0, 16, 0, 25, 0,
- 0, 0, 6, 9, 16, 0,
- 33, 0, 0, 0, 246, 15,
- 16, 0, 21, 0, 0, 0,
- 6, 9, 16, 0, 26, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 28, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 25, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 28, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 21, 0,
- 0, 0, 21, 0, 0, 1,
- 54, 0, 0, 5, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 22, 0, 0, 1,
- 18, 0, 0, 1, 165, 0,
- 0, 7, 98, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 76, 0, 0, 0,
- 6, 241, 17, 0, 0, 0,
- 0, 0, 49, 0, 0, 10,
- 98, 0, 16, 0, 19, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 166, 9,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 165, 0,
- 0, 7, 50, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 48, 0, 0, 0,
- 70, 240, 17, 0, 1, 0,
- 0, 0, 165, 0, 0, 7,
- 66, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 80, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 165, 0,
- 0, 7, 50, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 44, 0, 0, 0,
- 70, 240, 17, 0, 0, 0,
- 0, 0, 54, 0, 0, 4,
- 66, 0, 16, 0, 21, 0,
- 0, 0, 10, 32, 2, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 130, 0, 16, 0,
- 21, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 3, 0, 4, 3,
- 58, 0, 16, 0, 21, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 26, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 10,
- 242, 0, 16, 0, 28, 0,
- 0, 0, 166, 10, 16, 0,
- 21, 0, 0, 0, 2, 64,
- 0, 0, 183, 7, 0, 0,
- 110, 15, 0, 0, 37, 23,
- 0, 0, 0, 4, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 26, 0, 0, 0,
- 10, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 26, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 42, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 54, 0, 0, 8, 226, 0,
- 16, 0, 25, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 8,
- 242, 0, 16, 0, 32, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 3, 0, 4, 3,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 26, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 167, 0, 0, 139, 2, 67,
- 0, 128, 131, 153, 25, 0,
- 50, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 112, 16, 0, 6, 0,
- 0, 0, 30, 0, 0, 7,
- 242, 0, 16, 0, 35, 0,
- 0, 0, 70, 4, 16, 0,
- 20, 0, 0, 0, 6, 5,
- 16, 0, 35, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 36, 0,
- 0, 0, 10, 0, 16, 0,
- 35, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 35, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 7, 0, 0, 0, 0, 0,
- 0, 8, 242, 0, 16, 0,
- 38, 0, 0, 0, 70, 14,
- 16, 128, 65, 0, 0, 0,
- 36, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 50, 0, 0, 9, 242, 0,
- 16, 0, 38, 0, 0, 0,
- 6, 0, 16, 0, 17, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 70, 14,
- 16, 0, 36, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 39, 0,
- 0, 0, 42, 0, 16, 0,
- 35, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 35, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 7, 0, 0, 0, 0, 0,
- 0, 8, 242, 0, 16, 0,
- 40, 0, 0, 0, 70, 14,
- 16, 128, 65, 0, 0, 0,
- 39, 0, 0, 0, 70, 14,
- 16, 0, 35, 0, 0, 0,
- 50, 0, 0, 9, 242, 0,
- 16, 0, 40, 0, 0, 0,
- 6, 0, 16, 0, 17, 0,
- 0, 0, 70, 14, 16, 0,
- 40, 0, 0, 0, 70, 14,
- 16, 0, 39, 0, 0, 0,
- 52, 0, 0, 7, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 0, 40, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 8,
- 242, 0, 16, 0, 41, 0,
- 0, 0, 70, 14, 16, 128,
- 65, 0, 0, 0, 38, 0,
- 0, 0, 70, 14, 16, 0,
- 40, 0, 0, 0, 56, 0,
- 0, 10, 242, 0, 16, 0,
- 42, 0, 0, 0, 70, 14,
- 16, 0, 41, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 16, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 70, 2, 16, 0,
- 42, 0, 0, 0, 70, 2,
- 16, 0, 42, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 42, 0, 0, 0,
- 58, 0, 16, 0, 42, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 29, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 7, 0, 0, 1,
- 21, 0, 0, 1, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 0, 0, 0, 7, 114, 0,
- 16, 0, 41, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 70, 2, 16, 0,
- 40, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 41, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 63, 58, 0, 16, 0,
- 38, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 56, 0, 0, 7, 114, 0,
- 16, 0, 42, 0, 0, 0,
- 246, 15, 16, 0, 29, 0,
- 0, 0, 70, 2, 16, 0,
- 42, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 42, 0,
- 0, 0, 50, 0, 0, 13,
- 114, 0, 16, 0, 41, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 41, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 70, 2,
- 16, 0, 26, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 70, 2, 16, 0, 41, 0,
- 0, 0, 70, 2, 16, 0,
- 42, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 35, 0,
- 0, 0, 70, 2, 16, 0,
- 41, 0, 0, 0, 70, 2,
- 16, 0, 41, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 35, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 49, 0, 0, 7,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 7, 0, 0, 1, 21, 0,
- 0, 1, 56, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 42, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 35, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 68, 0, 0, 5,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 35, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 49, 0, 0, 8,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 128,
- 129, 0, 0, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 41, 0, 0, 0, 246, 15,
- 16, 128, 65, 0, 0, 0,
- 26, 0, 0, 0, 70, 2,
- 16, 0, 42, 0, 0, 0,
- 70, 2, 16, 0, 41, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 29, 0, 0, 0, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 41, 0, 0, 0, 70, 2,
- 16, 0, 41, 0, 0, 0,
- 246, 15, 16, 0, 26, 0,
- 0, 0, 150, 7, 16, 0,
- 25, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 36, 0, 0, 0, 70, 2,
- 16, 0, 37, 0, 0, 0,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 36, 0, 0, 0,
- 6, 0, 16, 0, 19, 0,
- 0, 0, 70, 2, 16, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 35, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 39, 0, 0, 0,
- 70, 2, 16, 0, 35, 0,
- 0, 0, 50, 0, 0, 9,
- 114, 0, 16, 0, 35, 0,
- 0, 0, 6, 0, 16, 0,
- 19, 0, 0, 0, 70, 2,
- 16, 0, 35, 0, 0, 0,
- 70, 2, 16, 0, 39, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 63,
- 1, 64, 0, 0, 0, 0,
- 0, 63, 0, 0, 0, 8,
- 114, 0, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 40, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 35, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 36, 0, 0, 0,
- 70, 2, 16, 0, 35, 0,
- 0, 0, 50, 0, 0, 9,
- 114, 0, 16, 0, 35, 0,
- 0, 0, 246, 15, 16, 0,
- 26, 0, 0, 0, 70, 2,
- 16, 0, 35, 0, 0, 0,
- 70, 2, 16, 0, 36, 0,
- 0, 0, 0, 0, 0, 7,
- 114, 0, 16, 0, 35, 0,
- 0, 0, 70, 2, 16, 0,
- 32, 0, 0, 0, 70, 2,
- 16, 0, 35, 0, 0, 0,
- 55, 0, 0, 9, 114, 0,
- 16, 0, 35, 0, 0, 0,
- 246, 15, 16, 0, 20, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 32, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 35, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 55, 0,
- 0, 9, 226, 0, 16, 0,
- 25, 0, 0, 0, 246, 15,
- 16, 0, 23, 0, 0, 0,
- 6, 9, 16, 0, 41, 0,
- 0, 0, 86, 14, 16, 0,
- 25, 0, 0, 0, 55, 0,
- 0, 9, 242, 0, 16, 0,
- 32, 0, 0, 0, 246, 15,
- 16, 0, 23, 0, 0, 0,
- 70, 14, 16, 0, 35, 0,
- 0, 0, 70, 14, 16, 0,
- 32, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 22, 0, 0, 1,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 52, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 5, 114, 0, 16, 0,
- 35, 0, 0, 0, 150, 7,
- 16, 0, 25, 0, 0, 0,
- 54, 0, 0, 5, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 70, 14, 16, 0, 32, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 30, 0, 0, 7, 50, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 0, 16, 0, 20, 0,
- 0, 0, 246, 15, 16, 0,
- 23, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 38, 0, 0, 0,
- 10, 0, 16, 0, 37, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 126,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 37, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 7, 0,
- 0, 0, 0, 0, 0, 8,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 128,
- 65, 0, 0, 0, 38, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 50, 0,
- 0, 9, 242, 0, 16, 0,
- 39, 0, 0, 0, 6, 0,
- 16, 0, 17, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 39, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 40, 0,
- 0, 0, 70, 2, 16, 0,
- 26, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 39, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 70, 2,
- 16, 0, 40, 0, 0, 0,
- 70, 2, 16, 0, 40, 0,
- 0, 0, 0, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 58, 0, 16, 0,
- 30, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 191, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 40, 0, 0, 0, 70, 2,
- 16, 0, 40, 0, 0, 0,
- 246, 15, 16, 0, 26, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 37, 0, 0, 0, 6, 0,
- 16, 0, 19, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 0, 0, 0, 7, 114, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 2, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 37, 0, 0, 0, 55, 0,
- 0, 9, 114, 0, 16, 0,
- 37, 0, 0, 0, 246, 15,
- 16, 0, 20, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 70, 2, 16, 0,
- 36, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 55, 0, 0, 9,
- 114, 0, 16, 0, 35, 0,
- 0, 0, 246, 15, 16, 0,
- 30, 0, 0, 0, 70, 2,
- 16, 0, 40, 0, 0, 0,
- 70, 2, 16, 0, 35, 0,
- 0, 0, 55, 0, 0, 9,
- 242, 0, 16, 0, 36, 0,
- 0, 0, 246, 15, 16, 0,
- 30, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 36, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 22, 0, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 36, 0, 0, 0, 86, 0,
- 0, 5, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 14, 0, 0, 10, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 58, 0, 16, 0,
- 22, 0, 0, 0, 31, 0,
- 4, 3, 26, 0, 16, 0,
- 19, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 10, 0,
- 16, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 114, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 226, 17, 0,
- 0, 0, 0, 0, 165, 0,
- 0, 7, 130, 0, 16, 0,
- 26, 0, 0, 0, 1, 64,
- 0, 0, 80, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 35, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 56, 0, 0, 7, 114, 0,
- 16, 0, 38, 0, 0, 0,
- 246, 15, 16, 0, 30, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 39, 0, 0, 0, 70, 2,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 37, 0, 0, 0,
- 50, 0, 0, 10, 114, 0,
- 16, 0, 39, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 36, 0, 0, 0,
- 246, 15, 16, 0, 22, 0,
- 0, 0, 70, 2, 16, 0,
- 39, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 33, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 50, 0, 0, 10,
- 114, 0, 16, 0, 38, 0,
- 0, 0, 246, 15, 16, 128,
- 65, 0, 0, 0, 33, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 68, 0, 0, 5,
- 130, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 56, 0,
- 0, 8, 130, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 52, 0, 0, 7, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 191, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 38, 0, 0, 0, 246, 15,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 114, 224, 17, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 21, 0, 0, 1,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 0, 35, 0,
- 0, 0, 246, 15, 16, 0,
- 22, 0, 0, 0, 70, 2,
- 16, 0, 26, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 35, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 165, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 76, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 14, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 55, 0, 0, 9, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 26, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 26, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 26, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 21, 0, 0, 1, 54, 0,
- 0, 5, 66, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 22, 0, 0, 1, 21, 0,
- 0, 1, 165, 0, 0, 7,
- 18, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 84, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 72, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 51, 0,
- 0, 7, 18, 0, 16, 0,
- 17, 0, 0, 0, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 49, 0, 0, 7,
- 18, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 17, 0, 0, 0,
- 1, 64, 0, 0, 88, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 165, 0,
- 0, 7, 18, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 31, 0, 4, 3,
- 42, 0, 16, 0, 1, 0,
- 0, 0, 165, 0, 0, 7,
- 98, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 4, 0, 0, 0, 6, 241,
- 17, 0, 1, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 50, 0,
- 0, 12, 98, 0, 16, 0,
- 19, 0, 0, 0, 246, 15,
- 16, 0, 19, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 23, 183, 209, 56,
- 23, 183, 209, 56, 0, 0,
- 0, 0, 166, 9, 16, 0,
- 19, 0, 0, 0, 0, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 6, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 18, 0,
- 0, 1, 54, 0, 0, 8,
- 98, 0, 16, 0, 19, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 42, 0,
- 16, 0, 1, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 6, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 6, 0, 0, 0,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 1, 0,
- 0, 7, 18, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 20, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 6, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 2, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 6, 0,
- 0, 0, 49, 0, 0, 7,
- 18, 0, 16, 0, 20, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 55, 0, 0, 9, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 254, 255, 255, 255, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 30, 0, 0, 6, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 10, 32, 2, 0,
- 85, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 30, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 19, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 14, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 254, 66, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 84, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 14, 0,
- 0, 10, 18, 0, 16, 0,
- 20, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 51, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 41, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 2, 0, 0, 0, 30, 0,
- 0, 10, 50, 0, 16, 0,
- 20, 0, 0, 0, 246, 15,
- 16, 0, 19, 0, 0, 0,
- 2, 64, 0, 0, 12, 0,
- 0, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 166, 0, 0, 7,
- 18, 240, 17, 0, 5, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 56, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 166, 0,
- 0, 7, 18, 240, 17, 0,
- 5, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 166, 0, 0, 6,
- 18, 240, 17, 0, 5, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 10, 32,
- 2, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 165, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 100, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 41, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 165, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 116, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 31, 0, 4, 3,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 54, 0, 0, 4,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 10, 32, 2, 0,
- 48, 0, 0, 1, 33, 0,
- 0, 7, 130, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 3, 65,
- 0, 0, 3, 0, 4, 3,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 168, 0, 0, 9, 18, 224,
- 17, 0, 2, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 30, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 4, 0, 0, 22, 0,
- 0, 1, 21, 0, 0, 1,
- 165, 0, 0, 7, 194, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 16, 0,
- 0, 0, 6, 244, 17, 0,
- 5, 0, 0, 0, 165, 0,
- 0, 7, 50, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 4, 0, 0, 0,
- 70, 240, 17, 0, 5, 0,
- 0, 0, 165, 0, 0, 7,
- 194, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 28, 0, 0, 0, 6, 244,
- 17, 0, 5, 0, 0, 0,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 92, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 39, 0,
- 0, 7, 34, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 255, 255, 165, 0, 0, 7,
- 66, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 100, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 4, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 33, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 112,
- 16, 0, 15, 0, 0, 0,
- 55, 0, 0, 9, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 26, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 10, 114, 0,
- 16, 0, 28, 0, 0, 0,
- 246, 15, 16, 0, 22, 0,
- 0, 0, 2, 64, 0, 0,
- 183, 7, 0, 0, 110, 15,
- 0, 0, 37, 23, 0, 0,
- 0, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 26, 0, 0, 0, 10, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 26, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 26, 0, 0, 0, 42, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 17, 0,
- 0, 8, 130, 0, 16, 0,
- 23, 0, 0, 0, 70, 14,
- 16, 0, 26, 0, 0, 0,
- 70, 158, 144, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 51, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 255, 66, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 27, 0, 0, 5,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 17, 0,
- 0, 8, 18, 0, 16, 0,
- 26, 0, 0, 0, 70, 14,
- 16, 0, 26, 0, 0, 0,
- 70, 158, 144, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 50, 0, 0, 9, 18, 0,
- 16, 0, 26, 0, 0, 0,
- 10, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 20, 0, 0, 0,
- 51, 0, 0, 7, 18, 0,
- 16, 0, 26, 0, 0, 0,
- 10, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 255, 66, 52, 0,
- 0, 7, 18, 0, 16, 0,
- 26, 0, 0, 0, 10, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 27, 0, 0, 5,
- 18, 0, 16, 0, 26, 0,
- 0, 0, 10, 0, 16, 0,
- 26, 0, 0, 0, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 41, 0, 0, 7,
- 18, 0, 16, 0, 26, 0,
- 0, 0, 10, 0, 16, 0,
- 26, 0, 0, 0, 1, 64,
- 0, 0, 23, 0, 0, 0,
- 35, 0, 0, 9, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 1, 0, 10, 0,
- 16, 0, 26, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 129, 0, 60, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 224, 17, 0, 2, 0,
- 0, 0, 26, 0, 16, 0,
- 26, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 4, 0, 0,
- 22, 0, 0, 1, 190, 24,
- 0, 1, 165, 0, 0, 7,
- 50, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 96, 0, 0, 0, 70, 240,
- 17, 0, 0, 0, 0, 0,
- 30, 0, 0, 7, 66, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 17, 0,
- 0, 0, 26, 0, 16, 0,
- 21, 0, 0, 0, 54, 0,
- 0, 4, 18, 0, 16, 0,
- 26, 0, 0, 0, 10, 32,
- 2, 0, 48, 0, 0, 1,
- 33, 0, 0, 7, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 26, 0,
- 0, 0, 10, 0, 16, 0,
- 19, 0, 0, 0, 3, 0,
- 4, 3, 58, 0, 16, 0,
- 21, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 26, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 28, 0,
- 0, 0, 10, 0, 16, 0,
- 26, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 10,
- 242, 0, 16, 0, 26, 0,
- 0, 0, 6, 0, 16, 0,
- 26, 0, 0, 0, 2, 64,
- 0, 0, 0, 4, 0, 0,
- 183, 7, 0, 0, 110, 15,
- 0, 0, 37, 23, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 28, 0, 0, 0,
- 42, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 168, 0, 0, 9, 242, 224,
- 17, 0, 1, 0, 0, 0,
- 58, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 14,
- 16, 0, 28, 0, 0, 0,
- 22, 0, 0, 1, 190, 24,
- 0, 1, 30, 0, 0, 7,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 1, 64,
- 0, 0, 31, 0, 0, 0,
- 138, 0, 0, 9, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 5, 0,
- 0, 0, 1, 64, 0, 0,
- 5, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 85, 0, 0, 7, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 10, 0, 0, 0, 79, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 26, 0,
- 16, 0, 4, 0, 0, 0,
- 58, 0, 16, 0, 21, 0,
- 0, 0, 1, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 55, 0,
- 0, 9, 18, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 38, 0,
- 0, 8, 0, 208, 0, 0,
- 18, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 26, 0, 0, 0,
- 35, 0, 0, 9, 18, 0,
- 16, 0, 26, 0, 0, 0,
- 26, 0, 16, 0, 4, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 10, 0,
- 16, 0, 26, 0, 0, 0,
- 41, 0, 0, 7, 34, 0,
- 16, 0, 26, 0, 0, 0,
- 10, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 5, 0, 0, 0, 41, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 5, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 26, 0,
- 16, 0, 26, 0, 0, 0,
- 84, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 0, 16, 0, 17, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 140, 0,
- 0, 10, 18, 0, 16, 0,
- 26, 0, 0, 0, 1, 64,
- 0, 0, 27, 0, 0, 0,
- 1, 64, 0, 0, 5, 0,
- 0, 0, 10, 0, 16, 0,
- 26, 0, 0, 0, 10, 32,
- 2, 0, 54, 0, 0, 5,
- 34, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 16, 0, 0, 0, 54, 0,
- 0, 5, 194, 0, 16, 0,
- 26, 0, 0, 0, 86, 9,
- 16, 0, 21, 0, 0, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 18, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 32, 0,
- 0, 0, 3, 0, 4, 3,
- 10, 0, 16, 0, 28, 0,
- 0, 0, 54, 0, 0, 8,
- 50, 0, 16, 0, 28, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 5, 66, 0, 16, 0,
- 28, 0, 0, 0, 10, 0,
- 16, 0, 26, 0, 0, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 130, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 3, 0, 4, 3,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 79, 0, 0, 7,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 42, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 42, 0, 16, 0, 26, 0,
- 0, 0, 42, 0, 16, 0,
- 28, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 55, 0, 0, 9, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 85, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 26, 0, 16, 0,
- 26, 0, 0, 0, 1, 0,
- 0, 10, 242, 0, 16, 0,
- 37, 0, 0, 0, 246, 15,
- 16, 0, 28, 0, 0, 0,
- 2, 64, 0, 0, 1, 0,
- 0, 0, 2, 0, 0, 0,
- 4, 0, 0, 0, 8, 0,
- 0, 0, 39, 0, 0, 10,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 140, 0, 0, 16, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 2, 64, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 6, 32, 2, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 10, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 37, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 37, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 38, 0, 0, 0,
- 10, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 38, 0, 0, 0,
- 26, 0, 16, 0, 6, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 38, 0, 0, 0,
- 10, 0, 16, 0, 9, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 42, 0, 16, 0, 6, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 26, 0, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 38, 0, 0, 0, 26, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 38, 0, 0, 0, 58, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 38, 0, 0, 0, 26, 0,
- 16, 0, 9, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 38, 0, 0, 0, 10, 0,
- 16, 0, 8, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 38, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 42, 0,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 8, 18, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 37, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 38, 0,
- 0, 0, 42, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 38, 0,
- 0, 0, 26, 0, 16, 0,
- 8, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 38, 0,
- 0, 0, 42, 0, 16, 0,
- 9, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 38, 0,
- 0, 0, 42, 0, 16, 0,
- 8, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 60, 0, 0, 7,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 38, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 37, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 37, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 8, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 9, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 10, 0, 16, 0, 13, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 4, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 38, 0, 0, 0, 10, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 38, 0, 0, 0, 26, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 38, 0, 0, 0, 10, 0,
- 16, 0, 14, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 38, 0, 0, 0, 42, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 38, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 42, 0, 16, 0, 5, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 10, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 26, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 42, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 87, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 42, 0, 16, 0, 2, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 87, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 2, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 1, 0, 0, 7,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 87, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 10, 0, 16, 0, 5, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 87, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 26, 0, 16, 0,
- 5, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 1, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 134, 0,
- 0, 5, 130, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 10, 0, 16, 0,
- 28, 0, 0, 0, 30, 0,
- 0, 10, 98, 0, 16, 0,
- 28, 0, 0, 0, 86, 6,
- 16, 0, 28, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0,
- 32, 0, 0, 0, 0, 0,
- 0, 0, 22, 0, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 42, 0, 16, 0, 26, 0,
- 0, 0, 42, 0, 16, 0,
- 28, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 79, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 42, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 55, 0,
- 0, 9, 34, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 255, 255, 85, 0,
- 0, 7, 34, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 26, 0,
- 0, 0, 1, 0, 0, 10,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 86, 5, 16, 0,
- 28, 0, 0, 0, 2, 64,
- 0, 0, 1, 0, 0, 0,
- 2, 0, 0, 0, 4, 0,
- 0, 0, 8, 0, 0, 0,
- 39, 0, 0, 10, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 140, 0,
- 0, 16, 242, 0, 16, 0,
- 37, 0, 0, 0, 2, 64,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 6, 32, 2, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 8, 18, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 37, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 38, 0,
- 0, 0, 10, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 38, 0,
- 0, 0, 26, 0, 16, 0,
- 6, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 38, 0,
- 0, 0, 10, 0, 16, 0,
- 9, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 38, 0,
- 0, 0, 42, 0, 16, 0,
- 6, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 60, 0, 0, 7,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 38, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 21, 0, 0, 1,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 31, 0, 4, 3,
- 26, 0, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 38, 0, 0, 0, 26, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 38, 0, 0, 0, 58, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 38, 0, 0, 0, 26, 0,
- 16, 0, 9, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 38, 0, 0, 0, 10, 0,
- 16, 0, 8, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 38, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 21, 0,
- 0, 1, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 22, 0, 0, 0, 31, 0,
- 4, 3, 42, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 37, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 37, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 38, 0, 0, 0,
- 42, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 38, 0, 0, 0,
- 26, 0, 16, 0, 8, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 38, 0, 0, 0,
- 42, 0, 16, 0, 9, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 42, 0, 16, 0, 8, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 21, 0, 0, 1, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 8, 18, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 37, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 8, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 9, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 38, 0,
- 0, 0, 10, 0, 16, 0,
- 13, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 60, 0, 0, 7,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 38, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 21, 0, 0, 1,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 4, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 38, 0, 0, 0, 10, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 38, 0, 0, 0, 26, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 38, 0, 0, 0, 10, 0,
- 16, 0, 14, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 38, 0, 0, 0, 42, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 38, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 21, 0,
- 0, 1, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 22, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 5, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 10, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 10, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 10, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 18, 0,
- 0, 1, 54, 0, 0, 8,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 21, 0,
- 0, 1, 87, 0, 0, 7,
- 162, 0, 16, 0, 28, 0,
- 0, 0, 166, 14, 16, 0,
- 2, 0, 0, 0, 6, 4,
- 16, 0, 37, 0, 0, 0,
- 1, 0, 0, 7, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 87, 0,
- 0, 7, 50, 0, 16, 0,
- 37, 0, 0, 0, 70, 0,
- 16, 0, 5, 0, 0, 0,
- 230, 10, 16, 0, 37, 0,
- 0, 0, 1, 0, 0, 7,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 1, 0, 0, 7, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 134, 0,
- 0, 5, 34, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 0, 0, 7, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 10, 0, 16, 0, 28, 0,
- 0, 0, 21, 0, 0, 1,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 7, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 11, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 28, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 0, 2,
- 10, 32, 2, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 16, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 1, 18, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 21, 0,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 1, 0,
- 0, 0, 31, 0, 4, 3,
- 10, 0, 16, 0, 16, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 26, 0, 16, 0,
- 14, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 5, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 7,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 58, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 18, 0, 0, 1, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 28, 0, 0, 0, 1, 64,
- 0, 0, 1, 16, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 2, 18, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 21, 0,
- 0, 1, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 1, 0, 0, 0, 31, 0,
- 4, 3, 26, 0, 16, 0,
- 16, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 10, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 11, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 18, 0, 0, 1,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 21, 0, 0, 1, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 15, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 1, 0, 0, 0,
- 31, 0, 4, 3, 42, 0,
- 16, 0, 16, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 14, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 15, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 18, 0,
- 0, 1, 167, 0, 0, 9,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 26, 0, 16, 0,
- 14, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 21, 0, 0, 1,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 15, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 1, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 16, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 10, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 42, 0, 16, 0,
- 14, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 7,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 18, 0, 0, 1, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 10, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 21, 0,
- 0, 1, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 15, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 1, 0, 0, 0, 31, 0,
- 4, 3, 10, 0, 16, 0,
- 18, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 14, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 17, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 18, 0, 0, 1,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 14, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 21, 0, 0, 1, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 15, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 1, 0, 0, 0,
- 31, 0, 4, 3, 26, 0,
- 16, 0, 18, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 14, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 18, 0,
- 0, 1, 167, 0, 0, 9,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 10, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 21, 0, 0, 1,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 15, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 1, 0,
- 0, 0, 31, 0, 4, 3,
- 42, 0, 16, 0, 18, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 26, 0, 16, 0,
- 14, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 17, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 7,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 18, 0, 0, 1, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 14, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 21, 0,
- 0, 1, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 15, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 1, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 18, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 10, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 18, 0, 0, 1,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 21, 0, 0, 1, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 15, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 1, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 13, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 14, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 42, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 18, 0,
- 0, 1, 167, 0, 0, 9,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 26, 0, 16, 0,
- 14, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 21, 0, 0, 1,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 15, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 54, 0, 0, 5,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 28, 0, 0, 0, 10, 0,
- 16, 0, 26, 0, 0, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 3, 0, 4, 3,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 79, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 42, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 55, 0, 0, 9, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 85, 0, 0, 7, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 26, 0, 16, 0,
- 26, 0, 0, 0, 1, 0,
- 0, 10, 242, 0, 16, 0,
- 37, 0, 0, 0, 246, 15,
- 16, 0, 33, 0, 0, 0,
- 2, 64, 0, 0, 1, 0,
- 0, 0, 2, 0, 0, 0,
- 4, 0, 0, 0, 8, 0,
- 0, 0, 39, 0, 0, 10,
- 242, 0, 16, 0, 38, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 140, 0, 0, 16, 242, 0,
- 16, 0, 39, 0, 0, 0,
- 2, 64, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 6, 32, 2, 0,
- 70, 14, 16, 0, 38, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 39, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 39, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 39, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 39, 0, 0, 0,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 10, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 39, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 39, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 39, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 39, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 40, 0, 0, 0,
- 10, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 40, 0, 0, 0,
- 26, 0, 16, 0, 6, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 40, 0, 0, 0,
- 10, 0, 16, 0, 9, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 42, 0, 16, 0, 6, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 39, 0, 0, 0,
- 70, 14, 16, 0, 39, 0,
- 0, 0, 70, 14, 16, 0,
- 40, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 39, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 39, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 39, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 39, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 26, 0, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 39, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 39, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 39, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 39, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 40, 0, 0, 0, 26, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 40, 0, 0, 0, 26, 0,
- 16, 0, 9, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 40, 0, 0, 0, 10, 0,
- 16, 0, 8, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 39, 0, 0, 0, 70, 14,
- 16, 0, 39, 0, 0, 0,
- 70, 14, 16, 0, 40, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 39, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 42, 0,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 8, 18, 0,
- 16, 0, 39, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 39, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 39, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 39, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 40, 0,
- 0, 0, 42, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 40, 0,
- 0, 0, 26, 0, 16, 0,
- 8, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 40, 0,
- 0, 0, 42, 0, 16, 0,
- 9, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 40, 0,
- 0, 0, 42, 0, 16, 0,
- 8, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 60, 0, 0, 7,
- 242, 0, 16, 0, 39, 0,
- 0, 0, 70, 14, 16, 0,
- 39, 0, 0, 0, 70, 14,
- 16, 0, 40, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 39, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 39, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 39, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 39, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 39, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 39, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 39, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 39, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 8, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 9, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 10, 0, 16, 0, 13, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 39, 0, 0, 0,
- 70, 14, 16, 0, 39, 0,
- 0, 0, 70, 14, 16, 0,
- 40, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 39, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 39, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 39, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 39, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 4, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 39, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 39, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 39, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 39, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 40, 0, 0, 0, 10, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 40, 0, 0, 0, 26, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 40, 0, 0, 0, 10, 0,
- 16, 0, 14, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 40, 0, 0, 0, 42, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 39, 0, 0, 0, 70, 14,
- 16, 0, 39, 0, 0, 0,
- 70, 14, 16, 0, 40, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 39, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 35, 0, 0, 0,
- 42, 0, 16, 0, 5, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 37, 0, 0, 0,
- 26, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 140, 0, 0, 11, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 1, 64, 0, 0, 4, 0,
- 0, 0, 1, 64, 0, 0,
- 5, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 33, 0,
- 0, 0, 26, 0, 16, 0,
- 11, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 16, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 29, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 255, 255, 87, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 32, 0, 0, 10, 114, 0,
- 16, 0, 38, 0, 0, 0,
- 150, 7, 16, 0, 38, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 87, 0,
- 0, 7, 18, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 38, 0,
- 0, 0, 1, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 87, 0, 0, 7, 18, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 38, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 10, 0, 16, 0, 37, 0,
- 0, 0, 87, 0, 0, 7,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 38, 0, 0, 0,
- 1, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 138, 0,
- 0, 8, 130, 0, 16, 0,
- 29, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 134, 0, 0, 5, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 168, 0,
- 0, 9, 18, 224, 17, 0,
- 2, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 42, 0, 16, 0, 11, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 87, 0, 0, 7, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 42, 0, 16, 0, 2, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 87, 0,
- 0, 7, 130, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 2, 0, 0, 0,
- 26, 0, 16, 0, 37, 0,
- 0, 0, 1, 0, 0, 7,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 87, 0, 0, 7, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 10, 0, 16, 0, 5, 0,
- 0, 0, 42, 0, 16, 0,
- 37, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 87, 0, 0, 7,
- 130, 0, 16, 0, 33, 0,
- 0, 0, 26, 0, 16, 0,
- 5, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 1, 0, 0, 7, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 134, 0,
- 0, 5, 130, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 11, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 21, 0,
- 0, 1, 30, 0, 0, 10,
- 162, 0, 16, 0, 28, 0,
- 0, 0, 86, 13, 16, 0,
- 28, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0,
- 0, 0, 32, 0, 0, 0,
- 22, 0, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 21, 0, 0, 0, 79, 0,
- 0, 7, 34, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 42, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 167, 0, 0, 139, 2, 35,
- 0, 128, 131, 153, 25, 0,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 224, 17, 0, 2, 0,
- 0, 0, 55, 0, 0, 9,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 255, 255, 85, 0, 0, 7,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 26, 0,
- 16, 0, 26, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 0, 0, 10, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 246, 15, 16, 0, 30, 0,
- 0, 0, 2, 64, 0, 0,
- 1, 0, 0, 0, 2, 0,
- 0, 0, 4, 0, 0, 0,
- 8, 0, 0, 0, 39, 0,
- 0, 10, 242, 0, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 140, 0, 0, 16,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 2, 64, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 6, 32,
- 2, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 22, 0, 0, 0, 31, 0,
- 4, 3, 10, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 37, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 37, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 38, 0, 0, 0,
- 10, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 38, 0, 0, 0,
- 26, 0, 16, 0, 6, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 38, 0, 0, 0,
- 10, 0, 16, 0, 9, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 42, 0, 16, 0, 6, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 21, 0, 0, 1, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 31, 0, 4, 3, 26, 0,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 8, 18, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 37, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 38, 0,
- 0, 0, 26, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 6, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 38, 0,
- 0, 0, 26, 0, 16, 0,
- 9, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 38, 0,
- 0, 0, 10, 0, 16, 0,
- 8, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 60, 0, 0, 7,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 38, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 21, 0, 0, 1,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 31, 0, 4, 3,
- 42, 0, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 38, 0, 0, 0, 42, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 38, 0, 0, 0, 26, 0,
- 16, 0, 8, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 38, 0, 0, 0, 42, 0,
- 16, 0, 9, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 38, 0, 0, 0, 42, 0,
- 16, 0, 8, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 38, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 21, 0,
- 0, 1, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 22, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 37, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 37, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 8, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 9, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 10, 0, 16, 0, 13, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 21, 0, 0, 1, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 4, 0, 0, 0,
- 167, 0, 0, 8, 18, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 37, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 38, 0,
- 0, 0, 10, 0, 16, 0,
- 6, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 38, 0,
- 0, 0, 26, 0, 16, 0,
- 13, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 38, 0,
- 0, 0, 10, 0, 16, 0,
- 14, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 38, 0,
- 0, 0, 42, 0, 16, 0,
- 13, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 60, 0, 0, 7,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 38, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 21, 0, 0, 1,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 5, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 37, 0,
- 0, 0, 10, 0, 16, 0,
- 10, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 10, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 10, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 1, 0, 0, 10,
- 242, 0, 16, 0, 38, 0,
- 0, 0, 246, 15, 16, 0,
- 30, 0, 0, 0, 2, 64,
- 0, 0, 1, 0, 0, 0,
- 2, 0, 0, 0, 4, 0,
- 0, 0, 8, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 10, 0, 16, 0, 38, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 255, 255, 87, 0,
- 0, 7, 130, 0, 16, 0,
- 33, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 39, 0, 0, 10,
- 114, 0, 16, 0, 38, 0,
- 0, 0, 150, 7, 16, 0,
- 38, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 32, 0, 0, 10, 114, 0,
- 16, 0, 38, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 87, 0,
- 0, 7, 114, 0, 16, 0,
- 38, 0, 0, 0, 150, 7,
- 16, 0, 37, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 1, 0, 0, 7,
- 130, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 10, 0,
- 16, 0, 38, 0, 0, 0,
- 1, 0, 0, 7, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 26, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 33, 0, 0, 0, 42, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 140, 0, 0, 11,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 1, 64, 0, 0,
- 4, 0, 0, 0, 1, 64,
- 0, 0, 5, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 30, 0, 0, 0, 26, 0,
- 16, 0, 11, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 30, 0, 0, 0, 1, 64,
- 0, 0, 0, 16, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 138, 0, 0, 8, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 134, 0, 0, 5,
- 130, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 18, 0, 0, 1,
- 54, 0, 0, 8, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 30, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 21, 0,
- 0, 1, 31, 0, 4, 3,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 30, 0, 0, 7,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 168, 0, 0, 9, 18, 224,
- 17, 0, 2, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 31, 0, 4, 3,
- 10, 0, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 42, 0, 16, 0,
- 11, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 87, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 42, 0, 16, 0,
- 2, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 87, 0, 0, 7, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 2, 0,
- 0, 0, 26, 0, 16, 0,
- 37, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 87, 0, 0, 7,
- 50, 0, 16, 0, 37, 0,
- 0, 0, 70, 0, 16, 0,
- 5, 0, 0, 0, 230, 10,
- 16, 0, 37, 0, 0, 0,
- 1, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 26, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 134, 0, 0, 5,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 11, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 21, 0, 0, 1,
- 21, 0, 0, 1, 21, 0,
- 0, 1, 30, 0, 0, 7,
- 34, 0, 16, 0, 26, 0,
- 0, 0, 26, 0, 16, 0,
- 26, 0, 0, 0, 1, 64,
- 0, 0, 4, 0, 0, 0,
- 54, 0, 0, 5, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 42, 0, 16, 0,
- 26, 0, 0, 0, 54, 0,
- 0, 5, 66, 0, 16, 0,
- 26, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 22, 0, 0, 1, 54, 0,
- 0, 4, 18, 0, 16, 0,
- 21, 0, 0, 0, 10, 32,
- 2, 0, 48, 0, 0, 1,
- 33, 0, 0, 7, 66, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 3, 0,
- 4, 3, 42, 0, 16, 0,
- 21, 0, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 26, 0, 16, 0, 21, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 35, 0, 128, 131, 153,
- 25, 0, 130, 0, 16, 0,
- 21, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 224, 17, 0,
- 2, 0, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 21, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 255, 255, 167, 0, 0, 139,
- 2, 35, 0, 128, 131, 153,
- 25, 0, 66, 0, 16, 0,
- 21, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 224, 17, 0,
- 2, 0, 0, 0, 42, 0,
- 0, 10, 194, 0, 16, 0,
- 21, 0, 0, 0, 166, 14,
- 16, 0, 21, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 0, 16, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 55, 0, 0, 9, 66, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 39, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 22, 0, 0, 0, 30, 0,
- 0, 7, 194, 0, 16, 0,
- 21, 0, 0, 0, 86, 5,
- 16, 0, 19, 0, 0, 0,
- 166, 14, 16, 0, 21, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 224, 17, 0, 2, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 30, 0, 0, 7,
- 66, 0, 16, 0, 21, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 168, 0, 0, 9, 18, 224,
- 17, 0, 2, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 21, 0, 0, 1, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 4,
- 0, 0, 22, 0, 0, 1,
- 165, 0, 0, 7, 50, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 96, 0,
- 0, 0, 70, 240, 17, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 4, 18, 0, 16, 0,
- 26, 0, 0, 0, 10, 32,
- 2, 0, 48, 0, 0, 1,
- 33, 0, 0, 7, 66, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 26, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 3, 0,
- 4, 3, 42, 0, 16, 0,
- 21, 0, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 21, 0, 0, 0, 26, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 26, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 35, 0, 128, 131, 153,
- 25, 0, 66, 0, 16, 0,
- 21, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 224, 17, 0,
- 2, 0, 0, 0, 1, 0,
- 0, 7, 66, 0, 16, 0,
- 21, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 0, 0, 30, 0, 0, 7,
- 66, 0, 16, 0, 21, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 238, 17, 0, 1, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 26, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 37, 0,
- 0, 0, 30, 0, 0, 10,
- 242, 0, 16, 0, 26, 0,
- 0, 0, 6, 0, 16, 0,
- 26, 0, 0, 0, 2, 64,
- 0, 0, 0, 4, 0, 0,
- 183, 7, 0, 0, 110, 15,
- 0, 0, 37, 23, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 22, 0, 0, 1, 190, 24,
- 0, 1, 165, 0, 0, 7,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 84, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 56, 0, 0, 7, 34, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 165, 0,
- 0, 7, 66, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 100, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 130, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 112, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 54, 0, 0, 4, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 33, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 1, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 10, 242, 0, 16, 0,
- 37, 0, 0, 0, 246, 15,
- 16, 0, 22, 0, 0, 0,
- 2, 64, 0, 0, 183, 7,
- 0, 0, 110, 15, 0, 0,
- 37, 23, 0, 0, 0, 4,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 26, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 26, 0,
- 0, 0, 26, 0, 16, 0,
- 37, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 42, 0, 16, 0,
- 37, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 7,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 114, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 114, 16, 0, 14, 0,
- 0, 0, 17, 0, 0, 8,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 70, 14, 16, 0,
- 26, 0, 0, 0, 70, 158,
- 144, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 50, 0,
- 0, 9, 34, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 51, 0,
- 0, 7, 34, 0, 16, 0,
- 28, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 255, 66, 52, 0, 0, 7,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 27, 0, 0, 5, 34, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 17, 0, 0, 8,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 70, 14, 16, 0,
- 26, 0, 0, 0, 70, 158,
- 144, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 51, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 255, 66, 52, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 27, 0, 0, 5, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 35, 0, 0, 9,
- 34, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 1, 64,
- 0, 0, 128, 0, 0, 0,
- 26, 0, 16, 0, 28, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 1, 64,
- 0, 0, 0, 1, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 54, 0,
- 0, 8, 114, 0, 16, 0,
- 38, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 33, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 54, 0, 0, 5,
- 130, 0, 16, 0, 35, 0,
- 0, 0, 26, 0, 16, 0,
- 28, 0, 0, 0, 48, 0,
- 0, 1, 34, 0, 0, 7,
- 130, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 38, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 18, 0,
- 16, 0, 39, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 30, 0, 0, 10, 226, 0,
- 16, 0, 39, 0, 0, 0,
- 246, 15, 16, 0, 38, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 1, 0,
- 0, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 26, 0, 16, 0, 39, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 167, 0, 0, 139, 2, 35,
- 0, 128, 131, 153, 25, 0,
- 34, 0, 16, 0, 39, 0,
- 0, 0, 42, 0, 16, 0,
- 39, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 224, 17, 0, 2, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 35, 0, 128, 131, 153,
- 25, 0, 66, 0, 16, 0,
- 39, 0, 0, 0, 58, 0,
- 16, 0, 39, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 224, 17, 0,
- 2, 0, 0, 0, 84, 0,
- 0, 7, 18, 0, 16, 0,
- 39, 0, 0, 0, 58, 0,
- 16, 0, 38, 0, 0, 0,
- 10, 0, 16, 0, 39, 0,
- 0, 0, 84, 0, 0, 7,
- 18, 0, 16, 0, 39, 0,
- 0, 0, 26, 0, 16, 0,
- 39, 0, 0, 0, 10, 0,
- 16, 0, 39, 0, 0, 0,
- 36, 0, 0, 7, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 26, 0, 16, 0,
- 39, 0, 0, 0, 36, 0,
- 0, 7, 130, 0, 16, 0,
- 38, 0, 0, 0, 42, 0,
- 16, 0, 39, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 36, 0, 0, 7,
- 130, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 38, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 54, 0, 0, 5, 226, 0,
- 16, 0, 39, 0, 0, 0,
- 6, 9, 16, 0, 38, 0,
- 0, 0, 54, 0, 0, 5,
- 18, 0, 16, 0, 40, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 54, 0,
- 0, 5, 34, 0, 16, 0,
- 40, 0, 0, 0, 10, 0,
- 16, 0, 39, 0, 0, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 66, 0, 16, 0,
- 40, 0, 0, 0, 26, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 3, 0, 4, 3,
- 42, 0, 16, 0, 40, 0,
- 0, 0, 39, 0, 0, 7,
- 66, 0, 16, 0, 40, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 26, 0,
- 16, 0, 40, 0, 0, 0,
- 31, 0, 4, 3, 42, 0,
- 16, 0, 40, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 41, 0, 0, 0,
- 26, 0, 16, 0, 40, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 10, 114, 0,
- 16, 0, 42, 0, 0, 0,
- 86, 5, 16, 0, 40, 0,
- 0, 0, 2, 64, 0, 0,
- 183, 7, 0, 0, 110, 15,
- 0, 0, 37, 23, 0, 0,
- 0, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 41, 0, 0, 0, 10, 0,
- 16, 0, 42, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 41, 0, 0, 0, 26, 0,
- 16, 0, 42, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 40, 0, 0, 0, 42, 0,
- 16, 0, 42, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 41, 0, 0, 0, 70, 2,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 41, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 70, 2, 16, 0, 41, 0,
- 0, 0, 70, 2, 16, 0,
- 41, 0, 0, 0, 49, 0,
- 0, 7, 130, 0, 16, 0,
- 41, 0, 0, 0, 26, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 40, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 41, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 41, 0,
- 0, 0, 26, 0, 16, 0,
- 40, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 54, 0, 0, 5, 34, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 41, 0,
- 0, 0, 7, 0, 0, 1,
- 21, 0, 0, 1, 165, 0,
- 0, 7, 130, 0, 16, 0,
- 41, 0, 0, 0, 1, 64,
- 0, 0, 112, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 39, 0, 0, 7,
- 18, 0, 16, 0, 42, 0,
- 0, 0, 58, 0, 16, 0,
- 41, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 42, 0, 0, 0,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 42, 0, 0, 0,
- 1, 64, 0, 0, 100, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 42, 0, 0, 0, 26, 0,
- 16, 0, 40, 0, 0, 0,
- 10, 0, 16, 0, 42, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 35, 0, 128, 131, 153,
- 25, 0, 18, 0, 16, 0,
- 42, 0, 0, 0, 10, 0,
- 16, 0, 42, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 224, 17, 0,
- 2, 0, 0, 0, 1, 0,
- 0, 7, 18, 0, 16, 0,
- 42, 0, 0, 0, 10, 0,
- 16, 0, 42, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 41, 0,
- 0, 0, 58, 0, 16, 0,
- 41, 0, 0, 0, 10, 0,
- 16, 0, 42, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 114, 0, 16, 0, 42, 0,
- 0, 0, 58, 0, 16, 0,
- 41, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 114, 16, 0, 14, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 42, 0,
- 0, 0, 70, 2, 16, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 42, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 41, 0, 0, 0, 70, 2,
- 16, 0, 42, 0, 0, 0,
- 70, 2, 16, 0, 42, 0,
- 0, 0, 29, 0, 0, 7,
- 18, 0, 16, 0, 42, 0,
- 0, 0, 26, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 41, 0, 0, 0,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 42, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 42, 0, 0, 0,
- 26, 0, 16, 0, 40, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 54, 0,
- 0, 5, 34, 0, 16, 0,
- 40, 0, 0, 0, 10, 0,
- 16, 0, 42, 0, 0, 0,
- 7, 0, 0, 1, 21, 0,
- 0, 1, 0, 0, 0, 7,
- 130, 0, 16, 0, 41, 0,
- 0, 0, 58, 0, 16, 0,
- 41, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 14, 0, 0, 7, 130, 0,
- 16, 0, 41, 0, 0, 0,
- 26, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 41, 0, 0, 0, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 41, 0, 0, 0, 58, 0,
- 16, 0, 41, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 41, 0, 0, 0,
- 58, 0, 16, 0, 41, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 191, 51, 0,
- 0, 7, 130, 0, 16, 0,
- 41, 0, 0, 0, 58, 0,
- 16, 0, 41, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 18, 0, 0, 1,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 41, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 21, 0, 0, 1,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 40, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 0, 40, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 40, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 191,
- 52, 0, 0, 7, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 40, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 56, 0,
- 0, 7, 18, 0, 16, 0,
- 42, 0, 0, 0, 58, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 40, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 41, 0,
- 0, 0, 58, 0, 16, 0,
- 41, 0, 0, 0, 10, 0,
- 16, 0, 42, 0, 0, 0,
- 0, 0, 0, 7, 66, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 42, 0, 16, 0,
- 40, 0, 0, 0, 14, 0,
- 0, 7, 66, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 0, 41, 0, 0, 0,
- 42, 0, 16, 0, 40, 0,
- 0, 0, 50, 0, 0, 9,
- 226, 0, 16, 0, 39, 0,
- 0, 0, 166, 10, 16, 0,
- 40, 0, 0, 0, 6, 9,
- 16, 0, 41, 0, 0, 0,
- 86, 14, 16, 0, 39, 0,
- 0, 0, 0, 0, 0, 7,
- 18, 0, 16, 0, 40, 0,
- 0, 0, 58, 0, 16, 0,
- 40, 0, 0, 0, 10, 0,
- 16, 0, 40, 0, 0, 0,
- 21, 0, 0, 1, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 40, 0, 0, 0, 26, 0,
- 16, 0, 40, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 22, 0, 0, 1,
- 54, 0, 0, 5, 114, 0,
- 16, 0, 38, 0, 0, 0,
- 150, 7, 16, 0, 39, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 33, 0,
- 0, 0, 10, 0, 16, 0,
- 40, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 35, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 1, 64, 0, 0, 128, 0,
- 0, 0, 22, 0, 0, 1,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 72, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 56, 0,
- 0, 7, 18, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 10, 0, 16, 0, 26, 0,
- 0, 0, 14, 0, 0, 7,
- 18, 0, 16, 0, 26, 0,
- 0, 0, 10, 0, 16, 0,
- 26, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 165, 0, 0, 7, 34, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 96, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 26, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 114, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 226, 17, 0,
- 1, 0, 0, 0, 50, 0,
- 0, 9, 210, 0, 16, 0,
- 26, 0, 0, 0, 6, 9,
- 16, 0, 38, 0, 0, 0,
- 6, 0, 16, 0, 26, 0,
- 0, 0, 6, 9, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 114, 224, 17, 0,
- 1, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 134, 3, 16, 0,
- 26, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 22, 0, 0, 1, 190, 24,
- 0, 1, 165, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 96, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 4, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 33, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 238,
- 17, 0, 1, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 30, 0, 0, 10, 242, 0,
- 16, 0, 20, 0, 0, 0,
- 6, 0, 16, 0, 20, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 4, 0, 0, 183, 7,
- 0, 0, 110, 15, 0, 0,
- 37, 23, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 21, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 22, 0,
- 0, 1, 165, 0, 0, 7,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 100, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 4, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 33, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 19, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 85, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 16, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 19, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 224, 17, 0, 2, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 255, 255, 30, 0, 0, 7,
- 18, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 168, 0, 0, 9, 18, 224,
- 17, 0, 2, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 30, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 4, 0, 0, 22, 0,
- 0, 1, 21, 0, 0, 1,
- 31, 0, 0, 2, 10, 32,
- 2, 0, 165, 0, 0, 7,
- 18, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 8, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 56, 0, 0, 7, 18, 0,
- 16, 0, 17, 0, 0, 0,
- 10, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 122, 68, 28, 0,
- 0, 5, 18, 0, 16, 0,
- 17, 0, 0, 0, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 83, 0, 0, 7, 18, 0,
- 16, 0, 17, 0, 0, 0,
- 10, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 165, 0,
- 0, 7, 18, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 104, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 30, 0, 0, 7,
- 18, 0, 16, 0, 17, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 166, 0, 0, 7, 18, 240,
- 17, 0, 1, 0, 0, 0,
- 1, 64, 0, 0, 104, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 17, 0, 0, 0,
- 1, 64, 0, 0, 104, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 165, 0,
- 0, 7, 18, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 104, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 80, 0, 0, 7,
- 18, 0, 16, 0, 17, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 17, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 5, 18, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 54, 0, 0, 4, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 3, 0, 4, 3, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 10, 114, 0,
- 16, 0, 21, 0, 0, 0,
- 86, 5, 16, 0, 19, 0,
- 0, 0, 2, 64, 0, 0,
- 183, 7, 0, 0, 110, 15,
- 0, 0, 0, 4, 0, 0,
- 0, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 20, 0, 0, 0, 26, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 178, 0, 16, 0,
- 21, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 232, 17, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 20, 0, 0, 0, 70, 2,
- 16, 0, 20, 0, 0, 0,
- 70, 3, 16, 128, 65, 0,
- 0, 0, 21, 0, 0, 0,
- 52, 0, 0, 9, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 128, 129, 0,
- 0, 0, 20, 0, 0, 0,
- 10, 0, 16, 128, 129, 0,
- 0, 0, 20, 0, 0, 0,
- 52, 0, 0, 8, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 128, 129, 0,
- 0, 0, 20, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 52, 0, 0, 7,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 54, 0, 0, 5, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 22, 0, 0, 1,
- 31, 0, 0, 2, 10, 32,
- 2, 0, 165, 0, 0, 7,
- 18, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 100, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 17, 0, 0, 0,
- 10, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 166, 0,
- 0, 7, 18, 240, 17, 0,
- 1, 0, 0, 0, 1, 64,
- 0, 0, 100, 0, 0, 0,
- 10, 0, 16, 0, 17, 0,
- 0, 0, 165, 0, 0, 7,
- 18, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 104, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 104, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 30, 0,
- 0, 8, 18, 0, 16, 0,
- 17, 0, 0, 0, 10, 0,
- 16, 128, 65, 0, 0, 0,
- 17, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 166, 0, 0, 7, 18, 240,
- 17, 0, 1, 0, 0, 0,
- 1, 64, 0, 0, 104, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 21, 0,
- 0, 1, 165, 0, 0, 7,
- 18, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 112, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 8, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 56, 0,
- 0, 7, 18, 0, 16, 0,
- 17, 0, 0, 0, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 49, 0, 0, 7,
- 18, 0, 16, 0, 17, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 166, 0, 0, 7, 18, 240,
- 17, 0, 1, 0, 0, 0,
- 1, 64, 0, 0, 100, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 21, 0,
- 0, 1, 21, 0, 0, 1,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 15, 0, 0, 0,
- 26, 0, 16, 0, 15, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 22, 0,
- 0, 1, 190, 24, 0, 1,
- 165, 0, 0, 7, 98, 0,
- 16, 0, 0, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 241, 17, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 4, 18, 0, 16, 0,
- 1, 0, 0, 0, 10, 32,
- 2, 0, 48, 0, 0, 1,
- 80, 0, 0, 7, 130, 0,
- 16, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 1, 0,
- 0, 0, 26, 0, 16, 0,
- 0, 0, 0, 0, 3, 0,
- 4, 3, 58, 0, 16, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 1, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 2, 0,
- 0, 0, 10, 0, 16, 0,
- 1, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 10,
- 242, 0, 16, 0, 1, 0,
- 0, 0, 6, 0, 16, 0,
- 1, 0, 0, 0, 2, 64,
- 0, 0, 0, 4, 0, 0,
- 183, 7, 0, 0, 110, 15,
- 0, 0, 37, 23, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 2, 0, 0, 0,
- 26, 0, 16, 0, 1, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 2, 0, 0, 0,
- 42, 0, 16, 0, 1, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 2, 0, 0, 0,
- 58, 0, 16, 0, 1, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 168, 0, 0, 9, 242, 224,
- 17, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 14,
- 16, 0, 2, 0, 0, 0,
- 22, 0, 0, 1, 18, 0,
- 0, 1, 165, 0, 0, 7,
- 34, 0, 16, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 4, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 59, 0, 0, 4, 66, 0,
- 16, 0, 0, 0, 0, 0,
- 10, 32, 2, 0, 1, 0,
- 0, 7, 66, 0, 16, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 0, 0, 0, 0,
- 1, 64, 0, 0, 3, 0,
- 0, 0, 79, 0, 0, 9,
- 242, 0, 16, 0, 1, 0,
- 0, 0, 6, 32, 2, 0,
- 2, 64, 0, 0, 192, 0,
- 0, 0, 176, 0, 0, 0,
- 3, 0, 0, 0, 0, 2,
- 0, 0, 1, 0, 0, 9,
- 242, 0, 16, 0, 2, 0,
- 0, 0, 6, 32, 2, 0,
- 2, 64, 0, 0, 32, 0,
- 0, 0, 31, 0, 0, 0,
- 1, 0, 0, 0, 2, 0,
- 0, 0, 55, 0, 0, 9,
- 130, 0, 16, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 2, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 191,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 30, 0, 0, 9,
- 242, 0, 16, 0, 3, 0,
- 0, 0, 6, 32, 2, 0,
- 2, 64, 0, 0, 16, 0,
- 0, 0, 8, 0, 0, 0,
- 4, 0, 0, 0, 2, 0,
- 0, 0, 32, 0, 0, 7,
- 18, 0, 16, 0, 2, 0,
- 0, 0, 26, 0, 16, 0,
- 2, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 7, 18, 0,
- 16, 0, 2, 0, 0, 0,
- 10, 0, 16, 0, 1, 0,
- 0, 0, 10, 0, 16, 0,
- 2, 0, 0, 0, 85, 0,
- 0, 9, 50, 0, 16, 0,
- 4, 0, 0, 0, 6, 32,
- 2, 0, 2, 64, 0, 0,
- 6, 0, 0, 0, 5, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 41, 0,
- 0, 7, 66, 0, 16, 0,
- 4, 0, 0, 0, 26, 0,
- 16, 0, 4, 0, 0, 0,
- 1, 64, 0, 0, 2, 0,
- 0, 0, 41, 0, 0, 6,
- 130, 0, 16, 0, 4, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 3, 0,
- 0, 0, 30, 0, 0, 10,
- 194, 0, 16, 0, 4, 0,
- 0, 0, 166, 14, 16, 0,
- 4, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 0,
- 0, 0, 76, 0, 0, 0,
- 30, 0, 0, 7, 66, 0,
- 16, 0, 2, 0, 0, 0,
- 42, 0, 16, 0, 2, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 255, 255, 39, 0,
- 0, 7, 130, 0, 16, 0,
- 2, 0, 0, 0, 58, 0,
- 16, 0, 2, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 32, 0, 0, 7,
- 130, 0, 16, 0, 2, 0,
- 0, 0, 58, 0, 16, 0,
- 2, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 9, 114, 0,
- 16, 0, 5, 0, 0, 0,
- 6, 32, 2, 0, 2, 64,
- 0, 0, 4, 0, 0, 0,
- 8, 0, 0, 0, 224, 3,
- 0, 0, 0, 0, 0, 0,
- 39, 0, 0, 10, 50, 0,
- 16, 0, 5, 0, 0, 0,
- 70, 0, 16, 0, 5, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 32, 0,
- 0, 10, 50, 0, 16, 0,
- 5, 0, 0, 0, 70, 0,
- 16, 0, 5, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 30, 0, 0, 9,
- 242, 0, 16, 0, 6, 0,
- 0, 0, 6, 32, 2, 0,
- 2, 64, 0, 0, 1, 0,
- 0, 0, 16, 4, 0, 0,
- 16, 12, 0, 0, 8, 4,
- 0, 0, 79, 0, 0, 10,
- 242, 0, 16, 0, 7, 0,
- 0, 0, 86, 5, 16, 0,
- 2, 0, 0, 0, 2, 64,
- 0, 0, 16, 0, 0, 0,
- 8, 0, 0, 0, 4, 0,
- 0, 0, 2, 0, 0, 0,
- 79, 0, 0, 7, 130, 0,
- 16, 0, 5, 0, 0, 0,
- 26, 0, 16, 0, 2, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 30, 0,
- 0, 9, 242, 0, 16, 0,
- 8, 0, 0, 0, 6, 32,
- 2, 0, 2, 64, 0, 0,
- 8, 12, 0, 0, 4, 4,
- 0, 0, 4, 12, 0, 0,
- 2, 4, 0, 0, 30, 0,
- 0, 10, 242, 0, 16, 0,
- 9, 0, 0, 0, 70, 14,
- 16, 0, 3, 0, 0, 0,
- 2, 64, 0, 0, 0, 8,
- 0, 0, 0, 8, 0, 0,
- 0, 8, 0, 0, 0, 8,
- 0, 0, 30, 0, 0, 10,
- 114, 0, 16, 0, 10, 0,
- 0, 0, 166, 10, 16, 0,
- 5, 0, 0, 0, 2, 64,
- 0, 0, 0, 4, 0, 0,
- 0, 8, 0, 0, 0, 12,
- 0, 0, 0, 0, 0, 0,
- 30, 0, 0, 10, 50, 0,
- 16, 0, 11, 0, 0, 0,
- 86, 5, 16, 0, 4, 0,
- 0, 0, 2, 64, 0, 0,
- 1, 0, 0, 0, 1, 2,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 140, 0,
- 0, 19, 242, 0, 16, 0,
- 12, 0, 0, 0, 2, 64,
- 0, 0, 10, 0, 0, 0,
- 11, 0, 0, 0, 10, 0,
- 0, 0, 5, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 5, 0,
- 0, 0, 6, 32, 2, 0,
- 2, 64, 0, 0, 0, 4,
- 0, 0, 0, 8, 0, 0,
- 0, 12, 0, 0, 0, 0,
- 0, 0, 30, 0, 0, 7,
- 82, 0, 16, 0, 11, 0,
- 0, 0, 6, 1, 16, 0,
- 11, 0, 0, 0, 246, 15,
- 16, 0, 12, 0, 0, 0,
- 30, 0, 0, 9, 242, 0,
- 16, 0, 13, 0, 0, 0,
- 6, 32, 2, 0, 2, 64,
- 0, 0, 2, 12, 0, 0,
- 1, 4, 0, 0, 1, 12,
- 0, 0, 2, 2, 0, 0,
- 30, 0, 0, 10, 50, 0,
- 16, 0, 14, 0, 0, 0,
- 6, 0, 16, 0, 6, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 8, 0, 0, 0, 16,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 6, 130, 0, 16, 0,
- 10, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 16, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 11, 0, 0, 0, 58, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 16,
- 0, 0, 30, 0, 0, 9,
- 242, 0, 16, 0, 15, 0,
- 0, 0, 6, 32, 2, 0,
- 2, 64, 0, 0, 1, 16,
- 0, 0, 0, 2, 0, 0,
- 2, 18, 0, 0, 253, 15,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 12, 0,
- 0, 0, 26, 0, 16, 0,
- 15, 0, 0, 0, 1, 64,
- 0, 0, 0, 16, 0, 0,
- 80, 0, 0, 9, 242, 0,
- 16, 0, 16, 0, 0, 0,
- 6, 32, 2, 0, 2, 64,
- 0, 0, 1, 0, 0, 0,
- 2, 0, 0, 0, 4, 0,
- 0, 0, 8, 0, 0, 0,
- 30, 0, 0, 9, 242, 0,
- 16, 0, 17, 0, 0, 0,
- 6, 32, 2, 0, 2, 64,
- 0, 0, 250, 1, 0, 0,
- 241, 15, 0, 0, 226, 1,
- 0, 0, 193, 15, 0, 0,
- 30, 0, 0, 10, 194, 0,
- 16, 0, 14, 0, 0, 0,
- 6, 8, 16, 0, 17, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 16, 0, 0,
- 0, 16, 0, 0, 80, 0,
- 0, 9, 242, 0, 16, 0,
- 18, 0, 0, 0, 6, 32,
- 2, 0, 2, 64, 0, 0,
- 16, 0, 0, 0, 32, 0,
- 0, 0, 64, 0, 0, 0,
- 128, 0, 0, 0, 30, 0,
- 0, 9, 82, 0, 16, 0,
- 17, 0, 0, 0, 6, 32,
- 2, 0, 2, 64, 0, 0,
- 130, 1, 0, 0, 0, 0,
- 0, 0, 1, 15, 0, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 13, 0, 0, 0, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 1, 64, 0, 0, 0, 16,
- 0, 0, 80, 0, 0, 6,
- 34, 0, 16, 0, 15, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 1,
- 0, 0, 30, 0, 0, 10,
- 82, 0, 16, 0, 11, 0,
- 0, 0, 6, 2, 16, 0,
- 11, 0, 0, 0, 2, 64,
- 0, 0, 0, 16, 0, 0,
- 0, 0, 0, 0, 0, 16,
- 0, 0, 0, 0, 0, 0,
- 54, 0, 0, 5, 18, 0,
- 16, 0, 17, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 48, 0, 0, 1,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 16, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 80, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 17, 0, 0, 0,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 3, 0, 4, 3,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 86, 0, 0, 5,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 0, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 86, 0, 0, 5,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 19, 0, 0, 0, 14, 0,
- 0, 7, 18, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 31, 0, 0, 2,
- 10, 32, 2, 0, 165, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 12, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 30, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 17, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 167, 0, 0, 139, 2, 35,
- 3, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 20, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 2, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 35, 3, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 21, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 16, 0,
- 0, 0, 70, 126, 16, 0,
- 2, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 3, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 22, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 32, 0, 0, 0, 70, 126,
- 16, 0, 2, 0, 0, 0,
- 167, 0, 0, 139, 2, 35,
- 3, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 48, 0, 0, 0,
- 70, 126, 16, 0, 2, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 35, 3, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 24, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 64, 0,
- 0, 0, 70, 126, 16, 0,
- 2, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 3, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 25, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 80, 0, 0, 0, 70, 126,
- 16, 0, 2, 0, 0, 0,
- 167, 0, 0, 139, 2, 35,
- 3, 128, 131, 153, 25, 0,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 96, 0, 0, 0,
- 6, 112, 16, 0, 2, 0,
- 0, 0, 166, 0, 0, 7,
- 242, 240, 17, 0, 2, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 14,
- 16, 0, 20, 0, 0, 0,
- 166, 0, 0, 7, 242, 240,
- 17, 0, 2, 0, 0, 0,
- 1, 64, 0, 0, 16, 0,
- 0, 0, 70, 14, 16, 0,
- 21, 0, 0, 0, 166, 0,
- 0, 7, 242, 240, 17, 0,
- 2, 0, 0, 0, 1, 64,
- 0, 0, 32, 0, 0, 0,
- 70, 14, 16, 0, 22, 0,
- 0, 0, 166, 0, 0, 7,
- 242, 240, 17, 0, 2, 0,
- 0, 0, 1, 64, 0, 0,
- 48, 0, 0, 0, 70, 14,
- 16, 0, 23, 0, 0, 0,
- 166, 0, 0, 7, 242, 240,
- 17, 0, 2, 0, 0, 0,
- 1, 64, 0, 0, 64, 0,
- 0, 0, 70, 14, 16, 0,
- 24, 0, 0, 0, 166, 0,
- 0, 7, 242, 240, 17, 0,
- 2, 0, 0, 0, 1, 64,
- 0, 0, 80, 0, 0, 0,
- 70, 14, 16, 0, 25, 0,
- 0, 0, 166, 0, 0, 7,
- 18, 240, 17, 0, 2, 0,
- 0, 0, 1, 64, 0, 0,
- 96, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 165, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 114, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 12, 0,
- 0, 0, 70, 242, 17, 0,
- 2, 0, 0, 0, 165, 0,
- 0, 7, 242, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 60, 0, 0, 0,
- 70, 254, 17, 0, 2, 0,
- 0, 0, 165, 0, 0, 7,
- 242, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 24, 0, 0, 0, 70, 254,
- 17, 0, 2, 0, 0, 0,
- 165, 0, 0, 7, 242, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 76, 0,
- 0, 0, 70, 254, 17, 0,
- 2, 0, 0, 0, 165, 0,
- 0, 7, 242, 0, 16, 0,
- 24, 0, 0, 0, 1, 64,
- 0, 0, 40, 0, 0, 0,
- 70, 254, 17, 0, 2, 0,
- 0, 0, 165, 0, 0, 7,
- 50, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 92, 0, 0, 0, 70, 240,
- 17, 0, 2, 0, 0, 0,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 56, 0,
- 0, 0, 6, 240, 17, 0,
- 2, 0, 0, 0, 165, 0,
- 0, 7, 242, 0, 16, 0,
- 26, 0, 0, 0, 1, 64,
- 0, 0, 12, 0, 0, 0,
- 70, 254, 17, 0, 2, 0,
- 0, 0, 165, 0, 0, 7,
- 130, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 36, 0, 0, 0, 6, 240,
- 17, 0, 2, 0, 0, 0,
- 165, 0, 0, 7, 66, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 48, 0,
- 0, 0, 6, 240, 17, 0,
- 2, 0, 0, 0, 54, 0,
- 0, 4, 130, 0, 16, 0,
- 25, 0, 0, 0, 10, 32,
- 2, 0, 48, 0, 0, 1,
- 80, 0, 0, 7, 18, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 3, 0,
- 4, 3, 10, 0, 16, 0,
- 27, 0, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 28, 0, 0, 0, 10, 0,
- 16, 0, 27, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 238, 17, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 27, 0, 0, 0, 10, 0,
- 16, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 29, 0, 0, 0, 26, 0,
- 16, 0, 27, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 238, 17, 0,
- 0, 0, 0, 0, 24, 0,
- 0, 7, 66, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 55, 0, 0, 9,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 49, 0, 0, 7,
- 66, 0, 16, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 31, 0, 4, 3, 42, 0,
- 16, 0, 27, 0, 0, 0,
- 31, 0, 4, 3, 26, 0,
- 16, 0, 25, 0, 0, 0,
- 0, 0, 0, 7, 114, 0,
- 16, 0, 30, 0, 0, 0,
- 70, 2, 16, 0, 20, 0,
- 0, 0, 70, 2, 16, 0,
- 28, 0, 0, 0, 50, 0,
- 0, 9, 194, 0, 16, 0,
- 27, 0, 0, 0, 6, 0,
- 16, 0, 28, 0, 0, 0,
- 6, 12, 16, 0, 21, 0,
- 0, 0, 6, 4, 16, 0,
- 30, 0, 0, 0, 50, 0,
- 0, 9, 194, 0, 16, 0,
- 27, 0, 0, 0, 6, 0,
- 16, 0, 29, 0, 0, 0,
- 6, 12, 16, 0, 22, 0,
- 0, 0, 166, 14, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 21, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 29, 0, 0, 0,
- 26, 0, 16, 0, 22, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 42, 0,
- 16, 0, 28, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 18, 0, 16, 0,
- 30, 0, 0, 0, 42, 0,
- 16, 0, 29, 0, 0, 0,
- 42, 0, 16, 0, 22, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 10, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 29, 0, 0, 0,
- 10, 0, 16, 0, 24, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 42, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 34, 0, 16, 0,
- 30, 0, 0, 0, 42, 0,
- 16, 0, 29, 0, 0, 0,
- 26, 0, 16, 0, 24, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 10, 0,
- 16, 0, 28, 0, 0, 0,
- 42, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 30, 0, 0, 0, 50, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 10, 0,
- 16, 0, 29, 0, 0, 0,
- 42, 0, 16, 0, 24, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 24, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 42, 0,
- 16, 0, 28, 0, 0, 0,
- 10, 0, 16, 0, 25, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 66, 0, 16, 0,
- 27, 0, 0, 0, 42, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 27, 0, 0, 0, 18, 0,
- 0, 1, 0, 0, 0, 8,
- 114, 0, 16, 0, 31, 0,
- 0, 0, 70, 2, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 29, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 27, 0, 0, 0, 10, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 10, 0, 16, 0,
- 26, 0, 0, 0, 0, 0,
- 0, 7, 18, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 10, 0, 16, 0, 28, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 26, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 26, 0, 16, 0, 26, 0,
- 0, 0, 0, 0, 0, 7,
- 34, 0, 16, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 28, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 42, 0, 16, 0, 31, 0,
- 0, 0, 42, 0, 16, 0,
- 25, 0, 0, 0, 42, 0,
- 16, 0, 26, 0, 0, 0,
- 0, 0, 0, 7, 66, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 42, 0, 16, 0,
- 28, 0, 0, 0, 21, 0,
- 0, 1, 165, 0, 0, 7,
- 114, 0, 16, 0, 31, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 242,
- 17, 0, 2, 0, 0, 0,
- 0, 0, 0, 7, 114, 0,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 28, 0,
- 0, 0, 70, 2, 16, 0,
- 31, 0, 0, 0, 54, 0,
- 0, 5, 50, 0, 16, 0,
- 28, 0, 0, 0, 70, 0,
- 16, 0, 30, 0, 0, 0,
- 54, 0, 0, 5, 66, 0,
- 16, 0, 28, 0, 0, 0,
- 42, 0, 16, 0, 27, 0,
- 0, 0, 18, 0, 0, 1,
- 54, 0, 0, 5, 114, 0,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 28, 0,
- 0, 0, 21, 0, 0, 1,
- 168, 0, 0, 9, 242, 224,
- 17, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 14,
- 16, 0, 28, 0, 0, 0,
- 168, 0, 0, 9, 242, 224,
- 17, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 14,
- 16, 0, 29, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 4, 0, 0, 22, 0,
- 0, 1, 165, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 44, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 190, 24, 0, 1, 165, 0,
- 0, 7, 130, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 8, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 55, 0, 0, 9, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 41, 0,
- 0, 7, 34, 0, 16, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 2, 0,
- 0, 0, 54, 0, 0, 4,
- 66, 0, 16, 0, 20, 0,
- 0, 0, 10, 32, 2, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 130, 0, 16, 0,
- 20, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 3, 0, 4, 3,
- 58, 0, 16, 0, 20, 0,
- 0, 0, 85, 0, 0, 7,
- 130, 0, 16, 0, 20, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 2, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 26, 0, 16, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 238,
- 17, 0, 0, 0, 0, 0,
- 49, 0, 0, 7, 18, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 31, 0,
- 4, 3, 10, 0, 16, 0,
- 22, 0, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 22, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 20, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 13, 0, 0, 0, 50, 0,
- 0, 9, 242, 0, 16, 0,
- 21, 0, 0, 0, 70, 14,
- 16, 0, 22, 0, 0, 0,
- 246, 15, 16, 0, 19, 0,
- 0, 0, 70, 14, 16, 0,
- 21, 0, 0, 0, 168, 0,
- 0, 9, 242, 224, 17, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 14, 16, 0,
- 21, 0, 0, 0, 21, 0,
- 0, 1, 30, 0, 0, 7,
- 66, 0, 16, 0, 20, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 4, 0, 0,
- 22, 0, 0, 1, 190, 24,
- 0, 1, 165, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 28, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 39, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 255, 255, 31, 0,
- 4, 3, 42, 0, 16, 0,
- 19, 0, 0, 0, 165, 0,
- 0, 7, 194, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 36, 0, 0, 0,
- 6, 244, 17, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 114, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 24, 0, 0, 0, 70, 242,
- 17, 0, 1, 0, 0, 0,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 4, 18, 0, 16, 0,
- 21, 0, 0, 0, 10, 32,
- 2, 0, 48, 0, 0, 1,
- 80, 0, 0, 7, 34, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 3, 0,
- 4, 3, 26, 0, 16, 0,
- 21, 0, 0, 0, 30, 0,
- 0, 7, 98, 0, 16, 0,
- 21, 0, 0, 0, 86, 6,
- 16, 0, 20, 0, 0, 0,
- 6, 0, 16, 0, 21, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 22, 0, 0, 0, 26, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 11, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 23, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 126,
- 16, 0, 11, 0, 0, 0,
- 0, 0, 0, 8, 242, 0,
- 16, 0, 23, 0, 0, 0,
- 70, 14, 16, 128, 65, 0,
- 0, 0, 22, 0, 0, 0,
- 70, 14, 16, 0, 23, 0,
- 0, 0, 50, 0, 0, 9,
- 242, 0, 16, 0, 22, 0,
- 0, 0, 70, 14, 16, 0,
- 23, 0, 0, 0, 6, 0,
- 16, 0, 19, 0, 0, 0,
- 70, 14, 16, 0, 22, 0,
- 0, 0, 30, 0, 0, 7,
- 34, 0, 16, 0, 21, 0,
- 0, 0, 26, 0, 16, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 23, 0,
- 0, 0, 26, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 238, 17, 0, 0, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 22, 0,
- 0, 0, 70, 2, 16, 0,
- 22, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 23, 0, 0, 0, 16, 0,
- 0, 7, 66, 0, 16, 0,
- 21, 0, 0, 0, 70, 2,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 22, 0,
- 0, 0, 0, 0, 0, 7,
- 66, 0, 16, 0, 21, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 50, 0, 0, 11, 130, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 42, 0, 16, 128,
- 65, 0, 0, 0, 19, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 19, 0,
- 0, 0, 51, 0, 0, 7,
- 130, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 68, 0, 0, 5, 66, 0,
- 16, 0, 21, 0, 0, 0,
- 42, 0, 16, 0, 21, 0,
- 0, 0, 50, 0, 0, 9,
- 66, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 21, 0, 0, 0, 42, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 52, 0, 0, 7,
- 66, 0, 16, 0, 21, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 56, 0, 0, 7, 66, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 22, 0, 0, 0, 166, 10,
- 16, 0, 21, 0, 0, 0,
- 70, 2, 16, 0, 22, 0,
- 0, 0, 70, 2, 16, 0,
- 23, 0, 0, 0, 29, 0,
- 0, 7, 66, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 55, 0, 0, 9,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 42, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 168, 0, 0, 9,
- 242, 224, 17, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 14, 16, 0, 22, 0,
- 0, 0, 30, 0, 0, 7,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 4, 0, 0,
- 22, 0, 0, 1, 21, 0,
- 0, 1, 165, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 20, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 24, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 165, 0,
- 0, 7, 18, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 24, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 32, 0, 0, 7,
- 34, 0, 16, 0, 20, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 60, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 31, 0,
- 0, 3, 58, 0, 16, 0,
- 19, 0, 0, 0, 165, 0,
- 0, 7, 130, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 86, 0, 0, 5,
- 34, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 56, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 86, 0, 0, 5,
- 34, 0, 16, 0, 20, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 14, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 165, 0, 0, 7,
- 98, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 28, 0, 0, 0, 6, 241,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 4, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 26, 0, 16, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 238,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 8, 226, 0,
- 16, 0, 21, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 5,
- 18, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 34, 0, 16, 0, 23, 0,
- 0, 0, 10, 0, 16, 0,
- 23, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 3, 0, 4, 3, 26, 0,
- 16, 0, 23, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 10, 0, 16, 0,
- 23, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 34, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 112,
- 16, 0, 5, 0, 0, 0,
- 1, 0, 0, 7, 66, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 23, 0, 0, 0, 26, 0,
- 16, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 23, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 114, 0, 16, 0,
- 24, 0, 0, 0, 42, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 226, 17, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 24, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 22, 0, 0, 0, 70, 2,
- 16, 0, 24, 0, 0, 0,
- 50, 0, 0, 9, 66, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 0, 16, 0, 24, 0,
- 0, 0, 10, 0, 16, 0,
- 24, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 50, 0, 0, 9, 66, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 24, 0,
- 0, 0, 26, 0, 16, 0,
- 24, 0, 0, 0, 42, 0,
- 16, 0, 23, 0, 0, 0,
- 50, 0, 0, 9, 66, 0,
- 16, 0, 23, 0, 0, 0,
- 42, 0, 16, 0, 24, 0,
- 0, 0, 42, 0, 16, 0,
- 24, 0, 0, 0, 42, 0,
- 16, 0, 23, 0, 0, 0,
- 85, 0, 0, 7, 34, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 16, 0, 0, 0, 86, 0,
- 0, 5, 34, 0, 16, 0,
- 23, 0, 0, 0, 26, 0,
- 16, 0, 23, 0, 0, 0,
- 56, 0, 0, 7, 34, 0,
- 16, 0, 23, 0, 0, 0,
- 42, 0, 16, 0, 20, 0,
- 0, 0, 26, 0, 16, 0,
- 23, 0, 0, 0, 68, 0,
- 0, 5, 66, 0, 16, 0,
- 23, 0, 0, 0, 42, 0,
- 16, 0, 23, 0, 0, 0,
- 50, 0, 0, 10, 34, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 128, 65, 0,
- 0, 0, 23, 0, 0, 0,
- 42, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 49, 0,
- 0, 7, 66, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 50, 0, 0, 9,
- 114, 0, 16, 0, 24, 0,
- 0, 0, 70, 2, 16, 0,
- 24, 0, 0, 0, 86, 5,
- 16, 0, 23, 0, 0, 0,
- 150, 7, 16, 0, 21, 0,
- 0, 0, 55, 0, 0, 9,
- 226, 0, 16, 0, 21, 0,
- 0, 0, 166, 10, 16, 0,
- 23, 0, 0, 0, 6, 9,
- 16, 0, 24, 0, 0, 0,
- 86, 14, 16, 0, 21, 0,
- 0, 0, 30, 0, 0, 7,
- 18, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 23, 0, 0, 0,
- 22, 0, 0, 1, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 22, 0, 0, 0, 150, 7,
- 16, 0, 21, 0, 0, 0,
- 166, 10, 16, 0, 19, 0,
- 0, 0, 70, 2, 16, 0,
- 22, 0, 0, 0, 168, 0,
- 0, 9, 242, 224, 17, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 14, 16, 0,
- 22, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 4,
- 0, 0, 22, 0, 0, 1,
- 21, 0, 0, 1, 54, 0,
- 0, 5, 66, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 48, 0, 0, 1, 165, 0,
- 0, 7, 130, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 8, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 80, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 114, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 12, 0,
- 0, 0, 70, 242, 17, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 195, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 139, 2, 195, 0, 128,
- 131, 153, 25, 0, 146, 0,
- 16, 0, 20, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 16, 0, 0, 0, 6, 116,
- 16, 0, 3, 0, 0, 0,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 108, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 56, 0,
- 0, 7, 50, 0, 16, 0,
- 22, 0, 0, 0, 246, 15,
- 16, 0, 19, 0, 0, 0,
- 70, 0, 16, 0, 22, 0,
- 0, 0, 25, 0, 0, 5,
- 50, 0, 16, 0, 22, 0,
- 0, 0, 70, 0, 16, 0,
- 22, 0, 0, 0, 0, 0,
- 0, 11, 50, 0, 16, 0,
- 22, 0, 0, 0, 70, 0,
- 16, 128, 65, 0, 0, 0,
- 22, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 39, 0,
- 0, 7, 66, 0, 16, 0,
- 20, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 255, 255, 165, 0, 0, 7,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 20, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 190, 24,
- 0, 1, 54, 0, 0, 4,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 10, 32, 2, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 18, 0, 16, 0,
- 23, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 20, 0,
- 0, 0, 3, 0, 4, 3,
- 10, 0, 16, 0, 23, 0,
- 0, 0, 30, 0, 0, 7,
- 18, 0, 16, 0, 23, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 167, 0, 0, 139, 2, 67,
- 0, 128, 131, 153, 25, 0,
- 50, 0, 16, 0, 23, 0,
- 0, 0, 10, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 112, 16, 0, 4, 0,
- 0, 0, 1, 0, 0, 7,
- 66, 0, 16, 0, 23, 0,
- 0, 0, 26, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 0, 0,
- 85, 0, 0, 7, 34, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 16, 0, 0, 0, 30, 0,
- 0, 7, 98, 0, 16, 0,
- 23, 0, 0, 0, 86, 5,
- 16, 0, 0, 0, 0, 0,
- 86, 6, 16, 0, 23, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 24, 0, 0, 0, 42, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 238, 17, 0,
- 0, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 238,
- 17, 0, 0, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 24, 0, 0, 0,
- 70, 2, 16, 0, 25, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 10, 0, 16, 0,
- 26, 0, 0, 0, 10, 0,
- 16, 0, 26, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 50, 0, 0, 9,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 26, 0, 16, 0,
- 26, 0, 0, 0, 26, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 26, 0, 0, 0, 42, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 49, 0, 0, 7,
- 130, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 10, 0,
- 16, 0, 23, 0, 0, 0,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 50, 0, 0, 9,
- 18, 0, 16, 0, 23, 0,
- 0, 0, 10, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 191, 1, 0, 0, 7,
- 18, 0, 16, 0, 23, 0,
- 0, 0, 10, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 51, 0, 0, 8, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 10, 0, 16, 128,
- 65, 0, 0, 0, 23, 0,
- 0, 0, 52, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 50, 0, 0, 9, 18, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 10, 0,
- 16, 0, 23, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 112,
- 16, 0, 16, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 25, 0,
- 0, 5, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 0, 0, 0, 8, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 55, 0, 0, 9,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 0, 16, 0, 22, 0,
- 0, 0, 56, 0, 0, 7,
- 18, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 10, 0,
- 16, 0, 23, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 24, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 14, 0, 0, 7,
- 18, 0, 16, 0, 23, 0,
- 0, 0, 10, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 56, 0, 0, 8, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 24, 0,
- 0, 0, 50, 0, 0, 9,
- 114, 0, 16, 0, 24, 0,
- 0, 0, 246, 15, 16, 0,
- 23, 0, 0, 0, 70, 2,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 0, 24, 0,
- 0, 0, 168, 0, 0, 9,
- 114, 224, 17, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 2, 16, 0, 24, 0,
- 0, 0, 56, 0, 0, 7,
- 18, 0, 16, 0, 23, 0,
- 0, 0, 10, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 50, 0, 0, 9, 210, 0,
- 16, 0, 23, 0, 0, 0,
- 6, 0, 16, 0, 23, 0,
- 0, 0, 6, 9, 16, 0,
- 26, 0, 0, 0, 6, 9,
- 16, 0, 25, 0, 0, 0,
- 168, 0, 0, 9, 114, 224,
- 17, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 134, 3,
- 16, 0, 23, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 4, 0, 0, 22, 0,
- 0, 1, 30, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 22, 0, 0, 1, 190, 24,
- 0, 1, 165, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 36, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 39, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 255, 255, 31, 0,
- 4, 3, 42, 0, 16, 0,
- 19, 0, 0, 0, 165, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 50, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 36, 0, 0, 0, 70, 240,
- 17, 0, 1, 0, 0, 0,
- 54, 0, 0, 4, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 66, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 30, 0, 0, 7, 194, 0,
- 16, 0, 20, 0, 0, 0,
- 6, 4, 16, 0, 20, 0,
- 0, 0, 246, 15, 16, 0,
- 19, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 22, 0, 0, 0,
- 42, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 126,
- 16, 0, 12, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 12, 0,
- 0, 0, 0, 0, 0, 8,
- 242, 0, 16, 0, 23, 0,
- 0, 0, 70, 14, 16, 128,
- 65, 0, 0, 0, 22, 0,
- 0, 0, 70, 14, 16, 0,
- 23, 0, 0, 0, 50, 0,
- 0, 9, 242, 0, 16, 0,
- 22, 0, 0, 0, 70, 14,
- 16, 0, 23, 0, 0, 0,
- 6, 0, 16, 0, 19, 0,
- 0, 0, 70, 14, 16, 0,
- 22, 0, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 20, 0, 0, 0, 26, 0,
- 16, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 114, 0, 16, 0,
- 23, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 226, 17, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 22, 0, 0, 0, 70, 2,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 23, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 70, 2, 16, 0, 22, 0,
- 0, 0, 70, 2, 16, 0,
- 22, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 68, 0, 0, 5,
- 130, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 51, 0, 0, 7,
- 130, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 22, 0, 0, 0,
- 246, 15, 16, 0, 20, 0,
- 0, 0, 70, 2, 16, 0,
- 22, 0, 0, 0, 70, 2,
- 16, 0, 23, 0, 0, 0,
- 168, 0, 0, 9, 114, 224,
- 17, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 2,
- 16, 0, 22, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 4, 0, 0, 22, 0,
- 0, 1, 190, 24, 0, 1,
- 21, 0, 0, 1, 31, 0,
- 4, 3, 10, 0, 16, 0,
- 1, 0, 0, 0, 165, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 84, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 2, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 20, 0, 0, 0, 26, 0,
- 16, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 238, 17, 0,
- 0, 0, 0, 0, 17, 0,
- 0, 8, 18, 0, 16, 0,
- 20, 0, 0, 0, 70, 14,
- 16, 0, 20, 0, 0, 0,
- 70, 158, 144, 0, 10, 0,
- 16, 0, 4, 0, 0, 0,
- 56, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 58, 0, 16, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 4, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 54, 0, 0, 5, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 48, 0, 0, 1,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 32, 0, 0, 0, 80, 0,
- 0, 7, 34, 0, 16, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 3, 0, 4, 3,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 167, 0, 0, 8,
- 34, 0, 16, 0, 20, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 4, 0, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 20, 0, 0, 0, 26, 0,
- 16, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 22, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 238, 17, 0,
- 0, 0, 0, 0, 17, 0,
- 0, 8, 66, 0, 16, 0,
- 20, 0, 0, 0, 70, 14,
- 16, 0, 22, 0, 0, 0,
- 70, 158, 144, 0, 10, 0,
- 16, 0, 4, 0, 0, 0,
- 56, 0, 0, 7, 66, 0,
- 16, 0, 20, 0, 0, 0,
- 58, 0, 16, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 52, 0,
- 0, 7, 34, 0, 16, 0,
- 20, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 4, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 22, 0,
- 0, 1, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 26, 0, 16, 0,
- 1, 0, 0, 0, 167, 0,
- 0, 8, 66, 0, 16, 0,
- 19, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 4, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 4, 0, 0, 0,
- 52, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 4, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 26, 0, 16, 0, 1, 0,
- 0, 0, 167, 0, 0, 8,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 4, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 4, 0, 0, 0, 52, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 4, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 26, 0,
- 16, 0, 1, 0, 0, 0,
- 167, 0, 0, 8, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 4, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 4, 0,
- 0, 0, 52, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 4, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 26, 0, 16, 0,
- 1, 0, 0, 0, 167, 0,
- 0, 8, 66, 0, 16, 0,
- 19, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 4, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 4, 0, 0, 0,
- 52, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 4, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 26, 0, 16, 0, 1, 0,
- 0, 0, 167, 0, 0, 8,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 4, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 4, 0, 0, 0, 52, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 4, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 2, 0, 0, 0,
- 167, 0, 0, 8, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 4, 0,
- 0, 0, 166, 0, 0, 7,
- 18, 240, 17, 0, 1, 0,
- 0, 0, 42, 0, 16, 0,
- 4, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 165, 0, 0, 7,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 16, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 86, 0, 0, 5, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 14, 0, 0, 7,
- 34, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 60, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 31, 0,
- 4, 3, 42, 0, 16, 0,
- 19, 0, 0, 0, 165, 0,
- 0, 7, 130, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 80, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 49, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 165, 0,
- 0, 7, 34, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 64, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 194, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 56, 0, 0, 0, 6, 244,
- 17, 0, 1, 0, 0, 0,
- 54, 0, 0, 4, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 18, 0, 16, 0, 22, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 3, 0, 4, 3, 10, 0,
- 16, 0, 22, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 22, 0, 0, 0,
- 26, 0, 16, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 238,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 8, 242, 0,
- 16, 0, 24, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 5,
- 34, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 66, 0, 16, 0, 22, 0,
- 0, 0, 26, 0, 16, 0,
- 22, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 42, 0,
- 16, 0, 22, 0, 0, 0,
- 30, 0, 0, 7, 66, 0,
- 16, 0, 22, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 26, 0, 16, 0,
- 22, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 66, 0,
- 16, 0, 22, 0, 0, 0,
- 42, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 112,
- 16, 0, 8, 0, 0, 0,
- 136, 0, 0, 5, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 42, 0, 16, 0, 22, 0,
- 0, 0, 30, 0, 0, 7,
- 50, 0, 16, 0, 25, 0,
- 0, 0, 230, 10, 16, 0,
- 20, 0, 0, 0, 246, 15,
- 16, 0, 22, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 26, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 9, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 25, 0, 0, 0, 26, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 9, 0, 0, 0, 0, 0,
- 0, 8, 242, 0, 16, 0,
- 25, 0, 0, 0, 70, 14,
- 16, 128, 65, 0, 0, 0,
- 26, 0, 0, 0, 70, 14,
- 16, 0, 25, 0, 0, 0,
- 50, 0, 0, 9, 242, 0,
- 16, 0, 25, 0, 0, 0,
- 6, 0, 16, 0, 19, 0,
- 0, 0, 70, 14, 16, 0,
- 25, 0, 0, 0, 70, 14,
- 16, 0, 26, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 23, 0,
- 0, 0, 70, 2, 16, 0,
- 25, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 54, 0, 0, 5,
- 114, 0, 16, 0, 26, 0,
- 0, 0, 70, 2, 16, 0,
- 25, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 25, 0, 0, 0, 42, 0,
- 16, 0, 22, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 48, 0, 0, 1,
- 49, 0, 0, 7, 18, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 255, 255, 1, 0, 0, 7,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 26, 0,
- 16, 0, 27, 0, 0, 0,
- 39, 0, 0, 7, 34, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 1, 0,
- 0, 7, 18, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 27, 0, 0, 0,
- 10, 0, 16, 0, 27, 0,
- 0, 0, 3, 0, 0, 3,
- 10, 0, 16, 0, 27, 0,
- 0, 0, 136, 0, 0, 5,
- 18, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 30, 0,
- 0, 7, 50, 0, 16, 0,
- 27, 0, 0, 0, 230, 10,
- 16, 0, 20, 0, 0, 0,
- 6, 0, 16, 0, 27, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 28, 0, 0, 0, 10, 0,
- 16, 0, 27, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 9, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 27, 0, 0, 0,
- 26, 0, 16, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 126,
- 16, 0, 9, 0, 0, 0,
- 0, 0, 0, 8, 242, 0,
- 16, 0, 27, 0, 0, 0,
- 70, 14, 16, 128, 65, 0,
- 0, 0, 28, 0, 0, 0,
- 70, 14, 16, 0, 27, 0,
- 0, 0, 50, 0, 0, 9,
- 242, 0, 16, 0, 27, 0,
- 0, 0, 6, 0, 16, 0,
- 19, 0, 0, 0, 70, 14,
- 16, 0, 27, 0, 0, 0,
- 70, 14, 16, 0, 28, 0,
- 0, 0, 16, 0, 0, 7,
- 18, 0, 16, 0, 28, 0,
- 0, 0, 70, 2, 16, 0,
- 23, 0, 0, 0, 70, 2,
- 16, 0, 27, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 10, 0, 16, 0,
- 28, 0, 0, 0, 49, 0,
- 0, 7, 18, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 26, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 55, 0, 0, 9,
- 242, 0, 16, 0, 26, 0,
- 0, 0, 6, 0, 16, 0,
- 28, 0, 0, 0, 70, 14,
- 16, 0, 27, 0, 0, 0,
- 70, 14, 16, 0, 26, 0,
- 0, 0, 22, 0, 0, 1,
- 49, 0, 0, 7, 66, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 26, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 25, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 26, 0, 0, 0, 246, 15,
- 16, 0, 26, 0, 0, 0,
- 70, 2, 16, 0, 24, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 24, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 55, 0, 0, 9, 242, 0,
- 16, 0, 24, 0, 0, 0,
- 166, 10, 16, 0, 22, 0,
- 0, 0, 70, 14, 16, 0,
- 25, 0, 0, 0, 70, 14,
- 16, 0, 24, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 22, 0, 0, 0,
- 26, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 22, 0,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 24, 0,
- 0, 0, 86, 0, 0, 5,
- 34, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 24, 0, 0, 0, 14, 0,
- 0, 10, 34, 0, 16, 0,
- 22, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 26, 0, 16, 0, 22, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 30, 0, 0, 7,
- 66, 0, 16, 0, 22, 0,
- 0, 0, 10, 0, 16, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 114, 0, 16, 0, 25, 0,
- 0, 0, 42, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 226, 17, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 80, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 25, 0, 0, 0,
- 70, 2, 16, 0, 24, 0,
- 0, 0, 70, 2, 16, 0,
- 24, 0, 0, 0, 0, 0,
- 0, 7, 18, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 68, 0, 0, 5,
- 18, 0, 16, 0, 27, 0,
- 0, 0, 10, 0, 16, 0,
- 27, 0, 0, 0, 56, 0,
- 0, 7, 226, 0, 16, 0,
- 27, 0, 0, 0, 6, 9,
- 16, 0, 24, 0, 0, 0,
- 6, 0, 16, 0, 27, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 28, 0,
- 0, 0, 70, 2, 16, 0,
- 23, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 25, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 0, 28, 0, 0, 0,
- 150, 7, 16, 0, 27, 0,
- 0, 0, 50, 0, 0, 10,
- 226, 0, 16, 0, 27, 0,
- 0, 0, 246, 15, 16, 128,
- 65, 0, 0, 0, 28, 0,
- 0, 0, 86, 14, 16, 0,
- 27, 0, 0, 0, 6, 9,
- 16, 0, 28, 0, 0, 0,
- 16, 0, 0, 7, 18, 0,
- 16, 0, 28, 0, 0, 0,
- 150, 7, 16, 0, 27, 0,
- 0, 0, 150, 7, 16, 0,
- 27, 0, 0, 0, 0, 0,
- 0, 7, 18, 0, 16, 0,
- 28, 0, 0, 0, 10, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 68, 0, 0, 5,
- 18, 0, 16, 0, 28, 0,
- 0, 0, 10, 0, 16, 0,
- 28, 0, 0, 0, 56, 0,
- 0, 8, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 26, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 10, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 52, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 191, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 25, 0, 0, 0, 150, 7,
- 16, 128, 65, 0, 0, 0,
- 27, 0, 0, 0, 246, 15,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 25, 0,
- 0, 0, 168, 0, 0, 9,
- 114, 224, 17, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 2, 16, 0, 25, 0,
- 0, 0, 21, 0, 0, 1,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 23, 0, 0, 0,
- 70, 2, 16, 0, 24, 0,
- 0, 0, 86, 5, 16, 0,
- 22, 0, 0, 0, 70, 2,
- 16, 0, 23, 0, 0, 0,
- 168, 0, 0, 9, 242, 224,
- 17, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 14,
- 16, 0, 23, 0, 0, 0,
- 21, 0, 0, 1, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 4,
- 0, 0, 22, 0, 0, 1,
- 21, 0, 0, 1, 27, 0,
- 0, 5, 66, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 30, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 114, 0,
- 16, 0, 20, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 226,
- 17, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 68, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 165, 0,
- 0, 7, 130, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 64, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 54, 0, 0, 8,
- 114, 0, 16, 0, 22, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 8, 50, 0, 16, 0,
- 23, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 255, 255, 127, 127, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 54, 0, 0, 5, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 48, 0, 0, 1,
- 80, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 3, 0,
- 4, 3, 58, 0, 16, 0,
- 22, 0, 0, 0, 35, 0,
- 0, 9, 130, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 167, 0,
- 0, 139, 2, 99, 0, 128,
- 131, 153, 25, 0, 114, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 114,
- 16, 0, 10, 0, 0, 0,
- 30, 0, 0, 10, 194, 0,
- 16, 0, 23, 0, 0, 0,
- 246, 15, 16, 0, 22, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0,
- 2, 0, 0, 0, 167, 0,
- 0, 139, 2, 99, 0, 128,
- 131, 153, 25, 0, 114, 0,
- 16, 0, 27, 0, 0, 0,
- 42, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 114,
- 16, 0, 10, 0, 0, 0,
- 167, 0, 0, 139, 2, 99,
- 0, 128, 131, 153, 25, 0,
- 114, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 114, 16, 0, 10, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 27, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 25, 0,
- 0, 0, 70, 2, 16, 0,
- 27, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 25, 0, 0, 0, 70, 2,
- 16, 0, 28, 0, 0, 0,
- 56, 0, 0, 7, 114, 0,
- 16, 0, 29, 0, 0, 0,
- 38, 9, 16, 0, 27, 0,
- 0, 0, 150, 4, 16, 0,
- 28, 0, 0, 0, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 29, 0, 0, 0, 150, 4,
- 16, 0, 27, 0, 0, 0,
- 38, 9, 16, 0, 28, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 29, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 70, 2, 16, 0,
- 29, 0, 0, 0, 70, 2,
- 16, 0, 29, 0, 0, 0,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 56, 0, 0, 7,
- 114, 0, 16, 0, 29, 0,
- 0, 0, 246, 15, 16, 0,
- 22, 0, 0, 0, 70, 2,
- 16, 0, 29, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 27, 0,
- 0, 0, 70, 2, 16, 0,
- 28, 0, 0, 0, 16, 0,
- 0, 7, 66, 0, 16, 0,
- 23, 0, 0, 0, 70, 2,
- 16, 0, 27, 0, 0, 0,
- 70, 2, 16, 0, 27, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 70, 2, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 0, 28, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 25, 0, 0, 0, 42, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 25, 0,
- 0, 0, 14, 0, 0, 10,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 0, 0, 128, 63, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 23, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 192, 58, 0, 16, 0,
- 27, 0, 0, 0, 14, 0,
- 0, 10, 130, 0, 16, 0,
- 27, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 14, 0, 0, 10,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 0, 0, 128, 63, 42, 0,
- 16, 0, 23, 0, 0, 0,
- 14, 0, 0, 10, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 58, 0, 16, 0,
- 23, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 25, 0, 0, 0, 70, 2,
- 16, 0, 20, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 25, 0, 0, 0,
- 16, 0, 0, 7, 18, 0,
- 16, 0, 30, 0, 0, 0,
- 70, 2, 16, 0, 25, 0,
- 0, 0, 70, 2, 16, 0,
- 27, 0, 0, 0, 16, 0,
- 0, 7, 34, 0, 16, 0,
- 30, 0, 0, 0, 70, 2,
- 16, 0, 25, 0, 0, 0,
- 70, 2, 16, 0, 28, 0,
- 0, 0, 16, 0, 0, 7,
- 18, 0, 16, 0, 31, 0,
- 0, 0, 70, 2, 16, 0,
- 25, 0, 0, 0, 70, 2,
- 16, 0, 29, 0, 0, 0,
- 56, 0, 0, 7, 194, 0,
- 16, 0, 30, 0, 0, 0,
- 246, 15, 16, 0, 22, 0,
- 0, 0, 86, 1, 16, 0,
- 30, 0, 0, 0, 50, 0,
- 0, 10, 66, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 0, 16, 0, 30, 0,
- 0, 0, 42, 0, 16, 128,
- 65, 0, 0, 0, 30, 0,
- 0, 0, 50, 0, 0, 10,
- 66, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 23, 0, 0, 0, 26, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 30, 0, 0, 0,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 30, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 23, 0, 0, 0, 56, 0,
- 0, 7, 66, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 42, 0, 16, 0, 30, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 10, 0,
- 16, 0, 30, 0, 0, 0,
- 55, 0, 0, 9, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 30, 0,
- 0, 0, 42, 0, 16, 0,
- 30, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 49, 0, 0, 7, 66, 0,
- 16, 0, 30, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 56, 0,
- 0, 7, 66, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 42, 0, 16, 0, 23, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 26, 0,
- 16, 0, 30, 0, 0, 0,
- 55, 0, 0, 9, 66, 0,
- 16, 0, 23, 0, 0, 0,
- 42, 0, 16, 0, 30, 0,
- 0, 0, 42, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 25, 0, 0, 0,
- 42, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 49, 0,
- 0, 7, 130, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 30, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 26, 0, 16, 128,
- 65, 0, 0, 0, 30, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 55, 32, 0, 9,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 51, 0,
- 0, 7, 66, 0, 16, 0,
- 23, 0, 0, 0, 42, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 52, 0, 0, 7,
- 66, 0, 16, 0, 23, 0,
- 0, 0, 42, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 56, 0, 0, 7, 114, 0,
- 16, 0, 28, 0, 0, 0,
- 166, 10, 16, 0, 23, 0,
- 0, 0, 70, 2, 16, 0,
- 28, 0, 0, 0, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 27, 0, 0, 0, 70, 2,
- 16, 0, 27, 0, 0, 0,
- 246, 15, 16, 0, 22, 0,
- 0, 0, 70, 2, 16, 0,
- 28, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 25, 0, 0, 0, 70, 2,
- 16, 0, 25, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 27, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 25, 0,
- 0, 0, 70, 2, 16, 0,
- 25, 0, 0, 0, 49, 0,
- 0, 7, 66, 0, 16, 0,
- 23, 0, 0, 0, 10, 0,
- 16, 0, 31, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 71, 3, 128, 63,
- 55, 0, 0, 9, 34, 0,
- 16, 0, 31, 0, 0, 0,
- 42, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 26, 0, 16, 0, 31, 0,
- 0, 0, 26, 0, 16, 0,
- 23, 0, 0, 0, 55, 0,
- 0, 9, 114, 0, 16, 0,
- 22, 0, 0, 0, 246, 15,
- 16, 0, 22, 0, 0, 0,
- 70, 2, 16, 0, 29, 0,
- 0, 0, 70, 2, 16, 0,
- 22, 0, 0, 0, 55, 0,
- 0, 9, 50, 0, 16, 0,
- 23, 0, 0, 0, 246, 15,
- 16, 0, 22, 0, 0, 0,
- 70, 0, 16, 0, 31, 0,
- 0, 0, 70, 0, 16, 0,
- 23, 0, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 22, 0, 0, 1,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 19, 0, 0, 0, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 20, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 22, 0, 0, 0, 6, 0,
- 16, 0, 23, 0, 0, 0,
- 70, 2, 16, 0, 20, 0,
- 0, 0, 168, 0, 0, 9,
- 114, 224, 17, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 2, 16, 0, 20, 0,
- 0, 0, 21, 0, 0, 1,
- 165, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 72, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 31, 0,
- 4, 3, 42, 0, 16, 0,
- 19, 0, 0, 0, 165, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 80, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 49, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 165, 0,
- 0, 7, 98, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 48, 0, 0, 0,
- 6, 241, 17, 0, 1, 0,
- 0, 0, 165, 0, 0, 7,
- 98, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 44, 0, 0, 0, 6, 241,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 4, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 3, 0, 4, 3, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 26, 0, 16, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 25, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 238,
- 17, 0, 0, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 0, 16, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 114, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 226,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 5, 114, 0,
- 16, 0, 28, 0, 0, 0,
- 70, 2, 16, 0, 25, 0,
- 0, 0, 54, 0, 0, 8,
- 114, 0, 16, 0, 29, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 8, 242, 0, 16, 0,
- 30, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 48, 0, 0, 1,
- 80, 0, 0, 7, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 26, 0, 16, 0,
- 23, 0, 0, 0, 3, 0,
- 4, 3, 58, 0, 16, 0,
- 27, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 42, 0, 16, 0, 23, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 67, 0, 128, 131, 153,
- 25, 0, 50, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 112, 16, 0,
- 6, 0, 0, 0, 30, 0,
- 0, 7, 242, 0, 16, 0,
- 31, 0, 0, 0, 150, 9,
- 16, 0, 20, 0, 0, 0,
- 6, 5, 16, 0, 31, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 32, 0, 0, 0, 10, 0,
- 16, 0, 31, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 33, 0, 0, 0,
- 26, 0, 16, 0, 31, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 126,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 34, 0,
- 0, 0, 42, 0, 16, 0,
- 31, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 31, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 7, 0, 0, 0, 0, 0,
- 0, 8, 242, 0, 16, 0,
- 35, 0, 0, 0, 70, 14,
- 16, 128, 65, 0, 0, 0,
- 32, 0, 0, 0, 70, 14,
- 16, 0, 33, 0, 0, 0,
- 50, 0, 0, 9, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 86, 5, 16, 0, 19, 0,
- 0, 0, 70, 14, 16, 0,
- 35, 0, 0, 0, 70, 14,
- 16, 0, 32, 0, 0, 0,
- 0, 0, 0, 8, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 128, 65, 0,
- 0, 0, 34, 0, 0, 0,
- 70, 14, 16, 0, 31, 0,
- 0, 0, 50, 0, 0, 9,
- 242, 0, 16, 0, 38, 0,
- 0, 0, 86, 5, 16, 0,
- 19, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 34, 0,
- 0, 0, 52, 0, 0, 7,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 52, 0, 0, 7, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 8, 242, 0, 16, 0,
- 39, 0, 0, 0, 70, 14,
- 16, 128, 65, 0, 0, 0,
- 36, 0, 0, 0, 70, 14,
- 16, 0, 38, 0, 0, 0,
- 56, 0, 0, 10, 242, 0,
- 16, 0, 39, 0, 0, 0,
- 70, 14, 16, 0, 39, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 63, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 27, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 70, 2, 16, 0, 39, 0,
- 0, 0, 29, 0, 0, 7,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 7, 0, 0, 1, 21, 0,
- 0, 1, 50, 0, 0, 9,
- 242, 0, 16, 0, 35, 0,
- 0, 0, 6, 0, 16, 0,
- 19, 0, 0, 0, 70, 14,
- 16, 0, 35, 0, 0, 0,
- 70, 14, 16, 0, 32, 0,
- 0, 0, 50, 0, 0, 9,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 6, 0, 16, 0,
- 19, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 34, 0,
- 0, 0, 52, 0, 0, 7,
- 130, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 52, 0, 0, 7, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 8, 242, 0, 16, 0,
- 40, 0, 0, 0, 70, 14,
- 16, 128, 65, 0, 0, 0,
- 35, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 56, 0, 0, 10, 242, 0,
- 16, 0, 41, 0, 0, 0,
- 70, 14, 16, 0, 40, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 63, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 0, 41, 0, 0, 0,
- 70, 2, 16, 0, 41, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 41, 0,
- 0, 0, 58, 0, 16, 0,
- 41, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 29, 0, 0, 7, 130, 0,
- 16, 0, 31, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 31, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 31, 0, 0, 0, 7, 0,
- 0, 1, 21, 0, 0, 1,
- 0, 0, 0, 7, 114, 0,
- 16, 0, 40, 0, 0, 0,
- 38, 9, 16, 0, 36, 0,
- 0, 0, 38, 9, 16, 0,
- 38, 0, 0, 0, 50, 0,
- 0, 13, 114, 0, 16, 0,
- 40, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 40, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 0, 0, 0, 0,
- 38, 9, 16, 0, 27, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 39, 0,
- 0, 0, 58, 0, 16, 0,
- 39, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 68, 0, 0, 5,
- 130, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 31, 0, 0, 0, 56, 0,
- 0, 7, 114, 0, 16, 0,
- 39, 0, 0, 0, 246, 15,
- 16, 0, 27, 0, 0, 0,
- 70, 2, 16, 0, 39, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 39, 0, 0, 0,
- 56, 0, 0, 7, 114, 0,
- 16, 0, 42, 0, 0, 0,
- 150, 4, 16, 0, 39, 0,
- 0, 0, 70, 2, 16, 0,
- 40, 0, 0, 0, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 40, 0, 0, 0, 38, 9,
- 16, 0, 40, 0, 0, 0,
- 38, 9, 16, 0, 39, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 42, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 31, 0,
- 0, 0, 70, 2, 16, 0,
- 27, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 0, 0, 0, 7, 114, 0,
- 16, 0, 39, 0, 0, 0,
- 70, 2, 16, 0, 35, 0,
- 0, 0, 70, 2, 16, 0,
- 37, 0, 0, 0, 50, 0,
- 0, 13, 114, 0, 16, 0,
- 42, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 39, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 0, 0, 0, 0,
- 70, 2, 16, 0, 28, 0,
- 0, 0, 68, 0, 0, 5,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 40, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 63, 58, 0, 16, 0,
- 35, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 33, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 56, 0, 0, 7, 114, 0,
- 16, 0, 43, 0, 0, 0,
- 246, 15, 16, 0, 32, 0,
- 0, 0, 70, 2, 16, 0,
- 41, 0, 0, 0, 56, 0,
- 0, 7, 114, 0, 16, 0,
- 44, 0, 0, 0, 38, 9,
- 16, 0, 42, 0, 0, 0,
- 150, 4, 16, 0, 43, 0,
- 0, 0, 50, 0, 0, 10,
- 114, 0, 16, 0, 44, 0,
- 0, 0, 150, 4, 16, 0,
- 42, 0, 0, 0, 38, 9,
- 16, 0, 43, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 44, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 70, 2, 16, 0, 28, 0,
- 0, 0, 70, 2, 16, 0,
- 43, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 44, 0, 0, 0,
- 70, 2, 16, 0, 44, 0,
- 0, 0, 0, 0, 0, 7,
- 18, 0, 16, 0, 45, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 52, 0, 0, 7, 130, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 41, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 52, 0, 0, 7,
- 34, 0, 16, 0, 45, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 70, 2, 16, 0, 40, 0,
- 0, 0, 70, 2, 16, 0,
- 40, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 34, 0, 0, 0, 10, 0,
- 16, 128, 65, 0, 0, 0,
- 40, 0, 0, 0, 10, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 35, 0, 0, 0,
- 70, 2, 16, 0, 40, 0,
- 0, 0, 70, 2, 16, 0,
- 44, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 35, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 31, 0, 0, 0, 26, 0,
- 16, 0, 45, 0, 0, 0,
- 58, 0, 16, 0, 35, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 128,
- 65, 0, 0, 0, 45, 0,
- 0, 0, 26, 0, 16, 0,
- 45, 0, 0, 0, 10, 0,
- 16, 0, 45, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 58, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 37, 0,
- 0, 0, 75, 0, 0, 5,
- 130, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 0, 0,
- 0, 8, 130, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 0, 0, 0, 8, 130, 0,
- 16, 0, 35, 0, 0, 0,
- 58, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 36, 0,
- 0, 0, 0, 0, 0, 7,
- 130, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 51, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 14, 0, 0, 7,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 39, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 49, 0,
- 0, 7, 18, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 1, 0, 0, 7,
- 130, 0, 16, 0, 39, 0,
- 0, 0, 58, 0, 16, 0,
- 39, 0, 0, 0, 10, 0,
- 16, 0, 40, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 0, 0,
- 0, 8, 18, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 31, 0, 0, 0, 26, 0,
- 16, 0, 45, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 10, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 0, 31, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 31, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 31, 0, 0, 0, 1, 64,
- 0, 0, 236, 81, 184, 190,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 39, 0,
- 0, 0, 49, 0, 0, 7,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 180,
- 1, 0, 0, 7, 130, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 40, 0, 0, 0, 70, 2,
- 16, 0, 27, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 28, 0, 0, 0,
- 50, 0, 0, 10, 114, 0,
- 16, 0, 44, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 40, 0, 0, 0,
- 246, 15, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 27, 0, 0, 0, 56, 0,
- 0, 7, 114, 0, 16, 0,
- 46, 0, 0, 0, 246, 15,
- 16, 0, 28, 0, 0, 0,
- 70, 2, 16, 0, 41, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 56, 0,
- 0, 10, 114, 0, 16, 0,
- 36, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 36, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 50, 0, 0, 10, 114, 0,
- 16, 0, 36, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 36, 0, 0, 0,
- 246, 15, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 46, 0, 0, 0, 0, 0,
- 0, 8, 130, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 36, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 50, 0, 0, 10, 114, 0,
- 16, 0, 38, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 36, 0, 0, 0,
- 246, 15, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 46, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 70, 2,
- 16, 0, 38, 0, 0, 0,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 70, 2, 16, 0,
- 44, 0, 0, 0, 70, 2,
- 16, 0, 38, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 16, 0,
- 0, 7, 18, 0, 16, 0,
- 38, 0, 0, 0, 70, 2,
- 16, 0, 44, 0, 0, 0,
- 70, 2, 16, 0, 44, 0,
- 0, 0, 50, 0, 0, 10,
- 18, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 37, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 38, 0, 0, 0,
- 49, 0, 0, 7, 34, 0,
- 16, 0, 38, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 38, 0, 0, 0, 68, 0,
- 0, 5, 66, 0, 16, 0,
- 38, 0, 0, 0, 10, 0,
- 16, 0, 38, 0, 0, 0,
- 1, 0, 0, 7, 34, 0,
- 16, 0, 38, 0, 0, 0,
- 42, 0, 16, 0, 38, 0,
- 0, 0, 26, 0, 16, 0,
- 38, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 10, 0, 16, 0, 38, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 49, 0, 0, 8, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 128, 129, 0,
- 0, 0, 27, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 50, 0, 0, 9,
- 114, 0, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 36, 0, 0, 0, 246, 15,
- 16, 0, 27, 0, 0, 0,
- 70, 2, 16, 0, 40, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 14, 0, 0, 7, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 0, 0,
- 0, 8, 130, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 27, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 14, 0, 0, 7, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 36, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 246, 15, 16, 0, 27, 0,
- 0, 0, 70, 2, 16, 0,
- 42, 0, 0, 0, 50, 0,
- 0, 12, 114, 0, 16, 0,
- 38, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,
- 0, 0, 70, 2, 16, 0,
- 36, 0, 0, 0, 55, 0,
- 0, 9, 114, 0, 16, 0,
- 38, 0, 0, 0, 246, 15,
- 16, 0, 36, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 70, 2, 16, 0,
- 28, 0, 0, 0, 55, 0,
- 0, 9, 114, 0, 16, 0,
- 38, 0, 0, 0, 246, 15,
- 16, 0, 31, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 70, 2, 16, 0,
- 28, 0, 0, 0, 50, 0,
- 0, 13, 114, 0, 16, 0,
- 39, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 39, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 0, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 70, 2, 16, 0,
- 39, 0, 0, 0, 70, 2,
- 16, 0, 43, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 52, 0, 0, 7, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 70, 2, 16, 0, 39, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 49, 0,
- 0, 7, 130, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 35, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 54, 0, 0, 5, 114, 0,
- 16, 0, 28, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 7, 0,
- 0, 1, 21, 0, 0, 1,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 41, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 52, 0, 0, 7,
- 130, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 35, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 35, 0, 0, 0,
- 58, 0, 16, 0, 35, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 49, 0, 0, 8, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 128, 129, 0,
- 0, 0, 35, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 50, 0, 0, 10,
- 114, 0, 16, 0, 39, 0,
- 0, 0, 246, 15, 16, 128,
- 65, 0, 0, 0, 35, 0,
- 0, 0, 70, 2, 16, 0,
- 41, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 32, 0,
- 0, 0, 50, 0, 0, 9,
- 114, 0, 16, 0, 39, 0,
- 0, 0, 70, 2, 16, 0,
- 39, 0, 0, 0, 246, 15,
- 16, 0, 32, 0, 0, 0,
- 70, 2, 16, 0, 29, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 33, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 32, 0,
- 0, 0, 70, 2, 16, 0,
- 33, 0, 0, 0, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 32, 0, 0, 0, 86, 5,
- 16, 0, 19, 0, 0, 0,
- 70, 2, 16, 0, 33, 0,
- 0, 0, 70, 2, 16, 0,
- 32, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 31, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 34, 0, 0, 0, 70, 2,
- 16, 0, 31, 0, 0, 0,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 31, 0, 0, 0,
- 86, 5, 16, 0, 19, 0,
- 0, 0, 70, 2, 16, 0,
- 31, 0, 0, 0, 70, 2,
- 16, 0, 34, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 63, 1, 64,
- 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 32, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 32, 0, 0, 0,
- 70, 2, 16, 0, 35, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 31, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 31, 0,
- 0, 0, 70, 2, 16, 0,
- 37, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 31, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 32, 0, 0, 0, 70, 2,
- 16, 0, 31, 0, 0, 0,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 31, 0, 0, 0,
- 246, 15, 16, 0, 27, 0,
- 0, 0, 70, 2, 16, 0,
- 31, 0, 0, 0, 70, 2,
- 16, 0, 32, 0, 0, 0,
- 0, 0, 0, 7, 114, 0,
- 16, 0, 31, 0, 0, 0,
- 70, 2, 16, 0, 30, 0,
- 0, 0, 70, 2, 16, 0,
- 31, 0, 0, 0, 55, 0,
- 0, 9, 114, 0, 16, 0,
- 32, 0, 0, 0, 246, 15,
- 16, 0, 19, 0, 0, 0,
- 70, 2, 16, 0, 31, 0,
- 0, 0, 70, 2, 16, 0,
- 30, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 30, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 55, 0, 0, 9,
- 114, 0, 16, 0, 31, 0,
- 0, 0, 246, 15, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 70, 2, 16, 0, 29, 0,
- 0, 0, 55, 0, 0, 9,
- 242, 0, 16, 0, 32, 0,
- 0, 0, 246, 15, 16, 0,
- 28, 0, 0, 0, 70, 14,
- 16, 0, 32, 0, 0, 0,
- 70, 14, 16, 0, 30, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 70, 2, 16, 0,
- 36, 0, 0, 0, 70, 2,
- 16, 0, 41, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 33, 0, 0, 0,
- 52, 0, 0, 7, 34, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 70, 2, 16, 0, 36, 0,
- 0, 0, 50, 0, 0, 10,
- 18, 0, 16, 0, 33, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 55, 0, 0, 9, 50, 0,
- 16, 0, 33, 0, 0, 0,
- 246, 15, 16, 0, 36, 0,
- 0, 0, 70, 0, 16, 0,
- 33, 0, 0, 0, 70, 0,
- 16, 0, 45, 0, 0, 0,
- 55, 0, 0, 9, 50, 0,
- 16, 0, 33, 0, 0, 0,
- 246, 15, 16, 0, 31, 0,
- 0, 0, 70, 0, 16, 0,
- 33, 0, 0, 0, 70, 0,
- 16, 0, 45, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 26, 0, 16, 0, 33, 0,
- 0, 0, 26, 0, 16, 0,
- 33, 0, 0, 0, 29, 0,
- 0, 7, 130, 0, 16, 0,
- 27, 0, 0, 0, 10, 0,
- 16, 0, 33, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 54, 0, 0, 5, 114, 0,
- 16, 0, 28, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 54, 0, 0, 5,
- 114, 0, 16, 0, 29, 0,
- 0, 0, 70, 2, 16, 0,
- 31, 0, 0, 0, 54, 0,
- 0, 5, 242, 0, 16, 0,
- 30, 0, 0, 0, 70, 14,
- 16, 0, 32, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 7, 0, 0, 1,
- 21, 0, 0, 1, 54, 0,
- 0, 5, 114, 0, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 0, 38, 0, 0, 0,
- 54, 0, 0, 5, 114, 0,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 31, 0,
- 0, 0, 54, 0, 0, 5,
- 242, 0, 16, 0, 30, 0,
- 0, 0, 70, 14, 16, 0,
- 32, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 22, 0, 0, 1,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 52, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 5, 114, 0, 16, 0,
- 31, 0, 0, 0, 70, 2,
- 16, 0, 28, 0, 0, 0,
- 54, 0, 0, 5, 114, 0,
- 16, 0, 32, 0, 0, 0,
- 70, 2, 16, 0, 29, 0,
- 0, 0, 54, 0, 0, 5,
- 242, 0, 16, 0, 33, 0,
- 0, 0, 70, 14, 16, 0,
- 30, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 27, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 130, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 3, 0, 4, 3,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 30, 0, 0, 7,
- 50, 0, 16, 0, 34, 0,
- 0, 0, 150, 5, 16, 0,
- 20, 0, 0, 0, 246, 15,
- 16, 0, 27, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 35, 0,
- 0, 0, 10, 0, 16, 0,
- 34, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 34, 0, 0, 0, 26, 0,
- 16, 0, 34, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 7, 0, 0, 0, 0, 0,
- 0, 8, 242, 0, 16, 0,
- 34, 0, 0, 0, 70, 14,
- 16, 128, 65, 0, 0, 0,
- 35, 0, 0, 0, 70, 14,
- 16, 0, 34, 0, 0, 0,
- 50, 0, 0, 9, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 6, 0, 16, 0, 19, 0,
- 0, 0, 70, 14, 16, 0,
- 34, 0, 0, 0, 70, 14,
- 16, 0, 35, 0, 0, 0,
- 52, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 34, 0, 0, 0, 86, 5,
- 16, 0, 19, 0, 0, 0,
- 70, 2, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 31, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 36, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 2, 16, 0, 27, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 34, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 35, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 35, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 70, 2,
- 16, 0, 37, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 32, 0, 0, 0, 70, 2,
- 16, 0, 37, 0, 0, 0,
- 70, 2, 16, 0, 35, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 50, 0, 0, 10, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 50, 0, 0, 10,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 36, 0, 0, 0,
- 75, 0, 0, 5, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 0, 0, 0, 8,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 0, 0,
- 0, 8, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 34, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 51, 0, 0, 7,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 7, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 49, 0,
- 0, 7, 18, 0, 16, 0,
- 38, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 49, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 1, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 10, 0, 16, 0,
- 38, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 31, 0, 0, 0, 1, 64,
- 0, 0, 236, 81, 184, 190,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 49, 0, 0, 7,
- 130, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 180,
- 1, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 31, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 37, 0, 0, 0,
- 0, 0, 0, 8, 130, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 128, 65, 0,
- 0, 0, 34, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 56, 0, 0, 7,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 31, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 14, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 0, 0,
- 0, 8, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 32, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 14, 0, 0, 7, 130, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 0, 37, 0, 0, 0,
- 246, 15, 16, 0, 31, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 0, 0,
- 0, 7, 114, 0, 16, 0,
- 38, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 31, 0,
- 0, 0, 70, 2, 16, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 0, 37, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 55, 0,
- 0, 9, 114, 0, 16, 0,
- 31, 0, 0, 0, 246, 15,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 70, 2, 16, 0,
- 31, 0, 0, 0, 55, 0,
- 0, 9, 242, 0, 16, 0,
- 35, 0, 0, 0, 246, 15,
- 16, 0, 29, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 35, 0, 0, 0, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 49, 0,
- 0, 7, 130, 0, 16, 0,
- 31, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 191, 50, 0, 0, 9,
- 114, 0, 16, 0, 35, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 246, 15,
- 16, 0, 28, 0, 0, 0,
- 70, 2, 16, 0, 32, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 36, 0, 0, 0, 0, 0,
- 0, 7, 114, 0, 16, 0,
- 34, 0, 0, 0, 70, 2,
- 16, 0, 33, 0, 0, 0,
- 70, 2, 16, 0, 34, 0,
- 0, 0, 55, 0, 0, 9,
- 114, 0, 16, 0, 34, 0,
- 0, 0, 246, 15, 16, 0,
- 19, 0, 0, 0, 70, 2,
- 16, 0, 34, 0, 0, 0,
- 70, 2, 16, 0, 33, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 55, 0, 0, 9, 114, 0,
- 16, 0, 32, 0, 0, 0,
- 246, 15, 16, 0, 31, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 32, 0, 0, 0,
- 55, 0, 0, 9, 242, 0,
- 16, 0, 33, 0, 0, 0,
- 246, 15, 16, 0, 31, 0,
- 0, 0, 70, 14, 16, 0,
- 34, 0, 0, 0, 70, 14,
- 16, 0, 33, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 22, 0,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 33, 0,
- 0, 0, 86, 0, 0, 5,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 33, 0, 0, 0, 14, 0,
- 0, 10, 130, 0, 16, 0,
- 23, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 165, 0, 0, 7,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 80, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 70, 2, 16, 0, 32, 0,
- 0, 0, 70, 2, 16, 0,
- 32, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 68, 0, 0, 5,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 56, 0,
- 0, 7, 114, 0, 16, 0,
- 31, 0, 0, 0, 246, 15,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 32, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 25, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 27, 0, 0, 0, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 34, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 33, 0, 0, 0, 246, 15,
- 16, 0, 23, 0, 0, 0,
- 70, 2, 16, 0, 34, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 31, 0,
- 0, 0, 70, 2, 16, 0,
- 34, 0, 0, 0, 70, 2,
- 16, 0, 31, 0, 0, 0,
- 50, 0, 0, 10, 114, 0,
- 16, 0, 31, 0, 0, 0,
- 246, 15, 16, 128, 65, 0,
- 0, 0, 31, 0, 0, 0,
- 70, 2, 16, 0, 31, 0,
- 0, 0, 70, 2, 16, 0,
- 34, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 31, 0, 0, 0, 70, 2,
- 16, 0, 31, 0, 0, 0,
- 70, 2, 16, 0, 31, 0,
- 0, 0, 0, 0, 0, 7,
- 130, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 31, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 31, 0, 0, 0,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 56, 0, 0, 8,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 31, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 191, 50, 0, 0, 10,
- 114, 0, 16, 0, 27, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 31, 0,
- 0, 0, 246, 15, 16, 0,
- 27, 0, 0, 0, 70, 2,
- 16, 0, 27, 0, 0, 0,
- 168, 0, 0, 9, 114, 224,
- 17, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 2,
- 16, 0, 27, 0, 0, 0,
- 21, 0, 0, 1, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 25, 0, 0, 0, 70, 2,
- 16, 0, 32, 0, 0, 0,
- 246, 15, 16, 0, 23, 0,
- 0, 0, 70, 2, 16, 0,
- 25, 0, 0, 0, 168, 0,
- 0, 9, 242, 224, 17, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 14, 16, 0,
- 25, 0, 0, 0, 21, 0,
- 0, 1, 30, 0, 0, 7,
- 130, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 4, 0, 0,
- 22, 0, 0, 1, 18, 0,
- 0, 1, 165, 0, 0, 7,
- 194, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 76, 0, 0, 0, 6, 244,
- 17, 0, 0, 0, 0, 0,
- 49, 0, 0, 10, 194, 0,
- 16, 0, 19, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 246, 11, 16, 0,
- 19, 0, 0, 0, 165, 0,
- 0, 7, 18, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 98, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 48, 0, 0, 0, 6, 241,
- 17, 0, 1, 0, 0, 0,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 80, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 49, 0,
- 0, 7, 18, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 20, 0,
- 0, 0, 165, 0, 0, 7,
- 98, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 44, 0, 0, 0, 6, 241,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 4, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 238,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 8, 242, 0,
- 16, 0, 31, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 8,
- 242, 0, 16, 0, 27, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 26, 0,
- 16, 0, 23, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 42, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 167, 0,
- 0, 139, 2, 67, 0, 128,
- 131, 153, 25, 0, 50, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 112,
- 16, 0, 6, 0, 0, 0,
- 30, 0, 0, 7, 242, 0,
- 16, 0, 34, 0, 0, 0,
- 150, 9, 16, 0, 20, 0,
- 0, 0, 6, 5, 16, 0,
- 34, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 35, 0, 0, 0,
- 10, 0, 16, 0, 34, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 126,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 34, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 7, 0,
- 0, 0, 0, 0, 0, 8,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 128,
- 65, 0, 0, 0, 35, 0,
- 0, 0, 70, 14, 16, 0,
- 36, 0, 0, 0, 50, 0,
- 0, 9, 242, 0, 16, 0,
- 37, 0, 0, 0, 6, 0,
- 16, 0, 19, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 35, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 38, 0, 0, 0,
- 42, 0, 16, 0, 34, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 126,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 126, 16, 0, 7, 0,
- 0, 0, 0, 0, 0, 8,
- 242, 0, 16, 0, 39, 0,
- 0, 0, 70, 14, 16, 128,
- 65, 0, 0, 0, 38, 0,
- 0, 0, 70, 14, 16, 0,
- 34, 0, 0, 0, 50, 0,
- 0, 9, 242, 0, 16, 0,
- 39, 0, 0, 0, 6, 0,
- 16, 0, 19, 0, 0, 0,
- 70, 14, 16, 0, 39, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 52, 0, 0, 7,
- 130, 0, 16, 0, 39, 0,
- 0, 0, 58, 0, 16, 0,
- 39, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 8, 242, 0,
- 16, 0, 40, 0, 0, 0,
- 70, 14, 16, 128, 65, 0,
- 0, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 39, 0,
- 0, 0, 56, 0, 0, 10,
- 242, 0, 16, 0, 41, 0,
- 0, 0, 70, 14, 16, 0,
- 40, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 70, 2, 16, 0, 41, 0,
- 0, 0, 70, 2, 16, 0,
- 41, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 41, 0, 0, 0, 58, 0,
- 16, 0, 41, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 29, 0, 0, 7,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 7, 0, 0, 1, 21, 0,
- 0, 1, 68, 0, 0, 5,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 0, 0,
- 0, 7, 114, 0, 16, 0,
- 40, 0, 0, 0, 70, 2,
- 16, 0, 37, 0, 0, 0,
- 70, 2, 16, 0, 39, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 40, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 63,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 56, 0,
- 0, 7, 114, 0, 16, 0,
- 41, 0, 0, 0, 246, 15,
- 16, 0, 32, 0, 0, 0,
- 70, 2, 16, 0, 41, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 41, 0, 0, 0,
- 50, 0, 0, 13, 114, 0,
- 16, 0, 40, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 40, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,
- 0, 0, 70, 2, 16, 0,
- 25, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 40, 0, 0, 0,
- 70, 2, 16, 0, 41, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 52, 0, 0, 7,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 70, 2, 16, 0, 40, 0,
- 0, 0, 70, 2, 16, 0,
- 40, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 35, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 37, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 7, 0,
- 0, 1, 21, 0, 0, 1,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 41, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 128, 65, 0, 0, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 63, 52, 0, 0, 7,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 35, 0, 0, 0,
- 49, 0, 0, 8, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 128, 129, 0,
- 0, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 50, 0, 0, 10,
- 114, 0, 16, 0, 40, 0,
- 0, 0, 246, 15, 16, 128,
- 65, 0, 0, 0, 29, 0,
- 0, 0, 70, 2, 16, 0,
- 41, 0, 0, 0, 70, 2,
- 16, 0, 40, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 50, 0,
- 0, 10, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 32, 0,
- 0, 0, 50, 0, 0, 9,
- 114, 0, 16, 0, 40, 0,
- 0, 0, 70, 2, 16, 0,
- 40, 0, 0, 0, 246, 15,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 27, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 35, 0,
- 0, 0, 70, 2, 16, 0,
- 36, 0, 0, 0, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 35, 0, 0, 0, 86, 5,
- 16, 0, 19, 0, 0, 0,
- 70, 2, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 35, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 34, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 38, 0, 0, 0, 70, 2,
- 16, 0, 34, 0, 0, 0,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 34, 0, 0, 0,
- 86, 5, 16, 0, 19, 0,
- 0, 0, 70, 2, 16, 0,
- 34, 0, 0, 0, 70, 2,
- 16, 0, 38, 0, 0, 0,
- 50, 0, 0, 9, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 35, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 63, 1, 64,
- 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 35, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 35, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 39, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 34, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 35, 0, 0, 0, 70, 2,
- 16, 0, 34, 0, 0, 0,
- 50, 0, 0, 9, 114, 0,
- 16, 0, 34, 0, 0, 0,
- 246, 15, 16, 0, 29, 0,
- 0, 0, 70, 2, 16, 0,
- 34, 0, 0, 0, 70, 2,
- 16, 0, 35, 0, 0, 0,
- 0, 0, 0, 7, 114, 0,
- 16, 0, 34, 0, 0, 0,
- 70, 2, 16, 0, 31, 0,
- 0, 0, 70, 2, 16, 0,
- 34, 0, 0, 0, 55, 0,
- 0, 9, 114, 0, 16, 0,
- 34, 0, 0, 0, 6, 0,
- 16, 0, 21, 0, 0, 0,
- 70, 2, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 31, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 31, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 55, 0, 0, 9,
- 114, 0, 16, 0, 27, 0,
- 0, 0, 246, 15, 16, 0,
- 28, 0, 0, 0, 70, 2,
- 16, 0, 40, 0, 0, 0,
- 70, 2, 16, 0, 27, 0,
- 0, 0, 55, 0, 0, 9,
- 242, 0, 16, 0, 31, 0,
- 0, 0, 246, 15, 16, 0,
- 28, 0, 0, 0, 70, 14,
- 16, 0, 34, 0, 0, 0,
- 70, 14, 16, 0, 31, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 22, 0, 0, 1, 165, 0,
- 0, 7, 130, 0, 16, 0,
- 27, 0, 0, 0, 1, 64,
- 0, 0, 52, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 54, 0, 0, 5,
- 114, 0, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 27, 0, 0, 0, 54, 0,
- 0, 5, 242, 0, 16, 0,
- 35, 0, 0, 0, 70, 14,
- 16, 0, 31, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 48, 0, 0, 1,
- 80, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 3, 0,
- 4, 3, 58, 0, 16, 0,
- 29, 0, 0, 0, 30, 0,
- 0, 7, 50, 0, 16, 0,
- 36, 0, 0, 0, 150, 5,
- 16, 0, 20, 0, 0, 0,
- 246, 15, 16, 0, 28, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 36, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 126, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 126,
- 16, 0, 7, 0, 0, 0,
- 0, 0, 0, 8, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 70, 14, 16, 128, 65, 0,
- 0, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 36, 0,
- 0, 0, 50, 0, 0, 9,
- 242, 0, 16, 0, 38, 0,
- 0, 0, 6, 0, 16, 0,
- 19, 0, 0, 0, 70, 14,
- 16, 0, 36, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 52, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 38, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 39, 0, 0, 0,
- 70, 2, 16, 0, 25, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 38, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 70, 2, 16, 0,
- 39, 0, 0, 0, 70, 2,
- 16, 0, 39, 0, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 68, 0,
- 0, 5, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 49, 0,
- 0, 7, 130, 0, 16, 0,
- 34, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 50, 0, 0, 9,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 191, 50, 0, 0, 9,
- 114, 0, 16, 0, 39, 0,
- 0, 0, 70, 2, 16, 0,
- 39, 0, 0, 0, 246, 15,
- 16, 0, 29, 0, 0, 0,
- 70, 2, 16, 0, 34, 0,
- 0, 0, 50, 0, 0, 9,
- 114, 0, 16, 0, 36, 0,
- 0, 0, 86, 5, 16, 0,
- 19, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 0, 0,
- 0, 7, 114, 0, 16, 0,
- 36, 0, 0, 0, 70, 2,
- 16, 0, 35, 0, 0, 0,
- 70, 2, 16, 0, 36, 0,
- 0, 0, 55, 0, 0, 9,
- 114, 0, 16, 0, 36, 0,
- 0, 0, 6, 0, 16, 0,
- 21, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 70, 2, 16, 0, 35, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 55, 0, 0, 9, 114, 0,
- 16, 0, 34, 0, 0, 0,
- 246, 15, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 39, 0, 0, 0, 70, 2,
- 16, 0, 34, 0, 0, 0,
- 55, 0, 0, 9, 242, 0,
- 16, 0, 35, 0, 0, 0,
- 246, 15, 16, 0, 34, 0,
- 0, 0, 70, 14, 16, 0,
- 36, 0, 0, 0, 70, 14,
- 16, 0, 35, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 22, 0,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 35, 0,
- 0, 0, 86, 0, 0, 5,
- 130, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 35, 0, 0, 0, 14, 0,
- 0, 10, 130, 0, 16, 0,
- 27, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 31, 0, 4, 3,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 10, 0, 16, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 114, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 226, 17, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 1, 64, 0, 0,
- 80, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 70, 2, 16, 0, 34, 0,
- 0, 0, 70, 2, 16, 0,
- 34, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 68, 0, 0, 5,
- 130, 0, 16, 0, 34, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 56, 0,
- 0, 7, 114, 0, 16, 0,
- 37, 0, 0, 0, 246, 15,
- 16, 0, 34, 0, 0, 0,
- 70, 2, 16, 0, 34, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 38, 0,
- 0, 0, 70, 2, 16, 0,
- 25, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 36, 0, 0, 0, 50, 0,
- 0, 10, 114, 0, 16, 0,
- 38, 0, 0, 0, 70, 2,
- 16, 128, 65, 0, 0, 0,
- 35, 0, 0, 0, 246, 15,
- 16, 0, 27, 0, 0, 0,
- 70, 2, 16, 0, 38, 0,
- 0, 0, 16, 0, 0, 7,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 70, 2,
- 16, 0, 37, 0, 0, 0,
- 50, 0, 0, 10, 114, 0,
- 16, 0, 37, 0, 0, 0,
- 246, 15, 16, 128, 65, 0,
- 0, 0, 36, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 70, 2, 16, 0,
- 38, 0, 0, 0, 16, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 70, 2,
- 16, 0, 37, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 0, 0, 0, 7,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 56, 0, 0, 8,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 128,
- 65, 0, 0, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 58, 0, 16, 0, 29, 0,
- 0, 0, 56, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 56, 0, 0, 7, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 52, 0,
- 0, 7, 130, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 191, 50, 0, 0, 10,
- 114, 0, 16, 0, 36, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 37, 0,
- 0, 0, 246, 15, 16, 0,
- 29, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 114, 224,
- 17, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 2,
- 16, 0, 36, 0, 0, 0,
- 21, 0, 0, 1, 50, 0,
- 0, 9, 114, 0, 16, 0,
- 36, 0, 0, 0, 70, 2,
- 16, 0, 34, 0, 0, 0,
- 246, 15, 16, 0, 27, 0,
- 0, 0, 70, 2, 16, 0,
- 25, 0, 0, 0, 16, 0,
- 0, 7, 18, 0, 16, 0,
- 25, 0, 0, 0, 70, 2,
- 16, 0, 34, 0, 0, 0,
- 70, 2, 16, 0, 34, 0,
- 0, 0, 165, 0, 0, 7,
- 34, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 76, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 50, 0, 0, 9, 18, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 63,
- 14, 0, 0, 7, 18, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 55, 0,
- 0, 9, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 168, 0,
- 0, 9, 242, 224, 17, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 14, 16, 0,
- 36, 0, 0, 0, 21, 0,
- 0, 1, 30, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 0, 4, 0, 0,
- 22, 0, 0, 1, 21, 0,
- 0, 1, 165, 0, 0, 7,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 84, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 72, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 51, 0,
- 0, 7, 18, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 49, 0, 0, 7,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 18, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 88, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 165, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 31, 0, 4, 3,
- 42, 0, 16, 0, 1, 0,
- 0, 0, 165, 0, 0, 7,
- 194, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 4, 0, 0, 0, 6, 244,
- 17, 0, 1, 0, 0, 0,
- 0, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 50, 0,
- 0, 12, 194, 0, 16, 0,
- 19, 0, 0, 0, 6, 0,
- 16, 0, 20, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 23, 183, 209, 56, 23, 183,
- 209, 56, 246, 11, 16, 0,
- 19, 0, 0, 0, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 6, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 18, 0,
- 0, 1, 54, 0, 0, 8,
- 194, 0, 16, 0, 19, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 42, 0,
- 16, 0, 1, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 6, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 6, 0, 0, 0,
- 49, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 1, 0,
- 0, 7, 34, 0, 16, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 20, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 6, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 2, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 6, 0,
- 0, 0, 49, 0, 0, 7,
- 34, 0, 16, 0, 20, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 26, 0,
- 16, 0, 20, 0, 0, 0,
- 55, 0, 0, 9, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 254, 255, 255, 255, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 30, 0, 0, 6, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 10, 32, 2, 0,
- 85, 0, 0, 7, 34, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 30, 0, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 20, 0, 0, 0, 26, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 14, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 254, 66, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 165, 0, 0, 7, 34, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 84, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 14, 0,
- 0, 10, 34, 0, 16, 0,
- 20, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 128, 63,
- 0, 0, 128, 63, 0, 0,
- 128, 63, 0, 0, 128, 63,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 51, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 20, 0, 0, 0,
- 41, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 2, 0, 0, 0, 30, 0,
- 0, 10, 98, 0, 16, 0,
- 20, 0, 0, 0, 6, 0,
- 16, 0, 20, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 12, 0, 0, 0,
- 24, 0, 0, 0, 0, 0,
- 0, 0, 166, 0, 0, 7,
- 18, 240, 17, 0, 5, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 56, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 166, 0,
- 0, 7, 18, 240, 17, 0,
- 5, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 166, 0, 0, 6,
- 18, 240, 17, 0, 5, 0,
- 0, 0, 42, 0, 16, 0,
- 20, 0, 0, 0, 10, 32,
- 2, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 165, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 100, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 41, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 30, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 165, 0,
- 0, 7, 130, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 116, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 54, 0, 0, 4,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 10, 32, 2, 0,
- 48, 0, 0, 1, 33, 0,
- 0, 7, 18, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 3, 65,
- 0, 0, 3, 0, 4, 3,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 30, 0, 0, 7,
- 18, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 168, 0, 0, 9, 18, 224,
- 17, 0, 2, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 4, 0, 0, 22, 0,
- 0, 1, 21, 0, 0, 1,
- 165, 0, 0, 7, 50, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 16, 0,
- 0, 0, 70, 240, 17, 0,
- 5, 0, 0, 0, 165, 0,
- 0, 7, 194, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 4, 0, 0, 0,
- 6, 244, 17, 0, 5, 0,
- 0, 0, 165, 0, 0, 7,
- 98, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 28, 0, 0, 0, 6, 241,
- 17, 0, 5, 0, 0, 0,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 92, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 39, 0,
- 0, 7, 18, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 255, 255, 165, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 100, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 4, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 33, 0, 0, 7,
- 18, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 10, 0,
- 16, 0, 25, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 18, 0,
- 16, 0, 25, 0, 0, 0,
- 10, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 112,
- 16, 0, 15, 0, 0, 0,
- 55, 0, 0, 9, 18, 0,
- 16, 0, 25, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 238,
- 17, 0, 0, 0, 0, 0,
- 17, 0, 0, 8, 34, 0,
- 16, 0, 25, 0, 0, 0,
- 70, 14, 16, 0, 36, 0,
- 0, 0, 70, 158, 144, 0,
- 26, 0, 16, 0, 23, 0,
- 0, 0, 50, 0, 0, 9,
- 34, 0, 16, 0, 25, 0,
- 0, 0, 26, 0, 16, 0,
- 25, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 42, 0, 16, 0, 20, 0,
- 0, 0, 51, 0, 0, 7,
- 34, 0, 16, 0, 25, 0,
- 0, 0, 26, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 255, 66,
- 52, 0, 0, 7, 34, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 17, 0,
- 0, 8, 66, 0, 16, 0,
- 25, 0, 0, 0, 70, 14,
- 16, 0, 36, 0, 0, 0,
- 70, 158, 144, 0, 42, 0,
- 16, 0, 23, 0, 0, 0,
- 50, 0, 0, 9, 66, 0,
- 16, 0, 25, 0, 0, 0,
- 42, 0, 16, 0, 25, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 20, 0, 0, 0,
- 51, 0, 0, 7, 66, 0,
- 16, 0, 25, 0, 0, 0,
- 42, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 255, 66, 52, 0,
- 0, 7, 66, 0, 16, 0,
- 25, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 27, 0, 0, 5,
- 98, 0, 16, 0, 25, 0,
- 0, 0, 86, 6, 16, 0,
- 25, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 41, 0, 0, 7,
- 66, 0, 16, 0, 25, 0,
- 0, 0, 42, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 23, 0, 0, 0,
- 35, 0, 0, 9, 34, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 1, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 129, 0, 60, 0,
- 0, 7, 18, 0, 16, 0,
- 25, 0, 0, 0, 10, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 224, 17, 0, 2, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 25, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 0, 4, 0, 0,
- 22, 0, 0, 1, 190, 24,
- 0, 1, 165, 0, 0, 7,
- 50, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 96, 0, 0, 0, 70, 240,
- 17, 0, 0, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 25, 0, 0, 0, 54, 0,
- 0, 4, 18, 0, 16, 0,
- 21, 0, 0, 0, 10, 32,
- 2, 0, 48, 0, 0, 1,
- 33, 0, 0, 7, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 3, 0,
- 4, 3, 58, 0, 16, 0,
- 22, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 25, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 26, 0, 16, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 242, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 238, 17, 0, 0, 0,
- 0, 0, 168, 0, 0, 9,
- 242, 224, 17, 0, 1, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 14, 16, 0, 36, 0,
- 0, 0, 30, 0, 0, 7,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 4, 0, 0,
- 22, 0, 0, 1, 190, 24,
- 0, 1, 30, 0, 0, 7,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 31, 0, 0, 0,
- 138, 0, 0, 9, 130, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 5, 0,
- 0, 0, 1, 64, 0, 0,
- 5, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 85, 0, 0, 7, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 10, 0, 0, 0, 79, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 26, 0,
- 16, 0, 4, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 1, 0, 0, 7,
- 18, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 25, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 55, 0,
- 0, 9, 66, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 38, 0,
- 0, 8, 0, 208, 0, 0,
- 66, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 22, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 35, 0, 0, 9, 66, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 4, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 41, 0, 0, 10, 146, 0,
- 16, 0, 25, 0, 0, 0,
- 6, 8, 16, 0, 25, 0,
- 0, 0, 2, 64, 0, 0,
- 5, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 5, 0, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 25, 0, 0, 0, 10, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 84, 0, 0, 7,
- 18, 0, 16, 0, 25, 0,
- 0, 0, 10, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 25, 0, 0, 0,
- 140, 0, 0, 10, 66, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 27, 0,
- 0, 0, 1, 64, 0, 0,
- 5, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 10, 32, 2, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 16, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 32, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 29, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 29, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 34, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 18, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 3, 0, 4, 3,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 79, 0, 0, 7,
- 18, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 10, 0,
- 16, 0, 25, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 55, 0, 0, 9, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 85, 0, 0, 7, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 1, 0,
- 0, 10, 242, 0, 16, 0,
- 36, 0, 0, 0, 6, 0,
- 16, 0, 36, 0, 0, 0,
- 2, 64, 0, 0, 1, 0,
- 0, 0, 2, 0, 0, 0,
- 4, 0, 0, 0, 8, 0,
- 0, 0, 39, 0, 0, 10,
- 242, 0, 16, 0, 36, 0,
- 0, 0, 70, 14, 16, 0,
- 36, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 140, 0, 0, 16, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 2, 64, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 6, 32, 2, 0,
- 70, 14, 16, 0, 36, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 10, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 36, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 37, 0, 0, 0,
- 26, 0, 16, 0, 6, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 9, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 6, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 70, 14, 16, 0, 36, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 26, 0, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 36, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 36, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 36, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 9, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 8, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 36, 0, 0, 0, 70, 14,
- 16, 0, 36, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 42, 0,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 8, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 36, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 8, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 9, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 8, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 60, 0, 0, 7,
- 242, 0, 16, 0, 36, 0,
- 0, 0, 70, 14, 16, 0,
- 36, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 36, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 36, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 8, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 37, 0, 0, 0,
- 58, 0, 16, 0, 9, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 13, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 70, 14, 16, 0, 36, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 5, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 36, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 36, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 36, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 14, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 36, 0, 0, 0, 70, 14,
- 16, 0, 36, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 42, 0, 16, 0, 5, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 42, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 87, 0, 0, 7, 50, 0,
- 16, 0, 36, 0, 0, 0,
- 230, 10, 16, 0, 2, 0,
- 0, 0, 70, 0, 16, 0,
- 36, 0, 0, 0, 1, 0,
- 0, 7, 18, 0, 16, 0,
- 36, 0, 0, 0, 26, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 87, 0, 0, 7,
- 34, 0, 16, 0, 36, 0,
- 0, 0, 10, 0, 16, 0,
- 5, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 1, 0, 0, 7, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 10, 0, 16, 0,
- 36, 0, 0, 0, 87, 0,
- 0, 7, 34, 0, 16, 0,
- 36, 0, 0, 0, 26, 0,
- 16, 0, 5, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 1, 0, 0, 7,
- 18, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 10, 0,
- 16, 0, 36, 0, 0, 0,
- 134, 0, 0, 5, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 10, 0,
- 16, 0, 36, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 34, 0, 0, 0, 58, 0,
- 16, 0, 34, 0, 0, 0,
- 1, 64, 0, 0, 32, 0,
- 0, 0, 22, 0, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 58, 0, 16, 0,
- 34, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 79, 0, 0, 7, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 34, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 55, 0,
- 0, 9, 130, 0, 16, 0,
- 32, 0, 0, 0, 10, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 255, 255, 85, 0,
- 0, 7, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 1, 0, 0, 10,
- 242, 0, 16, 0, 36, 0,
- 0, 0, 246, 15, 16, 0,
- 32, 0, 0, 0, 2, 64,
- 0, 0, 1, 0, 0, 0,
- 2, 0, 0, 0, 4, 0,
- 0, 0, 8, 0, 0, 0,
- 39, 0, 0, 10, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 70, 14, 16, 0, 36, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 140, 0,
- 0, 16, 242, 0, 16, 0,
- 36, 0, 0, 0, 2, 64,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 6, 32, 2, 0, 70, 14,
- 16, 0, 36, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 8, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 36, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 10, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 6, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 37, 0,
- 0, 0, 10, 0, 16, 0,
- 9, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 6, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 60, 0, 0, 7,
- 242, 0, 16, 0, 36, 0,
- 0, 0, 70, 14, 16, 0,
- 36, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 36, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 21, 0, 0, 1,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 31, 0, 4, 3,
- 26, 0, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 36, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 36, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 36, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 9, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 8, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 36, 0, 0, 0, 70, 14,
- 16, 0, 36, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 21, 0,
- 0, 1, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 23, 0, 0, 0, 31, 0,
- 4, 3, 42, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 36, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 37, 0, 0, 0,
- 26, 0, 16, 0, 8, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 9, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 8, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 36, 0, 0, 0,
- 70, 14, 16, 0, 36, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 21, 0, 0, 1, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 8, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 36, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 58, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 37, 0,
- 0, 0, 58, 0, 16, 0,
- 8, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 37, 0,
- 0, 0, 58, 0, 16, 0,
- 9, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 10, 0, 16, 0,
- 13, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 60, 0, 0, 7,
- 242, 0, 16, 0, 36, 0,
- 0, 0, 70, 14, 16, 0,
- 36, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 36, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 21, 0, 0, 1,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 5, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 36, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 36, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 36, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 14, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 36, 0, 0, 0, 70, 14,
- 16, 0, 36, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 21, 0,
- 0, 1, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 23, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 5, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 36, 0, 0, 0, 10, 0,
- 16, 0, 10, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 36, 0, 0, 0, 26, 0,
- 16, 0, 10, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 10, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 18, 0,
- 0, 1, 54, 0, 0, 8,
- 242, 0, 16, 0, 36, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 21, 0,
- 0, 1, 87, 0, 0, 7,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 42, 0, 16, 0,
- 2, 0, 0, 0, 10, 0,
- 16, 0, 36, 0, 0, 0,
- 87, 0, 0, 7, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 2, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 87, 0, 0, 7,
- 50, 0, 16, 0, 36, 0,
- 0, 0, 70, 0, 16, 0,
- 5, 0, 0, 0, 230, 10,
- 16, 0, 36, 0, 0, 0,
- 1, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 10, 0, 16, 0,
- 36, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 32, 0, 0, 0, 26, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 134, 0, 0, 5,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 29, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 21, 0, 0, 1, 31, 0,
- 4, 3, 10, 0, 16, 0,
- 7, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 11, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 29, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 0, 2, 10, 32,
- 2, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 16, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 18, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 21, 0, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 1, 0, 0, 0,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 16, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 26, 0, 16, 0, 14, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 10, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 58, 0,
- 16, 0, 11, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 18, 0,
- 0, 1, 167, 0, 0, 9,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 16, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 2, 18, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 21, 0, 0, 1,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 1, 0,
- 0, 0, 31, 0, 4, 3,
- 26, 0, 16, 0, 16, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 11, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 10, 0,
- 16, 0, 36, 0, 0, 0,
- 18, 0, 0, 1, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 11, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 21, 0,
- 0, 1, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 15, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 1, 0, 0, 0, 31, 0,
- 4, 3, 42, 0, 16, 0,
- 16, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 32, 0, 0, 0, 26, 0,
- 16, 0, 14, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 15, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 18, 0, 0, 1,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 26, 0, 16, 0, 14, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 21, 0, 0, 1, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 15, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 1, 0, 0, 0,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 16, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 11, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 42, 0, 16, 0, 14, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 10, 0, 16, 0,
- 36, 0, 0, 0, 18, 0,
- 0, 1, 167, 0, 0, 9,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 11, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 21, 0, 0, 1,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 15, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 1, 0,
- 0, 0, 31, 0, 4, 3,
- 10, 0, 16, 0, 18, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 26, 0, 16, 0,
- 14, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 17, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 10, 0,
- 16, 0, 36, 0, 0, 0,
- 18, 0, 0, 1, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 32, 0, 0, 0, 26, 0,
- 16, 0, 14, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 21, 0,
- 0, 1, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 15, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 1, 0, 0, 0, 31, 0,
- 4, 3, 26, 0, 16, 0,
- 18, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 11, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 14, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 18, 0, 0, 1,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 11, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 21, 0, 0, 1, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 15, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 1, 0, 0, 0,
- 31, 0, 4, 3, 42, 0,
- 16, 0, 18, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 26, 0, 16, 0, 14, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 10, 0, 16, 0,
- 36, 0, 0, 0, 18, 0,
- 0, 1, 167, 0, 0, 9,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 26, 0, 16, 0,
- 14, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 21, 0, 0, 1,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 15, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 1, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 18, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 11, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 13, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 10, 0,
- 16, 0, 36, 0, 0, 0,
- 18, 0, 0, 1, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 11, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 21, 0,
- 0, 1, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 15, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 1, 0, 0, 0, 31, 0,
- 4, 3, 26, 0, 16, 0,
- 15, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 32, 0, 0, 0, 26, 0,
- 16, 0, 14, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 17, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 18, 0, 0, 1,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 26, 0, 16, 0, 14, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 21, 0, 0, 1, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 15, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 5,
- 18, 0, 16, 0, 36, 0,
- 0, 0, 42, 0, 16, 0,
- 25, 0, 0, 0, 48, 0,
- 0, 1, 80, 0, 0, 7,
- 34, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 3, 0, 4, 3, 26, 0,
- 16, 0, 36, 0, 0, 0,
- 79, 0, 0, 7, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 27, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 35, 0, 128, 131, 153,
- 25, 0, 66, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 224, 17, 0,
- 2, 0, 0, 0, 55, 0,
- 0, 9, 66, 0, 16, 0,
- 36, 0, 0, 0, 26, 0,
- 16, 0, 36, 0, 0, 0,
- 42, 0, 16, 0, 36, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 255, 255, 85, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 25, 0,
- 0, 0, 1, 0, 0, 10,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 246, 15, 16, 0,
- 36, 0, 0, 0, 2, 64,
- 0, 0, 1, 0, 0, 0,
- 2, 0, 0, 0, 4, 0,
- 0, 0, 8, 0, 0, 0,
- 39, 0, 0, 10, 242, 0,
- 16, 0, 38, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 140, 0,
- 0, 16, 242, 0, 16, 0,
- 39, 0, 0, 0, 2, 64,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 6, 32, 2, 0, 70, 14,
- 16, 0, 38, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 39, 0, 0, 0, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 10, 0, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 39, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 39, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 39, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 39, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 40, 0, 0, 0, 10, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 40, 0, 0, 0, 26, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 40, 0, 0, 0, 10, 0,
- 16, 0, 9, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 40, 0, 0, 0, 42, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 39, 0, 0, 0, 70, 14,
- 16, 0, 39, 0, 0, 0,
- 70, 14, 16, 0, 40, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 39, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 26, 0,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 8, 18, 0,
- 16, 0, 39, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 39, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 39, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 39, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 40, 0,
- 0, 0, 26, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 40, 0,
- 0, 0, 58, 0, 16, 0,
- 6, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 40, 0,
- 0, 0, 26, 0, 16, 0,
- 9, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 40, 0,
- 0, 0, 10, 0, 16, 0,
- 8, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 60, 0, 0, 7,
- 242, 0, 16, 0, 39, 0,
- 0, 0, 70, 14, 16, 0,
- 39, 0, 0, 0, 70, 14,
- 16, 0, 40, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 39, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 39, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 39, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 39, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 42, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 39, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 39, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 39, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 39, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 40, 0, 0, 0,
- 42, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 40, 0, 0, 0,
- 26, 0, 16, 0, 8, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 40, 0, 0, 0,
- 42, 0, 16, 0, 9, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 42, 0, 16, 0, 8, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 39, 0, 0, 0,
- 70, 14, 16, 0, 39, 0,
- 0, 0, 70, 14, 16, 0,
- 40, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 39, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 39, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 39, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 39, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 39, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 39, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 39, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 39, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 0, 8, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 0, 9, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 40, 0, 0, 0, 10, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 39, 0, 0, 0, 70, 14,
- 16, 0, 39, 0, 0, 0,
- 70, 14, 16, 0, 40, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 39, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 39, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 5, 0, 0, 0,
- 167, 0, 0, 8, 18, 0,
- 16, 0, 39, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 39, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 39, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 39, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 40, 0,
- 0, 0, 10, 0, 16, 0,
- 6, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 40, 0,
- 0, 0, 26, 0, 16, 0,
- 13, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 40, 0,
- 0, 0, 10, 0, 16, 0,
- 14, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 40, 0,
- 0, 0, 42, 0, 16, 0,
- 13, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 60, 0, 0, 7,
- 242, 0, 16, 0, 39, 0,
- 0, 0, 70, 14, 16, 0,
- 39, 0, 0, 0, 70, 14,
- 16, 0, 40, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 39, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 39, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 39, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 39, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 5, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 10, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 10, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 38, 0, 0, 0, 42, 0,
- 16, 0, 10, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 140, 0,
- 0, 11, 130, 0, 16, 0,
- 36, 0, 0, 0, 1, 64,
- 0, 0, 4, 0, 0, 0,
- 1, 64, 0, 0, 5, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 11, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 1, 64, 0, 0, 0, 16,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 31, 0, 4, 3,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 30, 0, 0, 7,
- 34, 0, 16, 0, 36, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 87, 0, 0, 7, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 32, 0,
- 0, 10, 226, 0, 16, 0,
- 38, 0, 0, 0, 86, 14,
- 16, 0, 38, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 87, 0, 0, 7,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 38, 0, 0, 0,
- 1, 0, 0, 7, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 87, 0,
- 0, 7, 18, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 38, 0,
- 0, 0, 1, 0, 0, 7,
- 34, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 87, 0, 0, 7, 18, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 38, 0, 0, 0, 1, 0,
- 0, 7, 34, 0, 16, 0,
- 36, 0, 0, 0, 26, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 37, 0,
- 0, 0, 138, 0, 0, 8,
- 34, 0, 16, 0, 36, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 134, 0,
- 0, 5, 34, 0, 16, 0,
- 36, 0, 0, 0, 26, 0,
- 16, 0, 36, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 28, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 224, 17, 0, 2, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 36, 0,
- 0, 0, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 10, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 11, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 87, 0,
- 0, 7, 194, 0, 16, 0,
- 36, 0, 0, 0, 166, 14,
- 16, 0, 2, 0, 0, 0,
- 86, 9, 16, 0, 37, 0,
- 0, 0, 1, 0, 0, 7,
- 66, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 87, 0, 0, 7, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 5, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 1, 0,
- 0, 7, 66, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 42, 0, 16, 0, 36, 0,
- 0, 0, 87, 0, 0, 7,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 5, 0, 0, 0, 10, 0,
- 16, 0, 38, 0, 0, 0,
- 1, 0, 0, 7, 66, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 42, 0, 16, 0,
- 36, 0, 0, 0, 134, 0,
- 0, 5, 66, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 42, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 11, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 21, 0,
- 0, 1, 30, 0, 0, 7,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 36, 0, 0, 0,
- 10, 0, 16, 0, 36, 0,
- 0, 0, 1, 64, 0, 0,
- 32, 0, 0, 0, 22, 0,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 79, 0, 0, 7,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 10, 0, 16, 0,
- 36, 0, 0, 0, 10, 0,
- 16, 0, 25, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 27, 0,
- 0, 0, 10, 0, 16, 0,
- 36, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 55, 0, 0, 9, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 85, 0, 0, 7, 66, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 23, 0, 0, 0, 1, 0,
- 0, 10, 242, 0, 16, 0,
- 37, 0, 0, 0, 166, 10,
- 16, 0, 36, 0, 0, 0,
- 2, 64, 0, 0, 1, 0,
- 0, 0, 2, 0, 0, 0,
- 4, 0, 0, 0, 8, 0,
- 0, 0, 39, 0, 0, 10,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 140, 0, 0, 16, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 2, 64, 0, 0, 1, 0,
- 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 1, 0,
- 0, 0, 6, 32, 2, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 31, 0, 4, 3,
- 10, 0, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 38, 0, 0, 0, 10, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 38, 0, 0, 0, 26, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 38, 0, 0, 0, 10, 0,
- 16, 0, 9, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 38, 0, 0, 0, 42, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 38, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 21, 0,
- 0, 1, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 23, 0, 0, 0, 31, 0,
- 4, 3, 26, 0, 16, 0,
- 7, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 37, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 37, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 38, 0, 0, 0,
- 26, 0, 16, 0, 3, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 6, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 38, 0, 0, 0,
- 26, 0, 16, 0, 9, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 10, 0, 16, 0, 8, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 21, 0, 0, 1, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 31, 0, 4, 3, 42, 0,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 8, 18, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 37, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 37, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 18, 0, 16, 0, 38, 0,
- 0, 0, 42, 0, 16, 0,
- 3, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 34, 0, 16, 0, 38, 0,
- 0, 0, 26, 0, 16, 0,
- 8, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 66, 0, 16, 0, 38, 0,
- 0, 0, 42, 0, 16, 0,
- 9, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 167, 0, 0, 9,
- 130, 0, 16, 0, 38, 0,
- 0, 0, 42, 0, 16, 0,
- 8, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 240, 17, 0, 3, 0,
- 0, 0, 60, 0, 0, 7,
- 242, 0, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 38, 0, 0, 0,
- 168, 0, 0, 8, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 32, 2, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 26, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 26, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 42, 0, 16, 0, 37, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 12, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 21, 0, 0, 1,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 31, 0, 4, 3,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 7, 0,
- 0, 0, 167, 0, 0, 8,
- 18, 0, 16, 0, 37, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 37, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 18, 0, 16, 0,
- 38, 0, 0, 0, 58, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 34, 0, 16, 0,
- 38, 0, 0, 0, 58, 0,
- 16, 0, 8, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 38, 0, 0, 0, 58, 0,
- 16, 0, 9, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 9, 130, 0, 16, 0,
- 38, 0, 0, 0, 10, 0,
- 16, 0, 13, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 60, 0,
- 0, 7, 242, 0, 16, 0,
- 37, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 38, 0,
- 0, 0, 168, 0, 0, 8,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 10, 32, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 26, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 42, 0, 16, 0,
- 37, 0, 0, 0, 168, 0,
- 0, 9, 18, 240, 17, 0,
- 3, 0, 0, 0, 42, 0,
- 16, 0, 12, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 58, 0, 16, 0,
- 37, 0, 0, 0, 21, 0,
- 0, 1, 21, 0, 0, 1,
- 190, 24, 0, 1, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 23, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 5, 0, 0, 0, 167, 0,
- 0, 8, 18, 0, 16, 0,
- 37, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 37, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 38, 0, 0, 0,
- 10, 0, 16, 0, 6, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 38, 0, 0, 0,
- 26, 0, 16, 0, 13, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 38, 0, 0, 0,
- 10, 0, 16, 0, 14, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 42, 0, 16, 0, 13, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 60, 0, 0, 7, 242, 0,
- 16, 0, 37, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 70, 14, 16, 0,
- 38, 0, 0, 0, 168, 0,
- 0, 8, 18, 240, 17, 0,
- 3, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 10, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 10, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 26, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 26, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 37, 0, 0, 0,
- 168, 0, 0, 9, 18, 240,
- 17, 0, 3, 0, 0, 0,
- 42, 0, 16, 0, 12, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 37, 0, 0, 0,
- 21, 0, 0, 1, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 167, 0, 0, 9, 18, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 5, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 34, 0,
- 16, 0, 37, 0, 0, 0,
- 10, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 66, 0,
- 16, 0, 37, 0, 0, 0,
- 26, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 37, 0, 0, 0,
- 42, 0, 16, 0, 10, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 1, 0, 0, 10, 242, 0,
- 16, 0, 38, 0, 0, 0,
- 166, 10, 16, 0, 36, 0,
- 0, 0, 2, 64, 0, 0,
- 1, 0, 0, 0, 2, 0,
- 0, 0, 4, 0, 0, 0,
- 8, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 10, 0,
- 16, 0, 38, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 255, 255, 87, 0, 0, 7,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 10, 0, 16, 0,
- 37, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 39, 0, 0, 10, 114, 0,
- 16, 0, 38, 0, 0, 0,
- 150, 7, 16, 0, 38, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 32, 0,
- 0, 10, 114, 0, 16, 0,
- 38, 0, 0, 0, 70, 2,
- 16, 0, 38, 0, 0, 0,
- 2, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 87, 0, 0, 7,
- 114, 0, 16, 0, 38, 0,
- 0, 0, 150, 7, 16, 0,
- 37, 0, 0, 0, 70, 2,
- 16, 0, 38, 0, 0, 0,
- 1, 0, 0, 7, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 10, 0, 16, 0,
- 38, 0, 0, 0, 1, 0,
- 0, 7, 130, 0, 16, 0,
- 36, 0, 0, 0, 26, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 1, 0, 0, 7,
- 130, 0, 16, 0, 36, 0,
- 0, 0, 42, 0, 16, 0,
- 38, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 140, 0, 0, 11, 66, 0,
- 16, 0, 36, 0, 0, 0,
- 1, 64, 0, 0, 4, 0,
- 0, 0, 1, 64, 0, 0,
- 5, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 30, 0, 0, 7,
- 66, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 11, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 30, 0, 0, 7, 66, 0,
- 16, 0, 36, 0, 0, 0,
- 42, 0, 16, 0, 36, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 16, 0, 0, 167, 0,
- 0, 9, 66, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 240, 17, 0,
- 3, 0, 0, 0, 138, 0,
- 0, 8, 130, 0, 16, 0,
- 36, 0, 0, 0, 10, 32,
- 2, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 134, 0, 0, 5, 130, 0,
- 16, 0, 36, 0, 0, 0,
- 58, 0, 16, 0, 36, 0,
- 0, 0, 30, 0, 0, 7,
- 66, 0, 16, 0, 36, 0,
- 0, 0, 58, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 18, 0, 0, 1, 54, 0,
- 0, 8, 242, 0, 16, 0,
- 37, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 54, 0, 0, 5, 66, 0,
- 16, 0, 36, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 21, 0, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 42, 0, 16, 0,
- 36, 0, 0, 0, 168, 0,
- 0, 9, 18, 224, 17, 0,
- 2, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 21, 0,
- 0, 1, 190, 24, 0, 1,
- 31, 0, 4, 3, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 7, 0, 0, 0,
- 167, 0, 0, 9, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 42, 0, 16, 0, 11, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 3, 0, 0, 0,
- 87, 0, 0, 7, 98, 0,
- 16, 0, 36, 0, 0, 0,
- 166, 11, 16, 0, 2, 0,
- 0, 0, 6, 1, 16, 0,
- 37, 0, 0, 0, 1, 0,
- 0, 7, 34, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 87, 0, 0, 7,
- 194, 0, 16, 0, 36, 0,
- 0, 0, 6, 4, 16, 0,
- 5, 0, 0, 0, 166, 14,
- 16, 0, 37, 0, 0, 0,
- 1, 0, 0, 7, 34, 0,
- 16, 0, 36, 0, 0, 0,
- 42, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 1, 0,
- 0, 7, 34, 0, 16, 0,
- 36, 0, 0, 0, 58, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 134, 0, 0, 5,
- 34, 0, 16, 0, 36, 0,
- 0, 0, 26, 0, 16, 0,
- 36, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 32, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 26, 0, 16, 0, 36, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 240, 17, 0, 3, 0,
- 0, 0, 42, 0, 16, 0,
- 11, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 21, 0, 0, 1,
- 21, 0, 0, 1, 21, 0,
- 0, 1, 30, 0, 0, 7,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 4, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 54, 0, 0, 5,
- 130, 0, 16, 0, 28, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 22, 0, 0, 1, 54, 0,
- 0, 4, 130, 0, 16, 0,
- 19, 0, 0, 0, 10, 32,
- 2, 0, 48, 0, 0, 1,
- 33, 0, 0, 7, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 19, 0, 0, 0, 3, 0,
- 4, 3, 10, 0, 16, 0,
- 21, 0, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 35, 0, 128, 131, 153,
- 25, 0, 130, 0, 16, 0,
- 22, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 224, 17, 0,
- 2, 0, 0, 0, 42, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 1, 64, 0, 0, 16, 0,
- 0, 0, 30, 0, 0, 7,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 255, 255, 255, 255,
- 167, 0, 0, 139, 2, 35,
- 0, 128, 131, 153, 25, 0,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 224, 17, 0, 2, 0,
- 0, 0, 42, 0, 0, 7,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 16, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 23, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 255, 255, 55, 0,
- 0, 9, 18, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 23, 0, 0, 0, 39, 0,
- 0, 7, 130, 0, 16, 0,
- 23, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 31, 0, 4, 3,
- 58, 0, 16, 0, 23, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 22, 0,
- 0, 0, 42, 0, 16, 0,
- 19, 0, 0, 0, 58, 0,
- 16, 0, 22, 0, 0, 0,
- 168, 0, 0, 9, 18, 224,
- 17, 0, 2, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 224, 17, 0, 2, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 21, 0, 0, 1,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 4, 0, 0, 22, 0,
- 0, 1, 165, 0, 0, 7,
- 50, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 96, 0, 0, 0, 70, 240,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 4, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 33, 0, 0, 7,
- 18, 0, 16, 0, 21, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 25, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 1, 0, 0, 7, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 21, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 10, 0, 16, 0, 25, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 37, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 238, 17, 0,
- 1, 0, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 21, 0, 0, 0, 26, 0,
- 16, 0, 0, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 168, 0, 0, 9,
- 242, 224, 17, 0, 0, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 14, 16, 0, 37, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 4, 0, 0,
- 22, 0, 0, 1, 190, 24,
- 0, 1, 165, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 84, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 56, 0, 0, 7, 18, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 165, 0,
- 0, 7, 130, 0, 16, 0,
- 22, 0, 0, 0, 1, 64,
- 0, 0, 100, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 165, 0, 0, 7,
- 130, 0, 16, 0, 23, 0,
- 0, 0, 1, 64, 0, 0,
- 112, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 54, 0, 0, 4, 18, 0,
- 16, 0, 25, 0, 0, 0,
- 10, 32, 2, 0, 48, 0,
- 0, 1, 33, 0, 0, 7,
- 34, 0, 16, 0, 25, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 3, 0, 4, 3, 26, 0,
- 16, 0, 25, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 22, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 34, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 1, 0, 0, 7, 34, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 25, 0, 0, 0, 26, 0,
- 16, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 25, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 37, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 238, 17, 0,
- 0, 0, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 23, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 226, 0, 16, 0,
- 36, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 121, 16, 0,
- 14, 0, 0, 0, 17, 0,
- 0, 8, 66, 0, 16, 0,
- 25, 0, 0, 0, 70, 14,
- 16, 0, 37, 0, 0, 0,
- 70, 158, 144, 0, 26, 0,
- 16, 0, 23, 0, 0, 0,
- 50, 0, 0, 9, 66, 0,
- 16, 0, 25, 0, 0, 0,
- 42, 0, 16, 0, 25, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 42, 0,
- 16, 0, 20, 0, 0, 0,
- 51, 0, 0, 7, 66, 0,
- 16, 0, 25, 0, 0, 0,
- 42, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 255, 66, 52, 0,
- 0, 7, 66, 0, 16, 0,
- 25, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 17, 0, 0, 8,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 70, 14, 16, 0,
- 37, 0, 0, 0, 70, 158,
- 144, 0, 42, 0, 16, 0,
- 23, 0, 0, 0, 50, 0,
- 0, 9, 130, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 20, 0, 0, 0, 51, 0,
- 0, 7, 130, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 25, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 255, 66, 52, 0, 0, 7,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 27, 0, 0, 5, 194, 0,
- 16, 0, 25, 0, 0, 0,
- 166, 14, 16, 0, 25, 0,
- 0, 0, 35, 0, 0, 9,
- 66, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 128, 0, 0, 0,
- 42, 0, 16, 0, 25, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 42, 0, 16, 0,
- 25, 0, 0, 0, 1, 64,
- 0, 0, 0, 1, 0, 0,
- 0, 0, 0, 7, 130, 0,
- 16, 0, 27, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 52, 54, 0,
- 0, 8, 114, 0, 16, 0,
- 38, 0, 0, 0, 2, 64,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 54, 0, 0, 5, 130, 0,
- 16, 0, 28, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 54, 0, 0, 5,
- 130, 0, 16, 0, 32, 0,
- 0, 0, 42, 0, 16, 0,
- 25, 0, 0, 0, 48, 0,
- 0, 1, 34, 0, 0, 7,
- 130, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 58, 0,
- 16, 0, 32, 0, 0, 0,
- 3, 0, 4, 3, 58, 0,
- 16, 0, 38, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 32, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 18, 0,
- 16, 0, 39, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 30, 0, 0, 10, 226, 0,
- 16, 0, 39, 0, 0, 0,
- 246, 15, 16, 0, 38, 0,
- 0, 0, 2, 64, 0, 0,
- 0, 0, 0, 0, 1, 0,
- 0, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 26, 0, 16, 0, 39, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 167, 0, 0, 139, 2, 35,
- 0, 128, 131, 153, 25, 0,
- 34, 0, 16, 0, 39, 0,
- 0, 0, 42, 0, 16, 0,
- 39, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 224, 17, 0, 2, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 35, 0, 128, 131, 153,
- 25, 0, 66, 0, 16, 0,
- 39, 0, 0, 0, 58, 0,
- 16, 0, 39, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 6, 224, 17, 0,
- 2, 0, 0, 0, 84, 0,
- 0, 7, 18, 0, 16, 0,
- 39, 0, 0, 0, 58, 0,
- 16, 0, 38, 0, 0, 0,
- 10, 0, 16, 0, 39, 0,
- 0, 0, 84, 0, 0, 7,
- 18, 0, 16, 0, 39, 0,
- 0, 0, 26, 0, 16, 0,
- 39, 0, 0, 0, 10, 0,
- 16, 0, 39, 0, 0, 0,
- 36, 0, 0, 7, 130, 0,
- 16, 0, 38, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 26, 0, 16, 0,
- 39, 0, 0, 0, 36, 0,
- 0, 7, 130, 0, 16, 0,
- 38, 0, 0, 0, 42, 0,
- 16, 0, 39, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 36, 0, 0, 7,
- 130, 0, 16, 0, 38, 0,
- 0, 0, 58, 0, 16, 0,
- 38, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 54, 0, 0, 5, 226, 0,
- 16, 0, 39, 0, 0, 0,
- 6, 9, 16, 0, 38, 0,
- 0, 0, 54, 0, 0, 5,
- 18, 0, 16, 0, 40, 0,
- 0, 0, 58, 0, 16, 0,
- 28, 0, 0, 0, 54, 0,
- 0, 5, 34, 0, 16, 0,
- 40, 0, 0, 0, 10, 0,
- 16, 0, 39, 0, 0, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 66, 0, 16, 0,
- 40, 0, 0, 0, 26, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 38, 0,
- 0, 0, 3, 0, 4, 3,
- 42, 0, 16, 0, 40, 0,
- 0, 0, 39, 0, 0, 7,
- 66, 0, 16, 0, 40, 0,
- 0, 0, 10, 0, 16, 0,
- 25, 0, 0, 0, 26, 0,
- 16, 0, 40, 0, 0, 0,
- 31, 0, 4, 3, 42, 0,
- 16, 0, 40, 0, 0, 0,
- 30, 0, 0, 7, 66, 0,
- 16, 0, 40, 0, 0, 0,
- 26, 0, 16, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 40, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 242, 0,
- 16, 0, 41, 0, 0, 0,
- 42, 0, 16, 0, 40, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 70, 238,
- 17, 0, 0, 0, 0, 0,
- 0, 0, 0, 8, 114, 0,
- 16, 0, 41, 0, 0, 0,
- 70, 2, 16, 0, 37, 0,
- 0, 0, 70, 2, 16, 128,
- 65, 0, 0, 0, 41, 0,
- 0, 0, 16, 0, 0, 7,
- 66, 0, 16, 0, 40, 0,
- 0, 0, 70, 2, 16, 0,
- 41, 0, 0, 0, 70, 2,
- 16, 0, 41, 0, 0, 0,
- 49, 0, 0, 7, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 10, 0, 16, 0, 21, 0,
- 0, 0, 42, 0, 16, 0,
- 40, 0, 0, 0, 31, 0,
- 4, 3, 58, 0, 16, 0,
- 40, 0, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 40, 0, 0, 0, 26, 0,
- 16, 0, 40, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 54, 0, 0, 5,
- 34, 0, 16, 0, 40, 0,
- 0, 0, 58, 0, 16, 0,
- 40, 0, 0, 0, 7, 0,
- 0, 1, 21, 0, 0, 1,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 1, 64, 0, 0, 112, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 39, 0,
- 0, 7, 18, 0, 16, 0,
- 42, 0, 0, 0, 58, 0,
- 16, 0, 40, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 255, 255, 31, 0, 4, 3,
- 10, 0, 16, 0, 42, 0,
- 0, 0, 165, 0, 0, 7,
- 18, 0, 16, 0, 42, 0,
- 0, 0, 1, 64, 0, 0,
- 100, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 42, 0, 0, 0,
- 26, 0, 16, 0, 40, 0,
- 0, 0, 10, 0, 16, 0,
- 42, 0, 0, 0, 167, 0,
- 0, 139, 2, 35, 0, 128,
- 131, 153, 25, 0, 18, 0,
- 16, 0, 42, 0, 0, 0,
- 10, 0, 16, 0, 42, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 224,
- 17, 0, 2, 0, 0, 0,
- 1, 0, 0, 7, 18, 0,
- 16, 0, 42, 0, 0, 0,
- 10, 0, 16, 0, 42, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 0, 0, 30, 0,
- 0, 7, 130, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 0, 40, 0, 0, 0,
- 10, 0, 16, 0, 42, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 114, 0, 16, 0,
- 42, 0, 0, 0, 58, 0,
- 16, 0, 40, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 114, 16, 0,
- 14, 0, 0, 0, 0, 0,
- 0, 8, 114, 0, 16, 0,
- 42, 0, 0, 0, 150, 7,
- 16, 0, 36, 0, 0, 0,
- 70, 2, 16, 128, 65, 0,
- 0, 0, 42, 0, 0, 0,
- 16, 0, 0, 7, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 70, 2, 16, 0, 42, 0,
- 0, 0, 70, 2, 16, 0,
- 42, 0, 0, 0, 29, 0,
- 0, 7, 18, 0, 16, 0,
- 42, 0, 0, 0, 10, 0,
- 16, 0, 21, 0, 0, 0,
- 58, 0, 16, 0, 40, 0,
- 0, 0, 31, 0, 4, 3,
- 10, 0, 16, 0, 42, 0,
- 0, 0, 30, 0, 0, 7,
- 18, 0, 16, 0, 42, 0,
- 0, 0, 26, 0, 16, 0,
- 40, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 54, 0, 0, 5, 34, 0,
- 16, 0, 40, 0, 0, 0,
- 10, 0, 16, 0, 42, 0,
- 0, 0, 7, 0, 0, 1,
- 21, 0, 0, 1, 0, 0,
- 0, 7, 130, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 0, 40, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 52, 14, 0, 0, 7,
- 130, 0, 16, 0, 40, 0,
- 0, 0, 10, 0, 16, 0,
- 21, 0, 0, 0, 58, 0,
- 16, 0, 40, 0, 0, 0,
- 68, 0, 0, 5, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 40, 0,
- 0, 0, 0, 0, 0, 7,
- 130, 0, 16, 0, 40, 0,
- 0, 0, 58, 0, 16, 0,
- 40, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 128, 191,
- 51, 0, 0, 7, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 40, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 18, 0,
- 0, 1, 54, 0, 0, 5,
- 130, 0, 16, 0, 40, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 128, 63, 21, 0,
- 0, 1, 0, 0, 0, 7,
- 66, 0, 16, 0, 40, 0,
- 0, 0, 42, 0, 16, 0,
- 40, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 52,
- 68, 0, 0, 5, 66, 0,
- 16, 0, 40, 0, 0, 0,
- 42, 0, 16, 0, 40, 0,
- 0, 0, 50, 0, 0, 9,
- 66, 0, 16, 0, 40, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 40, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 128, 191, 52, 0, 0, 7,
- 66, 0, 16, 0, 40, 0,
- 0, 0, 42, 0, 16, 0,
- 40, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 56, 0, 0, 7, 18, 0,
- 16, 0, 42, 0, 0, 0,
- 42, 0, 16, 0, 40, 0,
- 0, 0, 42, 0, 16, 0,
- 40, 0, 0, 0, 56, 0,
- 0, 7, 130, 0, 16, 0,
- 40, 0, 0, 0, 58, 0,
- 16, 0, 40, 0, 0, 0,
- 10, 0, 16, 0, 42, 0,
- 0, 0, 0, 0, 0, 7,
- 130, 0, 16, 0, 41, 0,
- 0, 0, 58, 0, 16, 0,
- 27, 0, 0, 0, 58, 0,
- 16, 0, 41, 0, 0, 0,
- 14, 0, 0, 7, 130, 0,
- 16, 0, 40, 0, 0, 0,
- 58, 0, 16, 0, 40, 0,
- 0, 0, 58, 0, 16, 0,
- 41, 0, 0, 0, 50, 0,
- 0, 9, 226, 0, 16, 0,
- 39, 0, 0, 0, 246, 15,
- 16, 0, 40, 0, 0, 0,
- 6, 9, 16, 0, 41, 0,
- 0, 0, 86, 14, 16, 0,
- 39, 0, 0, 0, 0, 0,
- 0, 7, 18, 0, 16, 0,
- 40, 0, 0, 0, 42, 0,
- 16, 0, 40, 0, 0, 0,
- 10, 0, 16, 0, 40, 0,
- 0, 0, 21, 0, 0, 1,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 40, 0, 0, 0,
- 26, 0, 16, 0, 40, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 22, 0,
- 0, 1, 54, 0, 0, 5,
- 114, 0, 16, 0, 38, 0,
- 0, 0, 150, 7, 16, 0,
- 39, 0, 0, 0, 54, 0,
- 0, 5, 130, 0, 16, 0,
- 28, 0, 0, 0, 10, 0,
- 16, 0, 40, 0, 0, 0,
- 30, 0, 0, 7, 130, 0,
- 16, 0, 32, 0, 0, 0,
- 58, 0, 16, 0, 32, 0,
- 0, 0, 1, 64, 0, 0,
- 128, 0, 0, 0, 22, 0,
- 0, 1, 165, 0, 0, 7,
- 66, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 72, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 56, 0, 0, 7, 66, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 37, 0,
- 0, 0, 42, 0, 16, 0,
- 25, 0, 0, 0, 14, 0,
- 0, 7, 66, 0, 16, 0,
- 25, 0, 0, 0, 42, 0,
- 16, 0, 25, 0, 0, 0,
- 58, 0, 16, 0, 28, 0,
- 0, 0, 165, 0, 0, 7,
- 130, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 96, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 30, 0, 0, 7, 34, 0,
- 16, 0, 25, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 58, 0, 16, 0,
- 25, 0, 0, 0, 167, 0,
- 0, 139, 2, 131, 0, 128,
- 131, 153, 25, 0, 226, 0,
- 16, 0, 36, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 233,
- 17, 0, 1, 0, 0, 0,
- 50, 0, 0, 9, 226, 0,
- 16, 0, 36, 0, 0, 0,
- 6, 9, 16, 0, 38, 0,
- 0, 0, 166, 10, 16, 0,
- 25, 0, 0, 0, 86, 14,
- 16, 0, 36, 0, 0, 0,
- 168, 0, 0, 9, 114, 224,
- 17, 0, 1, 0, 0, 0,
- 26, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 150, 7,
- 16, 0, 36, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 25, 0, 0, 0,
- 10, 0, 16, 0, 25, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 4, 0, 0, 22, 0,
- 0, 1, 190, 24, 0, 1,
- 165, 0, 0, 7, 130, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 96, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 54, 0,
- 0, 4, 18, 0, 16, 0,
- 20, 0, 0, 0, 10, 32,
- 2, 0, 48, 0, 0, 1,
- 33, 0, 0, 7, 34, 0,
- 16, 0, 20, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 26, 0, 16, 0,
- 19, 0, 0, 0, 3, 0,
- 4, 3, 26, 0, 16, 0,
- 20, 0, 0, 0, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 167, 0, 0, 139,
- 2, 131, 0, 128, 131, 153,
- 25, 0, 242, 0, 16, 0,
- 25, 0, 0, 0, 26, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 238, 17, 0,
- 1, 0, 0, 0, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 20, 0, 0, 0, 26, 0,
- 16, 0, 0, 0, 0, 0,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 168, 0, 0, 9,
- 242, 224, 17, 0, 0, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 14, 16, 0, 25, 0,
- 0, 0, 30, 0, 0, 7,
- 18, 0, 16, 0, 20, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 4, 0, 0,
- 22, 0, 0, 1, 165, 0,
- 0, 7, 34, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 100, 0, 0, 0,
- 6, 240, 17, 0, 0, 0,
- 0, 0, 54, 0, 0, 4,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 10, 32, 2, 0,
- 48, 0, 0, 1, 33, 0,
- 0, 7, 18, 0, 16, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 3, 0, 4, 3,
- 10, 0, 16, 0, 20, 0,
- 0, 0, 30, 0, 0, 7,
- 18, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 167, 0, 0, 139, 2, 35,
- 0, 128, 131, 153, 25, 0,
- 18, 0, 16, 0, 20, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 224, 17, 0, 2, 0,
- 0, 0, 85, 0, 0, 7,
- 18, 0, 16, 0, 20, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 16, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 20, 0, 0, 0,
- 42, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 20, 0, 0, 0, 168, 0,
- 0, 9, 18, 224, 17, 0,
- 2, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 1, 64, 0, 0,
- 255, 255, 255, 255, 30, 0,
- 0, 7, 34, 0, 16, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 0, 20, 0, 0, 0,
- 1, 64, 0, 0, 1, 0,
- 0, 0, 168, 0, 0, 9,
- 18, 224, 17, 0, 2, 0,
- 0, 0, 26, 0, 16, 0,
- 20, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 1, 64, 0, 0, 255, 255,
- 255, 255, 30, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 4, 0, 0,
- 22, 0, 0, 1, 21, 0,
- 0, 1, 31, 0, 0, 2,
- 10, 32, 2, 0, 165, 0,
- 0, 7, 18, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 8, 0, 0, 0,
- 6, 240, 17, 0, 1, 0,
- 0, 0, 56, 0, 0, 7,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 122, 68,
- 28, 0, 0, 5, 18, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 83, 0, 0, 7,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 1, 0, 0, 0,
- 165, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 104, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 30, 0,
- 0, 7, 18, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 166, 0, 0, 7,
- 18, 240, 17, 0, 1, 0,
- 0, 0, 1, 64, 0, 0,
- 104, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 21, 0, 0, 1, 190, 24,
- 0, 1, 165, 0, 0, 7,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 104, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 165, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 104, 0,
- 0, 0, 6, 240, 17, 0,
- 0, 0, 0, 0, 80, 0,
- 0, 7, 18, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 31, 0, 4, 3,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 165, 0, 0, 7,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 54, 0, 0, 5, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 54, 0, 0, 4,
- 66, 0, 16, 0, 19, 0,
- 0, 0, 10, 32, 2, 0,
- 48, 0, 0, 1, 80, 0,
- 0, 7, 130, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 3, 0, 4, 3,
- 58, 0, 16, 0, 19, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 26, 0, 16, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 114, 0, 16, 0, 20, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 70, 226, 17, 0, 0, 0,
- 0, 0, 30, 0, 0, 7,
- 130, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 0, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 167, 0, 0, 139, 2, 131,
- 0, 128, 131, 153, 25, 0,
- 226, 0, 16, 0, 23, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 1, 64,
- 0, 0, 0, 0, 0, 0,
- 6, 233, 17, 0, 0, 0,
- 0, 0, 0, 0, 0, 8,
- 114, 0, 16, 0, 20, 0,
- 0, 0, 70, 2, 16, 0,
- 20, 0, 0, 0, 150, 7,
- 16, 128, 65, 0, 0, 0,
- 23, 0, 0, 0, 52, 0,
- 0, 9, 130, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 128, 129, 0, 0, 0,
- 20, 0, 0, 0, 10, 0,
- 16, 128, 129, 0, 0, 0,
- 20, 0, 0, 0, 52, 0,
- 0, 8, 130, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 128, 129, 0, 0, 0,
- 20, 0, 0, 0, 58, 0,
- 16, 0, 19, 0, 0, 0,
- 52, 0, 0, 7, 34, 0,
- 16, 0, 19, 0, 0, 0,
- 26, 0, 16, 0, 19, 0,
- 0, 0, 58, 0, 16, 0,
- 19, 0, 0, 0, 30, 0,
- 0, 7, 66, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 0, 4,
- 0, 0, 22, 0, 0, 1,
- 31, 0, 0, 2, 10, 32,
- 2, 0, 165, 0, 0, 7,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 100, 0, 0, 0, 6, 240,
- 17, 0, 1, 0, 0, 0,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 166, 0,
- 0, 7, 18, 240, 17, 0,
- 1, 0, 0, 0, 1, 64,
- 0, 0, 100, 0, 0, 0,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 165, 0, 0, 7,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 104, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 104, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 30, 0,
- 0, 8, 18, 0, 16, 0,
- 19, 0, 0, 0, 10, 0,
- 16, 128, 65, 0, 0, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 166, 0, 0, 7, 18, 240,
- 17, 0, 1, 0, 0, 0,
- 1, 64, 0, 0, 104, 0,
- 0, 0, 10, 0, 16, 0,
- 19, 0, 0, 0, 21, 0,
- 0, 1, 165, 0, 0, 7,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 1, 64, 0, 0,
- 112, 0, 0, 0, 6, 240,
- 17, 0, 0, 0, 0, 0,
- 165, 0, 0, 7, 66, 0,
- 16, 0, 19, 0, 0, 0,
- 1, 64, 0, 0, 8, 0,
- 0, 0, 6, 240, 17, 0,
- 1, 0, 0, 0, 56, 0,
- 0, 7, 18, 0, 16, 0,
- 19, 0, 0, 0, 42, 0,
- 16, 0, 19, 0, 0, 0,
- 10, 0, 16, 0, 19, 0,
- 0, 0, 49, 0, 0, 7,
- 18, 0, 16, 0, 19, 0,
- 0, 0, 10, 0, 16, 0,
- 19, 0, 0, 0, 26, 0,
- 16, 0, 19, 0, 0, 0,
- 31, 0, 4, 3, 10, 0,
- 16, 0, 19, 0, 0, 0,
- 166, 0, 0, 7, 18, 240,
- 17, 0, 1, 0, 0, 0,
- 1, 64, 0, 0, 100, 0,
- 0, 0, 1, 64, 0, 0,
- 0, 0, 0, 0, 21, 0,
- 0, 1, 21, 0, 0, 1,
- 30, 0, 0, 7, 18, 0,
- 16, 0, 17, 0, 0, 0,
- 10, 0, 16, 0, 17, 0,
- 0, 0, 1, 64, 0, 0,
- 1, 0, 0, 0, 22, 0,
- 0, 1, 190, 24, 0, 1,
- 21, 0, 0, 1, 31, 0,
- 0, 2, 10, 32, 2, 0,
- 165, 0, 0, 7, 242, 0,
- 16, 0, 0, 0, 0, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 254, 17, 0,
- 1, 0, 0, 0, 165, 0,
- 0, 7, 242, 0, 16, 0,
- 1, 0, 0, 0, 1, 64,
- 0, 0, 16, 0, 0, 0,
- 70, 254, 17, 0, 1, 0,
- 0, 0, 165, 0, 0, 7,
- 242, 0, 16, 0, 2, 0,
- 0, 0, 1, 64, 0, 0,
- 32, 0, 0, 0, 70, 254,
- 17, 0, 1, 0, 0, 0,
- 165, 0, 0, 7, 242, 0,
- 16, 0, 3, 0, 0, 0,
- 1, 64, 0, 0, 48, 0,
- 0, 0, 70, 254, 17, 0,
- 1, 0, 0, 0, 165, 0,
- 0, 7, 242, 0, 16, 0,
- 4, 0, 0, 0, 1, 64,
- 0, 0, 64, 0, 0, 0,
- 70, 254, 17, 0, 1, 0,
- 0, 0, 165, 0, 0, 7,
- 242, 0, 16, 0, 5, 0,
- 0, 0, 1, 64, 0, 0,
- 80, 0, 0, 0, 70, 254,
- 17, 0, 1, 0, 0, 0,
- 165, 0, 0, 7, 242, 0,
- 16, 0, 6, 0, 0, 0,
- 1, 64, 0, 0, 96, 0,
- 0, 0, 70, 254, 17, 0,
- 1, 0, 0, 0, 165, 0,
- 0, 7, 50, 0, 16, 0,
- 7, 0, 0, 0, 1, 64,
- 0, 0, 112, 0, 0, 0,
- 70, 240, 17, 0, 1, 0,
- 0, 0, 168, 0, 0, 8,
- 242, 224, 17, 0, 3, 0,
- 0, 0, 10, 16, 2, 0,
- 1, 64, 0, 0, 0, 0,
- 0, 0, 70, 14, 16, 0,
- 0, 0, 0, 0, 168, 0,
- 0, 8, 242, 224, 17, 0,
- 3, 0, 0, 0, 10, 16,
- 2, 0, 1, 64, 0, 0,
- 16, 0, 0, 0, 70, 14,
- 16, 0, 1, 0, 0, 0,
- 168, 0, 0, 8, 242, 224,
- 17, 0, 3, 0, 0, 0,
- 10, 16, 2, 0, 1, 64,
- 0, 0, 32, 0, 0, 0,
- 70, 14, 16, 0, 2, 0,
- 0, 0, 168, 0, 0, 8,
- 242, 224, 17, 0, 3, 0,
- 0, 0, 10, 16, 2, 0,
- 1, 64, 0, 0, 48, 0,
- 0, 0, 70, 14, 16, 0,
- 3, 0, 0, 0, 168, 0,
- 0, 8, 242, 224, 17, 0,
- 3, 0, 0, 0, 10, 16,
- 2, 0, 1, 64, 0, 0,
- 64, 0, 0, 0, 70, 14,
- 16, 0, 4, 0, 0, 0,
- 168, 0, 0, 8, 242, 224,
- 17, 0, 3, 0, 0, 0,
- 10, 16, 2, 0, 1, 64,
- 0, 0, 80, 0, 0, 0,
- 70, 14, 16, 0, 5, 0,
- 0, 0, 168, 0, 0, 8,
- 242, 224, 17, 0, 3, 0,
- 0, 0, 10, 16, 2, 0,
- 1, 64, 0, 0, 96, 0,
- 0, 0, 70, 14, 16, 0,
- 6, 0, 0, 0, 168, 0,
- 0, 8, 50, 224, 17, 0,
- 3, 0, 0, 0, 10, 16,
- 2, 0, 1, 64, 0, 0,
- 112, 0, 0, 0, 70, 0,
- 16, 0, 7, 0, 0, 0,
- 21, 0, 0, 1, 62, 0,
- 0, 1, 83, 84, 65, 84,
- 148, 0, 0, 0, 108, 16,
- 0, 0, 48, 0, 0, 0,
- 4, 0, 0, 0, 2, 0,
- 0, 0, 62, 4, 0, 0,
- 185, 1, 0, 0, 23, 1,
- 0, 0, 50, 0, 0, 0,
- 23, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 164, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 184, 0, 0, 0,
- 82, 0, 0, 0, 28, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 115, 0, 0, 0,
- 0, 0, 0, 0, 50, 0,
- 0, 0
-};