From 710954d772ffaa1afd4cc76ab8efda4c04237036 Mon Sep 17 00:00:00 2001 From: "erwin.coumans" Date: Sat, 3 Mar 2012 03:07:18 +0000 Subject: [PATCH] Constraints can override their own number of solver iterations (either more or less than the default) or leave it default (-1) Bump version to 2.80 --- Demos/SerializeDemo/SerializeDemo.cpp | 88 +- Demos/SerializeDemo/SerializeDemo.h | 2 + Demos/SerializeDemo/testFile.bullet | Bin 120648 -> 145656 bytes Extras/Serialize/BulletFileLoader/bFile.h | 4 + .../btBulletWorldImporter.cpp | 8 + VERSION | 2 +- configure.ac | 2 +- .../CollisionShapes/btTriangleInfoMap.h | 17 +- .../btSequentialImpulseConstraintSolver.cpp | 148 ++- .../btSequentialImpulseConstraintSolver.h | 1 + .../ConstraintSolver/btSolverConstraint.h | 2 + .../ConstraintSolver/btTypedConstraint.cpp | 6 + .../ConstraintSolver/btTypedConstraint.h | 21 +- src/LinearMath/btScalar.h | 2 +- src/LinearMath/btSerializer.cpp | 1141 +++++++++-------- src/LinearMath/btSerializer.h | 4 +- 16 files changed, 799 insertions(+), 649 deletions(-) diff --git a/Demos/SerializeDemo/SerializeDemo.cpp b/Demos/SerializeDemo/SerializeDemo.cpp index 9d6890879..a82c8cdf7 100644 --- a/Demos/SerializeDemo/SerializeDemo.cpp +++ b/Demos/SerializeDemo/SerializeDemo.cpp @@ -69,6 +69,87 @@ btSoftBodySolver* fSoftBodySolver=0; #include "BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h" #endif +void SerializeDemo::keyboardCallback(unsigned char key, int x, int y) +{ + btAlignedObjectArray bodies; + if (key == 'g') + { + int numManifolds = getDynamicsWorld()->getDispatcher()->getNumManifolds(); + + for (int i=0;igetDispatcher()->getManifoldByIndexInternal(i); + if (!manifold->getNumContacts()) + continue; + + btScalar minDist = 1e30f; + int minIndex = -1; + for (int v=0;vgetNumContacts();v++) + { + if (minDist >manifold->getContactPoint(v).getDistance()) + { + minDist = manifold->getContactPoint(v).getDistance(); + minIndex = v; + } + } + if (minDist>0.) + continue; + + btCollisionObject* colObj0 = (btCollisionObject*)manifold->getBody0(); + btCollisionObject* colObj1 = (btCollisionObject*)manifold->getBody1(); + int tag0 = (colObj0)->getIslandTag(); + int tag1 = (colObj1)->getIslandTag(); + btRigidBody* body0 = btRigidBody::upcast(colObj0); + btRigidBody* body1 = btRigidBody::upcast(colObj1); + if (bodies.findLinearSearch(body0)==bodies.size()) + bodies.push_back(body0); + if (bodies.findLinearSearch(body1)==bodies.size()) + bodies.push_back(body1); + + if (body0 && body1) + { + if (!colObj0->isStaticOrKinematicObject() && !colObj1->isStaticOrKinematicObject()) + { + if (body0->checkCollideWithOverride(body1)) + { + { + btTransform trA,trB; + trA.setIdentity(); + trB.setIdentity(); + btVector3 contactPosWorld = manifold->getContactPoint(minIndex).m_positionWorldOnA; + btTransform globalFrame; + globalFrame.setIdentity(); + globalFrame.setOrigin(contactPosWorld); + + trA = body0->getWorldTransform().inverse()*globalFrame; + trB = body1->getWorldTransform().inverse()*globalFrame; + + btGeneric6DofConstraint* dof6 = new btGeneric6DofConstraint(*body0,*body1,trA,trB,true); + dof6->setOverrideNumSolverIterations(100); + + dof6->setBreakingImpulseThreshold(35); + + for (int i=0;i<6;i++) + dof6->setLimit(i,0,0); + getDynamicsWorld()->addConstraint(dof6,true); + + } + } + } + } + + } + + for (int i=0;iremoveRigidBody(bodies[i]); + getDynamicsWorld()->addRigidBody(bodies[i]); + } + }else + { + PlatformDemoApplication::keyboardCallback(key,x,y); + } +} void SerializeDemo::clientMoveAndDisplay() @@ -81,7 +162,6 @@ void SerializeDemo::clientMoveAndDisplay() ///step the simulation if (m_dynamicsWorld) { - m_dynamicsWorld->stepSimulation(ms / 1000000.f); #ifdef DESERIALIZE_SOFT_BODIES @@ -242,9 +322,13 @@ void SerializeDemo::setupEmptyDynamicsWorld() btSoftRigidDynamicsWorld* world = new btSoftRigidDynamicsWorld(m_dispatcher, m_broadphase, m_solver, m_collisionConfiguration, fSoftBodySolver); m_dynamicsWorld = world; + //world->setDrawFlags(world->getDrawFlags()^fDrawFlags::Clusters); #else m_dynamicsWorld = new btDiscreteDynamicsWorld(m_dispatcher,m_broadphase,m_solver,m_collisionConfiguration); + //m_dynamicsWorld ->getSolverInfo().m_solverMode|=SOLVER_RANDMIZE_ORDER; + //m_dynamicsWorld->getDispatchInfo().m_enableSatConvex = true; + //m_dynamicsWorld->getSolverInfo().m_splitImpulse=true; #endif //DESERIALIZE_SOFT_BODIES //btGImpactCollisionAlgorithm::registerAlgorithm((btCollisionDispatcher*)m_dynamicsWorld->getDispatcher()); @@ -731,7 +815,7 @@ void SerializeDemo::initPhysics() body->setActivationState(ISLAND_SLEEPING); - m_dynamicsWorld->addRigidBody(body); + m_dynamicsWorld->addRigidBody(body,1,2); body->setActivationState(ISLAND_SLEEPING); } } diff --git a/Demos/SerializeDemo/SerializeDemo.h b/Demos/SerializeDemo/SerializeDemo.h index a5b1344b0..42cc4e9eb 100644 --- a/Demos/SerializeDemo/SerializeDemo.h +++ b/Demos/SerializeDemo/SerializeDemo.h @@ -64,6 +64,8 @@ class SerializeDemo : public PlatformDemoApplication void exitPhysics(); + virtual void keyboardCallback(unsigned char key, int x, int y); + virtual void clientMoveAndDisplay(); virtual void displayCallback(); diff --git a/Demos/SerializeDemo/testFile.bullet b/Demos/SerializeDemo/testFile.bullet index 3a7e6a5bd23fa92874fe541937ba5354c5f160d6..6c8c1fbd7854e07d97d64ebb505e2db6c8217342 100644 GIT binary patch literal 145656 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�FM;-oQ{=w`DS7?&ZiMN~!3oIZ257jf~=} zV!i3=6P*y3`U~FmytE%JTWbj7mGCU&h_7z+G_^-uPoKgKm6}n96l=s8!~OWPfcKsk zS4zh)S3@`OOpl*Qa@VogKlV1u_~>6j$$*d(6Q!j+xB zupY}deL9XOk91+r<2E3+rR{lk`&*uG2W*%0A8E!jclS^Z*6c)_T(uz^c7GCCdr0za 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

9sgKN@SKw zm*1?-f96Q8Q(b+XttC69mxXMYu_4nfVmI>E6-ke5nb*_TQRn20D+I~WWGRl>cd~0a zj_K-Nvo8ea8Odx;PVT{Gn}f zshoXBkI6a%LLpo-s$xNoBw>^)&pM^{c%4G|v`(R{TBj)G)~crD)N*>Q>cqy_$fk8F zHf6n~N+K?GVv|?KSxU&Jt2uAVgroRq$pQRsVPI2p<^S}*Ctjcbwf_42-!Q&TYZ~3O zxM^d)I|IqqB*AY6KnF{1L=7Z@-+TCjQ*qPa}3}Ac)*$i{yN}2tF2l3 zl+e@pjFxEwUedqvGho_)@6u;BpXRkQ|D6WD-ZXo_Jbq&Glu1YGe>1%{|BK)9XBQ0M ze=j_+X&q$g)<(N_)9U=5V<7r9z#x7+^L8UpJuddi>O2 ztZc~l>+}5(zTc=cgLV1uV6;O@y*9??V0sMZr<&>AT@av3V)}j-}6W%(A)k^E>gc-8J*c5SrUA_(gMRZkkx) z*wtjszL|gJeh{B#GKg3m#J}b@oRK&4>A}tX3&FebsRqq_qQ@XUA$<^^Dl>>r3mL>G zgbw19Hk$cl*=9a@w3$yHZ!Uf6`EWd0_OIrkahCmiE}mVzG>*YU`H-d-`cG#(Gw}9i zL}n{!W9&20?Lf560<-DY4$cE}@Ms5^3pzm;m>bk41!}29E0E(1jisa2Ej3CB^-MZS0niZ%=P#*vB7-W%V0hkVKASh zHkeQH7);g}+_VH-1}+CzVDCzB6}TE)1Fi+vf$PByU@2q2k;vNw|6IUMyAU5-1TF@b zfJ?z*umoHNE(cfOiz~rZ;A(IUxE5Rot_L@OvR%d6C}OFZPo-%llkGze*q2Xs*|+qm zBici^f!o0y;7-PK7r2}6^(h$l^4V{z@iX@^m;1p3M0!~sf;Pt%F^ z2bDf8bSOJ!F*c!U_N1WFrTtNxM?|9 zK_A7%m+1FpuwN-NsBbf$HaduZwYZsokz_RgRo}AyYv{kuPE+oGx}y6A(l@~~;9Dg- zW69U+@vkEfMmLyGN7aCJz|?+ZDIY(__um6gg71SLfFFV%fggkC!3*Fg;HTh4 z@H6mp@Dg|#`~tiJehGes{a=IMfZu}OfnGA%x{TxZ;1A%BjO9<@&-DKb?SBQYg1>>+ z(0!Ay`;qmwWL;mU{~O@%m7n;!fmaOD3p;Hhu`<3cT< diff --git a/Extras/Serialize/BulletFileLoader/bFile.h b/Extras/Serialize/BulletFileLoader/bFile.h index 35e923ffd..405bbe37b 100644 --- a/Extras/Serialize/BulletFileLoader/bFile.h +++ b/Extras/Serialize/BulletFileLoader/bFile.h @@ -145,6 +145,10 @@ namespace bParse { void dumpChunks(bDNA* dna); + int getVersion() const + { + return mVersion; + } }; diff --git a/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp b/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp index 146f0a13c..74f38103e 100644 --- a/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp +++ b/Extras/Serialize/BulletWorldImporter/btBulletWorldImporter.cpp @@ -1164,6 +1164,14 @@ bool btBulletWorldImporter::convertAllObjects( bParse::btBulletFile* bulletFile if (constraint) { constraint->setDbgDrawSize(constraintData->m_dbgDrawSize); + ///those fields didn't exist and set to zero for pre-280 versions, so do a check here + if (bulletFile2->getVersion()>=280) + { + constraint->setBreakingImpulseThreshold(constraintData->m_breakingImpulseThreshold); + constraint->setEnabled(constraintData->m_isEnabled); + constraint->setOverrideNumSolverIterations(constraintData->m_overrideNumSolverIterations); + } + if (constraintData->m_name) { char* newname = duplicateName(constraintData->m_name); diff --git a/VERSION b/VERSION index 19c430fc1..8517cb1ed 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.79 +2.80 diff --git a/configure.ac b/configure.ac index da323c0ea..762f55fa2 100644 --- a/configure.ac +++ b/configure.ac @@ -9,7 +9,7 @@ AC_PREREQ([2.54]) #---------------------------------------------------------------------------- AC_INIT( [bullet], - [2.79], + [2.80], [bullet@erwincoumans.com]) AC_CANONICAL_HOST AC_CONFIG_SRCDIR([configure.ac]) diff --git a/src/BulletCollision/CollisionShapes/btTriangleInfoMap.h b/src/BulletCollision/CollisionShapes/btTriangleInfoMap.h index 03e288b35..1cea7045f 100644 --- a/src/BulletCollision/CollisionShapes/btTriangleInfoMap.h +++ b/src/BulletCollision/CollisionShapes/btTriangleInfoMap.h @@ -85,12 +85,13 @@ struct btTriangleInfoMap : public btInternalTriangleInfoMap }; +///those fields have to be float and not btScalar for the serialization to work properly struct btTriangleInfoData { int m_flags; - btScalar m_edgeV0V1Angle; - btScalar m_edgeV1V2Angle; - btScalar m_edgeV2V0Angle; + float m_edgeV0V1Angle; + float m_edgeV1V2Angle; + float m_edgeV2V0Angle; }; struct btTriangleInfoMapData @@ -100,11 +101,11 @@ struct btTriangleInfoMapData btTriangleInfoData *m_valueArrayPtr; int *m_keyArrayPtr; - btScalar m_convexEpsilon; - btScalar m_planarEpsilon; - btScalar m_equalVertexThreshold; - btScalar m_edgeDistanceThreshold; - btScalar m_zeroAreaThreshold; + float m_convexEpsilon; + float m_planarEpsilon; + float m_equalVertexThreshold; + float m_edgeDistanceThreshold; + float m_zeroAreaThreshold; int m_nextSize; int m_hashTableSize; diff --git a/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp b/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp index b7372fd9b..ab0742240 100644 --- a/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp +++ b/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp @@ -740,13 +740,13 @@ void btSequentialImpulseConstraintSolver::convertContact(btPersistentManifold* m } } - btScalar btSequentialImpulseConstraintSolver::solveGroupCacheFriendlySetup(btCollisionObject** bodies, int numBodies, btPersistentManifold** manifoldPtr, int numManifolds,btTypedConstraint** constraints,int numConstraints,const btContactSolverInfo& infoGlobal,btIDebugDraw* debugDrawer,btStackAlloc* stackAlloc) { BT_PROFILE("solveGroupCacheFriendlySetup"); (void)stackAlloc; (void)debugDrawer; + m_maxOverrideNumSolverIterations = 0; if (!(numConstraints + numManifolds)) { @@ -831,12 +831,15 @@ btScalar btSequentialImpulseConstraintSolver::solveGroupCacheFriendlySetup(btCol btSolverConstraint* currentConstraintRow = &m_tmpSolverNonContactConstraintPool[currentRow]; btTypedConstraint* constraint = constraints[i]; - - btRigidBody& rbA = constraint->getRigidBodyA(); btRigidBody& rbB = constraint->getRigidBodyB(); - + + int overrideNumSolverIterations = constraint->getOverrideNumSolverIterations() > 0 ? constraint->getOverrideNumSolverIterations() : infoGlobal.m_numIterations; + if (overrideNumSolverIterations>m_maxOverrideNumSolverIterations) + m_maxOverrideNumSolverIterations = overrideNumSolverIterations; + + int j; for ( j=0;jsolveConstraintObsolete(constraints[j]->getRigidBodyA(),constraints[j]->getRigidBodyB(),infoGlobal.m_timeStep); - } - - ///solve all contact constraints using SIMD, if available - int numPoolConstraints = m_tmpSolverContactConstraintPool.size(); - for (j=0;jbtScalar(0)) + for (j=0;jsolveConstraintObsolete(constraints[j]->getRigidBodyA(),constraints[j]->getRigidBodyB(),infoGlobal.m_timeStep); + } - resolveSingleConstraintRowGenericSIMD(*solveManifold.m_solverBodyA, *solveManifold.m_solverBodyB,solveManifold); + ///solve all contact constraints using SIMD, if available + int numPoolConstraints = m_tmpSolverContactConstraintPool.size(); + for (j=0;jbtScalar(0)) + { + solveManifold.m_lowerLimit = -(solveManifold.m_friction*totalImpulse); + solveManifold.m_upperLimit = solveManifold.m_friction*totalImpulse; + + resolveSingleConstraintRowGenericSIMD(*solveManifold.m_solverBodyA, *solveManifold.m_solverBodyB,solveManifold); + } } } } else @@ -1064,33 +1077,37 @@ btScalar btSequentialImpulseConstraintSolver::solveSingleIteration(int iteration for (j=0;jsolveConstraintObsolete(constraints[j]->getRigidBodyA(),constraints[j]->getRigidBodyB(),infoGlobal.m_timeStep); - } - ///solve all contact constraints - int numPoolConstraints = m_tmpSolverContactConstraintPool.size(); - for (j=0;jbtScalar(0)) + for (j=0;jsolveConstraintObsolete(constraints[j]->getRigidBodyA(),constraints[j]->getRigidBodyB(),infoGlobal.m_timeStep); + } + ///solve all contact constraints + int numPoolConstraints = m_tmpSolverContactConstraintPool.size(); + for (j=0;jbtScalar(0)) + { + solveManifold.m_lowerLimit = -(solveManifold.m_friction*totalImpulse); + solveManifold.m_upperLimit = solveManifold.m_friction*totalImpulse; + + resolveSingleConstraintRowGeneric(*solveManifold.m_solverBodyA,*solveManifold.m_solverBodyB,solveManifold); + } } } } @@ -1142,13 +1159,14 @@ btScalar btSequentialImpulseConstraintSolver::solveGroupCacheFriendlyIterations( { BT_PROFILE("solveGroupCacheFriendlyIterations"); - - //should traverse the contacts random order... - int iteration; { + ///this is a special step to resolve penetrations (just for contacts) solveGroupCacheFriendlySplitImpulseIterations(bodies ,numBodies,manifoldPtr, numManifolds,constraints,numConstraints,infoGlobal,debugDrawer,stackAlloc); - for ( iteration = 0;iteration infoGlobal.m_numIterations? m_maxOverrideNumSolverIterations : infoGlobal.m_numIterations; + + for ( int iteration = 0 ; iteration< maxIterations ; iteration++) + //for ( int iteration = maxIterations-1 ; iteration >= 0;iteration--) { solveSingleIteration(iteration, bodies ,numBodies,manifoldPtr, numManifolds,constraints,numConstraints,infoGlobal,debugDrawer,stackAlloc); } diff --git a/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h b/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h index 178f600ab..bb377db8d 100644 --- a/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h +++ b/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.h @@ -36,6 +36,7 @@ protected: btAlignedObjectArray m_orderNonContactConstraintPool; btAlignedObjectArray m_orderFrictionConstraintPool; btAlignedObjectArray m_tmpConstraintSizesPool; + int m_maxOverrideNumSolverIterations; void setupFrictionConstraint( btSolverConstraint& solverConstraint, const btVector3& normalAxis,btRigidBody* solverBodyA,btRigidBody* solverBodyIdB, btManifoldPoint& cp,const btVector3& rel_pos1,const btVector3& rel_pos2, diff --git a/src/BulletDynamics/ConstraintSolver/btSolverConstraint.h b/src/BulletDynamics/ConstraintSolver/btSolverConstraint.h index 79e45a438..179e79d79 100644 --- a/src/BulletDynamics/ConstraintSolver/btSolverConstraint.h +++ b/src/BulletDynamics/ConstraintSolver/btSolverConstraint.h @@ -51,6 +51,8 @@ ATTRIBUTE_ALIGNED64 (struct) btSolverConstraint btScalar m_unusedPadding0; }; + int m_overrideNumSolverIterations; + union { int m_frictionIndex; diff --git a/src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp b/src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp index 5ca6f16d0..06bde5e7e 100644 --- a/src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp +++ b/src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp @@ -28,6 +28,7 @@ m_userConstraintId(-1), m_breakingImpulseThreshold(SIMD_INFINITY), m_isEnabled(true), m_needsFeedback(false), +m_overrideNumSolverIterations(-1), m_rbA(rbA), m_rbB(getFixedBody()), m_appliedImpulse(btScalar(0.)), @@ -43,6 +44,7 @@ m_userConstraintId(-1), m_breakingImpulseThreshold(SIMD_INFINITY), m_isEnabled(true), m_needsFeedback(false), +m_overrideNumSolverIterations(-1), m_rbA(rbA), m_rbB(rbB), m_appliedImpulse(btScalar(0.)), @@ -118,6 +120,10 @@ const char* btTypedConstraint::serialize(void* dataBuffer, btSerializer* seriali tcd->m_objectType = m_objectType; tcd->m_needsFeedback = m_needsFeedback; + tcd->m_overrideNumSolverIterations = m_overrideNumSolverIterations; + tcd->m_breakingImpulseThreshold = float(m_breakingImpulseThreshold); + tcd->m_isEnabled = m_isEnabled? 1: 0; + tcd->m_userConstraintId =m_userConstraintId; tcd->m_userConstraintType =m_userConstraintType; diff --git a/src/BulletDynamics/ConstraintSolver/btTypedConstraint.h b/src/BulletDynamics/ConstraintSolver/btTypedConstraint.h index 3fb070f3b..a16e869a9 100644 --- a/src/BulletDynamics/ConstraintSolver/btTypedConstraint.h +++ b/src/BulletDynamics/ConstraintSolver/btTypedConstraint.h @@ -64,10 +64,10 @@ class btTypedConstraint : public btTypedObject btScalar m_breakingImpulseThreshold; bool m_isEnabled; + bool m_needsFeedback; + int m_overrideNumSolverIterations; - bool m_needsFeedback; - btTypedConstraint& operator=(btTypedConstraint& other) { btAssert(0); @@ -131,6 +131,18 @@ public: btScalar m_damping; }; + int getOverrideNumSolverIterations() const + { + return m_overrideNumSolverIterations; + } + + ///override the number of constraint solver iterations used to solve this constraint + ///-1 will use the default number of iterations, as specified in SolverInfo.m_numIterations + void setOverrideNumSolverIterations(int overideNumIterations) + { + m_overrideNumSolverIterations = overideNumIterations; + } + ///internal method used by the constraint solver, don't use them directly virtual void buildJacobian() {}; @@ -329,7 +341,10 @@ struct btTypedConstraintData float m_dbgDrawSize; int m_disableCollisionsBetweenLinkedBodies; - char m_pad4[4]; + int m_overrideNumSolverIterations; + + float m_breakingImpulseThreshold; + int m_isEnabled; }; diff --git a/src/LinearMath/btScalar.h b/src/LinearMath/btScalar.h index a8a4e387a..e3bd37a01 100644 --- a/src/LinearMath/btScalar.h +++ b/src/LinearMath/btScalar.h @@ -28,7 +28,7 @@ subject to the following restrictions: #include /* SVN $Revision$ on $Date$ from http://bullet.googlecode.com*/ -#define BT_BULLET_VERSION 279 +#define BT_BULLET_VERSION 280 inline int btGetVersion() { diff --git a/src/LinearMath/btSerializer.cpp b/src/LinearMath/btSerializer.cpp index c6d387e61..9ed121925 100644 --- a/src/LinearMath/btSerializer.cpp +++ b/src/LinearMath/btSerializer.cpp @@ -1,5 +1,5 @@ unsigned char sBulletDNAstr[]= { -83,68,78,65,78,65,77,69,42,1,0,0,109,95,115,105,122,101,0,109, +83,68,78,65,78,65,77,69,44,1,0,0,109,95,115,105,122,101,0,109, 95,99,97,112,97,99,105,116,121,0,42,109,95,100,97,116,97,0,109,95, 99,111,108,108,105,115,105,111,110,83,104,97,112,101,115,0,109,95,99,111, 108,108,105,115,105,111,110,79,98,106,101,99,116,115,0,109,95,99,111,110, @@ -130,292 +130,297 @@ unsigned char sBulletDNAstr[]= { 112,108,105,101,100,73,109,112,117,108,115,101,0,109,95,100,98,103,68,114, 97,119,83,105,122,101,0,109,95,100,105,115,97,98,108,101,67,111,108,108, 105,115,105,111,110,115,66,101,116,119,101,101,110,76,105,110,107,101,100,66, -111,100,105,101,115,0,109,95,112,97,100,52,91,52,93,0,109,95,116,121, -112,101,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,109,95,112, -105,118,111,116,73,110,65,0,109,95,112,105,118,111,116,73,110,66,0,109, -95,114,98,65,70,114,97,109,101,0,109,95,114,98,66,70,114,97,109,101, -0,109,95,117,115,101,82,101,102,101,114,101,110,99,101,70,114,97,109,101, -65,0,109,95,97,110,103,117,108,97,114,79,110,108,121,0,109,95,101,110, -97,98,108,101,65,110,103,117,108,97,114,77,111,116,111,114,0,109,95,109, -111,116,111,114,84,97,114,103,101,116,86,101,108,111,99,105,116,121,0,109, -95,109,97,120,77,111,116,111,114,73,109,112,117,108,115,101,0,109,95,108, -111,119,101,114,76,105,109,105,116,0,109,95,117,112,112,101,114,76,105,109, -105,116,0,109,95,108,105,109,105,116,83,111,102,116,110,101,115,115,0,109, -95,98,105,97,115,70,97,99,116,111,114,0,109,95,114,101,108,97,120,97, -116,105,111,110,70,97,99,116,111,114,0,109,95,115,119,105,110,103,83,112, -97,110,49,0,109,95,115,119,105,110,103,83,112,97,110,50,0,109,95,116, -119,105,115,116,83,112,97,110,0,109,95,100,97,109,112,105,110,103,0,109, -95,108,105,110,101,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95, -108,105,110,101,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,97, -110,103,117,108,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95,97, -110,103,117,108,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,117, -115,101,76,105,110,101,97,114,82,101,102,101,114,101,110,99,101,70,114,97, -109,101,65,0,109,95,117,115,101,79,102,102,115,101,116,70,111,114,67,111, -110,115,116,114,97,105,110,116,70,114,97,109,101,0,109,95,54,100,111,102, -68,97,116,97,0,109,95,115,112,114,105,110,103,69,110,97,98,108,101,100, -91,54,93,0,109,95,101,113,117,105,108,105,98,114,105,117,109,80,111,105, -110,116,91,54,93,0,109,95,115,112,114,105,110,103,83,116,105,102,102,110, -101,115,115,91,54,93,0,109,95,115,112,114,105,110,103,68,97,109,112,105, -110,103,91,54,93,0,109,95,108,105,110,101,97,114,83,116,105,102,102,110, -101,115,115,0,109,95,97,110,103,117,108,97,114,83,116,105,102,102,110,101, -115,115,0,109,95,118,111,108,117,109,101,83,116,105,102,102,110,101,115,115, -0,42,109,95,109,97,116,101,114,105,97,108,0,109,95,112,111,115,105,116, -105,111,110,0,109,95,112,114,101,118,105,111,117,115,80,111,115,105,116,105, -111,110,0,109,95,118,101,108,111,99,105,116,121,0,109,95,97,99,99,117, -109,117,108,97,116,101,100,70,111,114,99,101,0,109,95,110,111,114,109,97, -108,0,109,95,97,114,101,97,0,109,95,97,116,116,97,99,104,0,109,95, -110,111,100,101,73,110,100,105,99,101,115,91,50,93,0,109,95,114,101,115, -116,76,101,110,103,116,104,0,109,95,98,98,101,110,100,105,110,103,0,109, -95,110,111,100,101,73,110,100,105,99,101,115,91,51,93,0,109,95,114,101, -115,116,65,114,101,97,0,109,95,99,48,91,52,93,0,109,95,110,111,100, -101,73,110,100,105,99,101,115,91,52,93,0,109,95,114,101,115,116,86,111, -108,117,109,101,0,109,95,99,49,0,109,95,99,50,0,109,95,99,48,0, -109,95,108,111,99,97,108,70,114,97,109,101,0,42,109,95,114,105,103,105, -100,66,111,100,121,0,109,95,110,111,100,101,73,110,100,101,120,0,109,95, -97,101,114,111,77,111,100,101,108,0,109,95,98,97,117,109,103,97,114,116, -101,0,109,95,100,114,97,103,0,109,95,108,105,102,116,0,109,95,112,114, -101,115,115,117,114,101,0,109,95,118,111,108,117,109,101,0,109,95,100,121, -110,97,109,105,99,70,114,105,99,116,105,111,110,0,109,95,112,111,115,101, -77,97,116,99,104,0,109,95,114,105,103,105,100,67,111,110,116,97,99,116, -72,97,114,100,110,101,115,115,0,109,95,107,105,110,101,116,105,99,67,111, -110,116,97,99,116,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116, -67,111,110,116,97,99,116,72,97,114,100,110,101,115,115,0,109,95,97,110, -99,104,111,114,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116,82, -105,103,105,100,67,108,117,115,116,101,114,72,97,114,100,110,101,115,115,0, -109,95,115,111,102,116,75,105,110,101,116,105,99,67,108,117,115,116,101,114, -72,97,114,100,110,101,115,115,0,109,95,115,111,102,116,83,111,102,116,67, -108,117,115,116,101,114,72,97,114,100,110,101,115,115,0,109,95,115,111,102, -116,82,105,103,105,100,67,108,117,115,116,101,114,73,109,112,117,108,115,101, -83,112,108,105,116,0,109,95,115,111,102,116,75,105,110,101,116,105,99,67, -108,117,115,116,101,114,73,109,112,117,108,115,101,83,112,108,105,116,0,109, -95,115,111,102,116,83,111,102,116,67,108,117,115,116,101,114,73,109,112,117, -108,115,101,83,112,108,105,116,0,109,95,109,97,120,86,111,108,117,109,101, -0,109,95,116,105,109,101,83,99,97,108,101,0,109,95,118,101,108,111,99, -105,116,121,73,116,101,114,97,116,105,111,110,115,0,109,95,112,111,115,105, -116,105,111,110,73,116,101,114,97,116,105,111,110,115,0,109,95,100,114,105, -102,116,73,116,101,114,97,116,105,111,110,115,0,109,95,99,108,117,115,116, -101,114,73,116,101,114,97,116,105,111,110,115,0,109,95,114,111,116,0,109, -95,115,99,97,108,101,0,109,95,97,113,113,0,109,95,99,111,109,0,42, -109,95,112,111,115,105,116,105,111,110,115,0,42,109,95,119,101,105,103,104, -116,115,0,109,95,110,117,109,80,111,115,105,116,105,111,110,115,0,109,95, -110,117,109,87,101,105,103,116,115,0,109,95,98,118,111,108,117,109,101,0, -109,95,98,102,114,97,109,101,0,109,95,102,114,97,109,101,120,102,111,114, -109,0,109,95,108,111,99,105,105,0,109,95,105,110,118,119,105,0,109,95, -118,105,109,112,117,108,115,101,115,91,50,93,0,109,95,100,105,109,112,117, -108,115,101,115,91,50,93,0,109,95,108,118,0,109,95,97,118,0,42,109, -95,102,114,97,109,101,114,101,102,115,0,42,109,95,110,111,100,101,73,110, -100,105,99,101,115,0,42,109,95,109,97,115,115,101,115,0,109,95,110,117, -109,70,114,97,109,101,82,101,102,115,0,109,95,110,117,109,78,111,100,101, -115,0,109,95,110,117,109,77,97,115,115,101,115,0,109,95,105,100,109,97, -115,115,0,109,95,105,109,97,115,115,0,109,95,110,118,105,109,112,117,108, -115,101,115,0,109,95,110,100,105,109,112,117,108,115,101,115,0,109,95,110, -100,97,109,112,105,110,103,0,109,95,108,100,97,109,112,105,110,103,0,109, -95,97,100,97,109,112,105,110,103,0,109,95,109,97,116,99,104,105,110,103, -0,109,95,109,97,120,83,101,108,102,67,111,108,108,105,115,105,111,110,73, -109,112,117,108,115,101,0,109,95,115,101,108,102,67,111,108,108,105,115,105, -111,110,73,109,112,117,108,115,101,70,97,99,116,111,114,0,109,95,99,111, -110,116,97,105,110,115,65,110,99,104,111,114,0,109,95,99,111,108,108,105, -100,101,0,109,95,99,108,117,115,116,101,114,73,110,100,101,120,0,42,109, -95,98,111,100,121,65,0,42,109,95,98,111,100,121,66,0,109,95,114,101, -102,115,91,50,93,0,109,95,99,102,109,0,109,95,101,114,112,0,109,95, -115,112,108,105,116,0,109,95,100,101,108,101,116,101,0,109,95,114,101,108, -80,111,115,105,116,105,111,110,91,50,93,0,109,95,98,111,100,121,65,116, -121,112,101,0,109,95,98,111,100,121,66,116,121,112,101,0,109,95,106,111, -105,110,116,84,121,112,101,0,42,109,95,112,111,115,101,0,42,42,109,95, -109,97,116,101,114,105,97,108,115,0,42,109,95,110,111,100,101,115,0,42, -109,95,108,105,110,107,115,0,42,109,95,102,97,99,101,115,0,42,109,95, -116,101,116,114,97,104,101,100,114,97,0,42,109,95,97,110,99,104,111,114, -115,0,42,109,95,99,108,117,115,116,101,114,115,0,42,109,95,106,111,105, -110,116,115,0,109,95,110,117,109,77,97,116,101,114,105,97,108,115,0,109, -95,110,117,109,76,105,110,107,115,0,109,95,110,117,109,70,97,99,101,115, -0,109,95,110,117,109,84,101,116,114,97,104,101,100,114,97,0,109,95,110, -117,109,65,110,99,104,111,114,115,0,109,95,110,117,109,67,108,117,115,116, -101,114,115,0,109,95,110,117,109,74,111,105,110,116,115,0,109,95,99,111, -110,102,105,103,0,0,0,0,84,89,80,69,72,0,0,0,99,104,97,114, -0,117,99,104,97,114,0,115,104,111,114,116,0,117,115,104,111,114,116,0, -105,110,116,0,108,111,110,103,0,117,108,111,110,103,0,102,108,111,97,116, -0,100,111,117,98,108,101,0,118,111,105,100,0,80,111,105,110,116,101,114, -65,114,114,97,121,0,98,116,80,104,121,115,105,99,115,83,121,115,116,101, -109,0,76,105,115,116,66,97,115,101,0,98,116,86,101,99,116,111,114,51, -70,108,111,97,116,68,97,116,97,0,98,116,86,101,99,116,111,114,51,68, -111,117,98,108,101,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120, -51,70,108,111,97,116,68,97,116,97,0,98,116,77,97,116,114,105,120,51, -120,51,68,111,117,98,108,101,68,97,116,97,0,98,116,84,114,97,110,115, -102,111,114,109,70,108,111,97,116,68,97,116,97,0,98,116,84,114,97,110, -115,102,111,114,109,68,111,117,98,108,101,68,97,116,97,0,98,116,66,118, -104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0,98,116,79, -112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,70,108,111,97,116, -68,97,116,97,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78, -111,100,101,68,111,117,98,108,101,68,97,116,97,0,98,116,81,117,97,110, -116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,98,116,81, -117,97,110,116,105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97, -0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,68,111,117,98,108, -101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97, -112,101,68,97,116,97,0,98,116,83,116,97,116,105,99,80,108,97,110,101, -83,104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,73,110, -116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,98,116,80,111, -115,105,116,105,111,110,65,110,100,82,97,100,105,117,115,0,98,116,77,117, -108,116,105,83,112,104,101,114,101,83,104,97,112,101,68,97,116,97,0,98, -116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114, -116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114, -116,73,110,116,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97, -0,98,116,67,104,97,114,73,110,100,101,120,84,114,105,112,108,101,116,68, -97,116,97,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,98, -116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97, -99,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,77,101,115, -104,83,104,97,112,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108, -101,73,110,102,111,77,97,112,68,97,116,97,0,98,116,83,99,97,108,101, -100,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97, -116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104, -105,108,100,68,97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104, -97,112,101,68,97,116,97,0,98,116,67,121,108,105,110,100,101,114,83,104, -97,112,101,68,97,116,97,0,98,116,67,97,112,115,117,108,101,83,104,97, +111,100,105,101,115,0,109,95,111,118,101,114,114,105,100,101,78,117,109,83, +111,108,118,101,114,73,116,101,114,97,116,105,111,110,115,0,109,95,98,114, +101,97,107,105,110,103,73,109,112,117,108,115,101,84,104,114,101,115,104,111, +108,100,0,109,95,105,115,69,110,97,98,108,101,100,0,109,95,116,121,112, +101,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,109,95,112,105, +118,111,116,73,110,65,0,109,95,112,105,118,111,116,73,110,66,0,109,95, +114,98,65,70,114,97,109,101,0,109,95,114,98,66,70,114,97,109,101,0, +109,95,117,115,101,82,101,102,101,114,101,110,99,101,70,114,97,109,101,65, +0,109,95,97,110,103,117,108,97,114,79,110,108,121,0,109,95,101,110,97, +98,108,101,65,110,103,117,108,97,114,77,111,116,111,114,0,109,95,109,111, +116,111,114,84,97,114,103,101,116,86,101,108,111,99,105,116,121,0,109,95, +109,97,120,77,111,116,111,114,73,109,112,117,108,115,101,0,109,95,108,111, +119,101,114,76,105,109,105,116,0,109,95,117,112,112,101,114,76,105,109,105, +116,0,109,95,108,105,109,105,116,83,111,102,116,110,101,115,115,0,109,95, +98,105,97,115,70,97,99,116,111,114,0,109,95,114,101,108,97,120,97,116, +105,111,110,70,97,99,116,111,114,0,109,95,115,119,105,110,103,83,112,97, +110,49,0,109,95,115,119,105,110,103,83,112,97,110,50,0,109,95,116,119, +105,115,116,83,112,97,110,0,109,95,100,97,109,112,105,110,103,0,109,95, +108,105,110,101,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95,108, +105,110,101,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,97,110, +103,117,108,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95,97,110, +103,117,108,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,117,115, +101,76,105,110,101,97,114,82,101,102,101,114,101,110,99,101,70,114,97,109, +101,65,0,109,95,117,115,101,79,102,102,115,101,116,70,111,114,67,111,110, +115,116,114,97,105,110,116,70,114,97,109,101,0,109,95,54,100,111,102,68, +97,116,97,0,109,95,115,112,114,105,110,103,69,110,97,98,108,101,100,91, +54,93,0,109,95,101,113,117,105,108,105,98,114,105,117,109,80,111,105,110, +116,91,54,93,0,109,95,115,112,114,105,110,103,83,116,105,102,102,110,101, +115,115,91,54,93,0,109,95,115,112,114,105,110,103,68,97,109,112,105,110, +103,91,54,93,0,109,95,108,105,110,101,97,114,83,116,105,102,102,110,101, +115,115,0,109,95,97,110,103,117,108,97,114,83,116,105,102,102,110,101,115, +115,0,109,95,118,111,108,117,109,101,83,116,105,102,102,110,101,115,115,0, +42,109,95,109,97,116,101,114,105,97,108,0,109,95,112,111,115,105,116,105, +111,110,0,109,95,112,114,101,118,105,111,117,115,80,111,115,105,116,105,111, +110,0,109,95,118,101,108,111,99,105,116,121,0,109,95,97,99,99,117,109, +117,108,97,116,101,100,70,111,114,99,101,0,109,95,110,111,114,109,97,108, +0,109,95,97,114,101,97,0,109,95,97,116,116,97,99,104,0,109,95,110, +111,100,101,73,110,100,105,99,101,115,91,50,93,0,109,95,114,101,115,116, +76,101,110,103,116,104,0,109,95,98,98,101,110,100,105,110,103,0,109,95, +110,111,100,101,73,110,100,105,99,101,115,91,51,93,0,109,95,114,101,115, +116,65,114,101,97,0,109,95,99,48,91,52,93,0,109,95,110,111,100,101, +73,110,100,105,99,101,115,91,52,93,0,109,95,114,101,115,116,86,111,108, +117,109,101,0,109,95,99,49,0,109,95,99,50,0,109,95,99,48,0,109, +95,108,111,99,97,108,70,114,97,109,101,0,42,109,95,114,105,103,105,100, +66,111,100,121,0,109,95,110,111,100,101,73,110,100,101,120,0,109,95,97, +101,114,111,77,111,100,101,108,0,109,95,98,97,117,109,103,97,114,116,101, +0,109,95,100,114,97,103,0,109,95,108,105,102,116,0,109,95,112,114,101, +115,115,117,114,101,0,109,95,118,111,108,117,109,101,0,109,95,100,121,110, +97,109,105,99,70,114,105,99,116,105,111,110,0,109,95,112,111,115,101,77, +97,116,99,104,0,109,95,114,105,103,105,100,67,111,110,116,97,99,116,72, +97,114,100,110,101,115,115,0,109,95,107,105,110,101,116,105,99,67,111,110, +116,97,99,116,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116,67, +111,110,116,97,99,116,72,97,114,100,110,101,115,115,0,109,95,97,110,99, +104,111,114,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116,82,105, +103,105,100,67,108,117,115,116,101,114,72,97,114,100,110,101,115,115,0,109, +95,115,111,102,116,75,105,110,101,116,105,99,67,108,117,115,116,101,114,72, +97,114,100,110,101,115,115,0,109,95,115,111,102,116,83,111,102,116,67,108, +117,115,116,101,114,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116, +82,105,103,105,100,67,108,117,115,116,101,114,73,109,112,117,108,115,101,83, +112,108,105,116,0,109,95,115,111,102,116,75,105,110,101,116,105,99,67,108, +117,115,116,101,114,73,109,112,117,108,115,101,83,112,108,105,116,0,109,95, +115,111,102,116,83,111,102,116,67,108,117,115,116,101,114,73,109,112,117,108, +115,101,83,112,108,105,116,0,109,95,109,97,120,86,111,108,117,109,101,0, +109,95,116,105,109,101,83,99,97,108,101,0,109,95,118,101,108,111,99,105, +116,121,73,116,101,114,97,116,105,111,110,115,0,109,95,112,111,115,105,116, +105,111,110,73,116,101,114,97,116,105,111,110,115,0,109,95,100,114,105,102, +116,73,116,101,114,97,116,105,111,110,115,0,109,95,99,108,117,115,116,101, +114,73,116,101,114,97,116,105,111,110,115,0,109,95,114,111,116,0,109,95, +115,99,97,108,101,0,109,95,97,113,113,0,109,95,99,111,109,0,42,109, +95,112,111,115,105,116,105,111,110,115,0,42,109,95,119,101,105,103,104,116, +115,0,109,95,110,117,109,80,111,115,105,116,105,111,110,115,0,109,95,110, +117,109,87,101,105,103,116,115,0,109,95,98,118,111,108,117,109,101,0,109, +95,98,102,114,97,109,101,0,109,95,102,114,97,109,101,120,102,111,114,109, +0,109,95,108,111,99,105,105,0,109,95,105,110,118,119,105,0,109,95,118, +105,109,112,117,108,115,101,115,91,50,93,0,109,95,100,105,109,112,117,108, +115,101,115,91,50,93,0,109,95,108,118,0,109,95,97,118,0,42,109,95, +102,114,97,109,101,114,101,102,115,0,42,109,95,110,111,100,101,73,110,100, +105,99,101,115,0,42,109,95,109,97,115,115,101,115,0,109,95,110,117,109, +70,114,97,109,101,82,101,102,115,0,109,95,110,117,109,78,111,100,101,115, +0,109,95,110,117,109,77,97,115,115,101,115,0,109,95,105,100,109,97,115, +115,0,109,95,105,109,97,115,115,0,109,95,110,118,105,109,112,117,108,115, +101,115,0,109,95,110,100,105,109,112,117,108,115,101,115,0,109,95,110,100, +97,109,112,105,110,103,0,109,95,108,100,97,109,112,105,110,103,0,109,95, +97,100,97,109,112,105,110,103,0,109,95,109,97,116,99,104,105,110,103,0, +109,95,109,97,120,83,101,108,102,67,111,108,108,105,115,105,111,110,73,109, +112,117,108,115,101,0,109,95,115,101,108,102,67,111,108,108,105,115,105,111, +110,73,109,112,117,108,115,101,70,97,99,116,111,114,0,109,95,99,111,110, +116,97,105,110,115,65,110,99,104,111,114,0,109,95,99,111,108,108,105,100, +101,0,109,95,99,108,117,115,116,101,114,73,110,100,101,120,0,42,109,95, +98,111,100,121,65,0,42,109,95,98,111,100,121,66,0,109,95,114,101,102, +115,91,50,93,0,109,95,99,102,109,0,109,95,101,114,112,0,109,95,115, +112,108,105,116,0,109,95,100,101,108,101,116,101,0,109,95,114,101,108,80, +111,115,105,116,105,111,110,91,50,93,0,109,95,98,111,100,121,65,116,121, +112,101,0,109,95,98,111,100,121,66,116,121,112,101,0,109,95,106,111,105, +110,116,84,121,112,101,0,42,109,95,112,111,115,101,0,42,42,109,95,109, +97,116,101,114,105,97,108,115,0,42,109,95,110,111,100,101,115,0,42,109, +95,108,105,110,107,115,0,42,109,95,102,97,99,101,115,0,42,109,95,116, +101,116,114,97,104,101,100,114,97,0,42,109,95,97,110,99,104,111,114,115, +0,42,109,95,99,108,117,115,116,101,114,115,0,42,109,95,106,111,105,110, +116,115,0,109,95,110,117,109,77,97,116,101,114,105,97,108,115,0,109,95, +110,117,109,76,105,110,107,115,0,109,95,110,117,109,70,97,99,101,115,0, +109,95,110,117,109,84,101,116,114,97,104,101,100,114,97,0,109,95,110,117, +109,65,110,99,104,111,114,115,0,109,95,110,117,109,67,108,117,115,116,101, +114,115,0,109,95,110,117,109,74,111,105,110,116,115,0,109,95,99,111,110, +102,105,103,0,84,89,80,69,72,0,0,0,99,104,97,114,0,117,99,104, +97,114,0,115,104,111,114,116,0,117,115,104,111,114,116,0,105,110,116,0, +108,111,110,103,0,117,108,111,110,103,0,102,108,111,97,116,0,100,111,117, +98,108,101,0,118,111,105,100,0,80,111,105,110,116,101,114,65,114,114,97, +121,0,98,116,80,104,121,115,105,99,115,83,121,115,116,101,109,0,76,105, +115,116,66,97,115,101,0,98,116,86,101,99,116,111,114,51,70,108,111,97, +116,68,97,116,97,0,98,116,86,101,99,116,111,114,51,68,111,117,98,108, +101,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120,51,70,108,111, +97,116,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120,51,68,111, +117,98,108,101,68,97,116,97,0,98,116,84,114,97,110,115,102,111,114,109, +70,108,111,97,116,68,97,116,97,0,98,116,84,114,97,110,115,102,111,114, +109,68,111,117,98,108,101,68,97,116,97,0,98,116,66,118,104,83,117,98, +116,114,101,101,73,110,102,111,68,97,116,97,0,98,116,79,112,116,105,109, +105,122,101,100,66,118,104,78,111,100,101,70,108,111,97,116,68,97,116,97, +0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,68, +111,117,98,108,101,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101, +100,66,118,104,78,111,100,101,68,97,116,97,0,98,116,81,117,97,110,116, +105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97,0,98,116,81, +117,97,110,116,105,122,101,100,66,118,104,68,111,117,98,108,101,68,97,116, +97,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97, +116,97,0,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112, +101,68,97,116,97,0,98,116,67,111,110,118,101,120,73,110,116,101,114,110, +97,108,83,104,97,112,101,68,97,116,97,0,98,116,80,111,115,105,116,105, +111,110,65,110,100,82,97,100,105,117,115,0,98,116,77,117,108,116,105,83, +112,104,101,114,101,83,104,97,112,101,68,97,116,97,0,98,116,73,110,116, +73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114,116,73,110,116, +73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114,116,73,110,116, +73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,98,116,67, +104,97,114,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0, +98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,98,116,83,116,114, +105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,68,97, +116,97,0,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97, 112,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,73,110,102, -111,68,97,116,97,0,98,116,71,73,109,112,97,99,116,77,101,115,104,83, -104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,72,117,108, -108,83,104,97,112,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105, -111,110,79,98,106,101,99,116,68,111,117,98,108,101,68,97,116,97,0,98, -116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97, -116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111, -97,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,111, -117,98,108,101,68,97,116,97,0,98,116,67,111,110,115,116,114,97,105,110, -116,73,110,102,111,49,0,98,116,84,121,112,101,100,67,111,110,115,116,114, -97,105,110,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121, -68,97,116,97,0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111, -110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,98,116, -80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110, -116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105,110,103,101,67, -111,110,115,116,114,97,105,110,116,68,111,117,98,108,101,68,97,116,97,0, -98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111, -97,116,68,97,116,97,0,98,116,67,111,110,101,84,119,105,115,116,67,111, -110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,71,101,110,101,114, -105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97, -0,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103, -67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,83,108,105, -100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,83,111, -102,116,66,111,100,121,77,97,116,101,114,105,97,108,68,97,116,97,0,83, -111,102,116,66,111,100,121,78,111,100,101,68,97,116,97,0,83,111,102,116, -66,111,100,121,76,105,110,107,68,97,116,97,0,83,111,102,116,66,111,100, -121,70,97,99,101,68,97,116,97,0,83,111,102,116,66,111,100,121,84,101, -116,114,97,68,97,116,97,0,83,111,102,116,82,105,103,105,100,65,110,99, -104,111,114,68,97,116,97,0,83,111,102,116,66,111,100,121,67,111,110,102, -105,103,68,97,116,97,0,83,111,102,116,66,111,100,121,80,111,115,101,68, -97,116,97,0,83,111,102,116,66,111,100,121,67,108,117,115,116,101,114,68, -97,116,97,0,98,116,83,111,102,116,66,111,100,121,74,111,105,110,116,68, -97,116,97,0,98,116,83,111,102,116,66,111,100,121,70,108,111,97,116,68, -97,116,97,0,84,76,69,78,1,0,1,0,2,0,2,0,4,0,4,0, -4,0,4,0,8,0,0,0,12,0,36,0,8,0,16,0,32,0,48,0, -96,0,64,0,-128,0,20,0,48,0,80,0,16,0,84,0,-124,0,12,0, -52,0,52,0,20,0,64,0,4,0,4,0,8,0,4,0,32,0,28,0, -60,0,56,0,76,0,76,0,24,0,60,0,60,0,16,0,64,0,68,0, --56,1,-8,0,-32,1,-104,3,8,0,44,0,0,0,76,0,108,0,84,1, --44,0,-52,0,-12,0,84,1,-60,0,16,0,100,0,20,0,36,0,100,0, -92,0,104,0,-64,0,92,1,104,0,-92,1,83,84,82,67,61,0,0,0, -10,0,3,0,4,0,0,0,4,0,1,0,9,0,2,0,11,0,3,0, -10,0,3,0,10,0,4,0,10,0,5,0,12,0,2,0,9,0,6,0, -9,0,7,0,13,0,1,0,7,0,8,0,14,0,1,0,8,0,8,0, -15,0,1,0,13,0,9,0,16,0,1,0,14,0,9,0,17,0,2,0, -15,0,10,0,13,0,11,0,18,0,2,0,16,0,10,0,14,0,11,0, -19,0,4,0,4,0,12,0,4,0,13,0,2,0,14,0,2,0,15,0, -20,0,6,0,13,0,16,0,13,0,17,0,4,0,18,0,4,0,19,0, -4,0,20,0,0,0,21,0,21,0,6,0,14,0,16,0,14,0,17,0, -4,0,18,0,4,0,19,0,4,0,20,0,0,0,21,0,22,0,3,0, -2,0,14,0,2,0,15,0,4,0,22,0,23,0,12,0,13,0,23,0, -13,0,24,0,13,0,25,0,4,0,26,0,4,0,27,0,4,0,28,0, -4,0,29,0,20,0,30,0,22,0,31,0,19,0,32,0,4,0,33,0, -4,0,34,0,24,0,12,0,14,0,23,0,14,0,24,0,14,0,25,0, -4,0,26,0,4,0,27,0,4,0,28,0,4,0,29,0,21,0,30,0, -22,0,31,0,4,0,33,0,4,0,34,0,19,0,32,0,25,0,3,0, -0,0,35,0,4,0,36,0,0,0,37,0,26,0,5,0,25,0,38,0, -13,0,39,0,13,0,40,0,7,0,41,0,0,0,21,0,27,0,5,0, -25,0,38,0,13,0,39,0,13,0,42,0,7,0,43,0,4,0,44,0, -28,0,2,0,13,0,45,0,7,0,46,0,29,0,4,0,27,0,47,0, -28,0,48,0,4,0,49,0,0,0,37,0,30,0,1,0,4,0,50,0, -31,0,2,0,2,0,50,0,0,0,51,0,32,0,2,0,2,0,52,0, -0,0,51,0,33,0,2,0,0,0,52,0,0,0,53,0,34,0,8,0, -13,0,54,0,14,0,55,0,30,0,56,0,32,0,57,0,33,0,58,0, -31,0,59,0,4,0,60,0,4,0,61,0,35,0,4,0,34,0,62,0, -13,0,63,0,4,0,64,0,0,0,37,0,36,0,7,0,25,0,38,0, -35,0,65,0,23,0,66,0,24,0,67,0,37,0,68,0,7,0,43,0, -0,0,69,0,38,0,2,0,36,0,70,0,13,0,39,0,39,0,4,0, -17,0,71,0,25,0,72,0,4,0,73,0,7,0,74,0,40,0,4,0, -25,0,38,0,39,0,75,0,4,0,76,0,7,0,43,0,41,0,3,0, -27,0,47,0,4,0,77,0,0,0,37,0,42,0,3,0,27,0,47,0, -4,0,77,0,0,0,37,0,43,0,4,0,4,0,78,0,7,0,79,0, -7,0,80,0,7,0,81,0,37,0,14,0,4,0,82,0,4,0,83,0, -43,0,84,0,4,0,85,0,7,0,86,0,7,0,87,0,7,0,88,0, -7,0,89,0,7,0,90,0,4,0,91,0,4,0,92,0,4,0,93,0, -4,0,94,0,0,0,37,0,44,0,5,0,25,0,38,0,35,0,65,0, -13,0,39,0,7,0,43,0,4,0,95,0,45,0,5,0,27,0,47,0, -13,0,96,0,14,0,97,0,4,0,98,0,0,0,99,0,46,0,24,0, -9,0,100,0,9,0,101,0,25,0,102,0,0,0,35,0,18,0,103,0, -18,0,104,0,14,0,105,0,14,0,106,0,14,0,107,0,8,0,108,0, -8,0,109,0,8,0,110,0,8,0,111,0,8,0,112,0,8,0,113,0, -8,0,114,0,4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0, -4,0,119,0,4,0,120,0,4,0,121,0,0,0,37,0,47,0,23,0, -9,0,100,0,9,0,101,0,25,0,102,0,0,0,35,0,17,0,103,0, -17,0,104,0,13,0,105,0,13,0,106,0,13,0,107,0,7,0,108,0, -7,0,109,0,7,0,110,0,7,0,111,0,7,0,112,0,7,0,113,0, -7,0,114,0,4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0, -4,0,119,0,4,0,120,0,4,0,121,0,48,0,21,0,47,0,122,0, -15,0,123,0,13,0,124,0,13,0,125,0,13,0,126,0,13,0,127,0, -13,0,-128,0,13,0,-127,0,13,0,-126,0,13,0,-125,0,13,0,-124,0, -7,0,-123,0,7,0,-122,0,7,0,-121,0,7,0,-120,0,7,0,-119,0, -7,0,-118,0,7,0,-117,0,7,0,-116,0,7,0,-115,0,4,0,-114,0, -49,0,22,0,46,0,122,0,16,0,123,0,14,0,124,0,14,0,125,0, -14,0,126,0,14,0,127,0,14,0,-128,0,14,0,-127,0,14,0,-126,0, -14,0,-125,0,14,0,-124,0,8,0,-123,0,8,0,-122,0,8,0,-121,0, -8,0,-120,0,8,0,-119,0,8,0,-118,0,8,0,-117,0,8,0,-116,0, -8,0,-115,0,4,0,-114,0,0,0,37,0,50,0,2,0,4,0,-113,0, -4,0,-112,0,51,0,11,0,52,0,-111,0,52,0,-110,0,0,0,35,0, -4,0,-109,0,4,0,-108,0,4,0,-107,0,4,0,-106,0,7,0,-105,0, -7,0,-104,0,4,0,-103,0,0,0,-102,0,53,0,3,0,51,0,-101,0, -13,0,-100,0,13,0,-99,0,54,0,3,0,51,0,-101,0,14,0,-100,0, -14,0,-99,0,55,0,13,0,51,0,-101,0,18,0,-98,0,18,0,-97,0, -4,0,-96,0,4,0,-95,0,4,0,-94,0,7,0,-93,0,7,0,-92,0, -7,0,-91,0,7,0,-90,0,7,0,-89,0,7,0,-88,0,7,0,-87,0, -56,0,13,0,51,0,-101,0,17,0,-98,0,17,0,-97,0,4,0,-96,0, -4,0,-95,0,4,0,-94,0,7,0,-93,0,7,0,-92,0,7,0,-91,0, -7,0,-90,0,7,0,-89,0,7,0,-88,0,7,0,-87,0,57,0,11,0, -51,0,-101,0,17,0,-98,0,17,0,-97,0,7,0,-86,0,7,0,-85,0, -7,0,-84,0,7,0,-89,0,7,0,-88,0,7,0,-87,0,7,0,-83,0, -0,0,21,0,58,0,9,0,51,0,-101,0,17,0,-98,0,17,0,-97,0, -13,0,-82,0,13,0,-81,0,13,0,-80,0,13,0,-79,0,4,0,-78,0, -4,0,-77,0,59,0,5,0,58,0,-76,0,4,0,-75,0,7,0,-74,0, -7,0,-73,0,7,0,-72,0,60,0,9,0,51,0,-101,0,17,0,-98,0, -17,0,-97,0,7,0,-82,0,7,0,-81,0,7,0,-80,0,7,0,-79,0, -4,0,-78,0,4,0,-77,0,61,0,4,0,7,0,-71,0,7,0,-70,0, -7,0,-69,0,4,0,78,0,62,0,10,0,61,0,-68,0,13,0,-67,0, -13,0,-66,0,13,0,-65,0,13,0,-64,0,13,0,-63,0,7,0,-123,0, -7,0,-62,0,4,0,-61,0,4,0,53,0,63,0,4,0,61,0,-68,0, -4,0,-60,0,7,0,-59,0,4,0,-58,0,64,0,4,0,13,0,-63,0, -61,0,-68,0,4,0,-57,0,7,0,-56,0,65,0,7,0,13,0,-55,0, -61,0,-68,0,4,0,-54,0,7,0,-53,0,7,0,-52,0,7,0,-51,0, -4,0,53,0,66,0,6,0,15,0,-50,0,13,0,-52,0,13,0,-49,0, -52,0,-48,0,4,0,-47,0,7,0,-51,0,67,0,26,0,4,0,-46,0, -7,0,-45,0,7,0,-83,0,7,0,-44,0,7,0,-43,0,7,0,-42,0, -7,0,-41,0,7,0,-40,0,7,0,-39,0,7,0,-38,0,7,0,-37,0, -7,0,-36,0,7,0,-35,0,7,0,-34,0,7,0,-33,0,7,0,-32,0, -7,0,-31,0,7,0,-30,0,7,0,-29,0,7,0,-28,0,7,0,-27,0, -4,0,-26,0,4,0,-25,0,4,0,-24,0,4,0,-23,0,4,0,116,0, -68,0,12,0,15,0,-22,0,15,0,-21,0,15,0,-20,0,13,0,-19,0, -13,0,-18,0,7,0,-17,0,4,0,-16,0,4,0,-15,0,4,0,-14,0, -4,0,-13,0,7,0,-53,0,4,0,53,0,69,0,27,0,17,0,-12,0, -15,0,-11,0,15,0,-10,0,13,0,-19,0,13,0,-9,0,13,0,-8,0, -13,0,-7,0,13,0,-6,0,13,0,-5,0,4,0,-4,0,7,0,-3,0, -4,0,-2,0,4,0,-1,0,4,0,0,1,7,0,1,1,7,0,2,1, -4,0,3,1,4,0,4,1,7,0,5,1,7,0,6,1,7,0,7,1, -7,0,8,1,7,0,9,1,7,0,10,1,4,0,11,1,4,0,12,1, -4,0,13,1,70,0,12,0,9,0,14,1,9,0,15,1,13,0,16,1, -7,0,17,1,7,0,18,1,7,0,19,1,4,0,20,1,13,0,21,1, -4,0,22,1,4,0,23,1,4,0,24,1,4,0,53,0,71,0,19,0, -47,0,122,0,68,0,25,1,61,0,26,1,62,0,27,1,63,0,28,1, -64,0,29,1,65,0,30,1,66,0,31,1,69,0,32,1,70,0,33,1, -4,0,34,1,4,0,-1,0,4,0,35,1,4,0,36,1,4,0,37,1, -4,0,38,1,4,0,39,1,4,0,40,1,67,0,41,1,}; +111,77,97,112,68,97,116,97,0,98,116,83,99,97,108,101,100,84,114,105, +97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,98, +116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68, +97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68, +97,116,97,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68, +97,116,97,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97, +116,97,0,98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116, +97,0,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101, +68,97,116,97,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97, +112,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,98, +106,101,99,116,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,108, +108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116, +97,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97, +116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,111,117,98,108,101, +68,97,116,97,0,98,116,67,111,110,115,116,114,97,105,110,116,73,110,102, +111,49,0,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116, +68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,97,116,97, +0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114, +97,105,110,116,70,108,111,97,116,68,97,116,97,0,98,116,80,111,105,110, +116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,68,111,117, +98,108,101,68,97,116,97,0,98,116,72,105,110,103,101,67,111,110,115,116, +114,97,105,110,116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105, +110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97, +116,97,0,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114, +97,105,110,116,68,97,116,97,0,98,116,71,101,110,101,114,105,99,54,68, +111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,71, +101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103,67,111,110,115, +116,114,97,105,110,116,68,97,116,97,0,98,116,83,108,105,100,101,114,67, +111,110,115,116,114,97,105,110,116,68,97,116,97,0,83,111,102,116,66,111, +100,121,77,97,116,101,114,105,97,108,68,97,116,97,0,83,111,102,116,66, +111,100,121,78,111,100,101,68,97,116,97,0,83,111,102,116,66,111,100,121, +76,105,110,107,68,97,116,97,0,83,111,102,116,66,111,100,121,70,97,99, +101,68,97,116,97,0,83,111,102,116,66,111,100,121,84,101,116,114,97,68, +97,116,97,0,83,111,102,116,82,105,103,105,100,65,110,99,104,111,114,68, +97,116,97,0,83,111,102,116,66,111,100,121,67,111,110,102,105,103,68,97, +116,97,0,83,111,102,116,66,111,100,121,80,111,115,101,68,97,116,97,0, +83,111,102,116,66,111,100,121,67,108,117,115,116,101,114,68,97,116,97,0, +98,116,83,111,102,116,66,111,100,121,74,111,105,110,116,68,97,116,97,0, +98,116,83,111,102,116,66,111,100,121,70,108,111,97,116,68,97,116,97,0, +84,76,69,78,1,0,1,0,2,0,2,0,4,0,4,0,4,0,4,0, +8,0,0,0,12,0,36,0,8,0,16,0,32,0,48,0,96,0,64,0, +-128,0,20,0,48,0,80,0,16,0,84,0,-124,0,12,0,52,0,52,0, +20,0,64,0,4,0,4,0,8,0,4,0,32,0,28,0,60,0,56,0, +76,0,76,0,24,0,60,0,60,0,16,0,64,0,68,0,-56,1,-8,0, +-32,1,-104,3,8,0,52,0,0,0,84,0,116,0,92,1,-36,0,-44,0, +-4,0,92,1,-52,0,16,0,100,0,20,0,36,0,100,0,92,0,104,0, +-64,0,92,1,104,0,-92,1,83,84,82,67,61,0,0,0,10,0,3,0, +4,0,0,0,4,0,1,0,9,0,2,0,11,0,3,0,10,0,3,0, +10,0,4,0,10,0,5,0,12,0,2,0,9,0,6,0,9,0,7,0, +13,0,1,0,7,0,8,0,14,0,1,0,8,0,8,0,15,0,1,0, +13,0,9,0,16,0,1,0,14,0,9,0,17,0,2,0,15,0,10,0, +13,0,11,0,18,0,2,0,16,0,10,0,14,0,11,0,19,0,4,0, +4,0,12,0,4,0,13,0,2,0,14,0,2,0,15,0,20,0,6,0, +13,0,16,0,13,0,17,0,4,0,18,0,4,0,19,0,4,0,20,0, +0,0,21,0,21,0,6,0,14,0,16,0,14,0,17,0,4,0,18,0, +4,0,19,0,4,0,20,0,0,0,21,0,22,0,3,0,2,0,14,0, +2,0,15,0,4,0,22,0,23,0,12,0,13,0,23,0,13,0,24,0, +13,0,25,0,4,0,26,0,4,0,27,0,4,0,28,0,4,0,29,0, +20,0,30,0,22,0,31,0,19,0,32,0,4,0,33,0,4,0,34,0, +24,0,12,0,14,0,23,0,14,0,24,0,14,0,25,0,4,0,26,0, +4,0,27,0,4,0,28,0,4,0,29,0,21,0,30,0,22,0,31,0, +4,0,33,0,4,0,34,0,19,0,32,0,25,0,3,0,0,0,35,0, +4,0,36,0,0,0,37,0,26,0,5,0,25,0,38,0,13,0,39,0, +13,0,40,0,7,0,41,0,0,0,21,0,27,0,5,0,25,0,38,0, +13,0,39,0,13,0,42,0,7,0,43,0,4,0,44,0,28,0,2,0, +13,0,45,0,7,0,46,0,29,0,4,0,27,0,47,0,28,0,48,0, +4,0,49,0,0,0,37,0,30,0,1,0,4,0,50,0,31,0,2,0, +2,0,50,0,0,0,51,0,32,0,2,0,2,0,52,0,0,0,51,0, +33,0,2,0,0,0,52,0,0,0,53,0,34,0,8,0,13,0,54,0, +14,0,55,0,30,0,56,0,32,0,57,0,33,0,58,0,31,0,59,0, +4,0,60,0,4,0,61,0,35,0,4,0,34,0,62,0,13,0,63,0, +4,0,64,0,0,0,37,0,36,0,7,0,25,0,38,0,35,0,65,0, +23,0,66,0,24,0,67,0,37,0,68,0,7,0,43,0,0,0,69,0, +38,0,2,0,36,0,70,0,13,0,39,0,39,0,4,0,17,0,71,0, +25,0,72,0,4,0,73,0,7,0,74,0,40,0,4,0,25,0,38,0, +39,0,75,0,4,0,76,0,7,0,43,0,41,0,3,0,27,0,47,0, +4,0,77,0,0,0,37,0,42,0,3,0,27,0,47,0,4,0,77,0, +0,0,37,0,43,0,4,0,4,0,78,0,7,0,79,0,7,0,80,0, +7,0,81,0,37,0,14,0,4,0,82,0,4,0,83,0,43,0,84,0, +4,0,85,0,7,0,86,0,7,0,87,0,7,0,88,0,7,0,89,0, +7,0,90,0,4,0,91,0,4,0,92,0,4,0,93,0,4,0,94,0, +0,0,37,0,44,0,5,0,25,0,38,0,35,0,65,0,13,0,39,0, +7,0,43,0,4,0,95,0,45,0,5,0,27,0,47,0,13,0,96,0, +14,0,97,0,4,0,98,0,0,0,99,0,46,0,24,0,9,0,100,0, +9,0,101,0,25,0,102,0,0,0,35,0,18,0,103,0,18,0,104,0, +14,0,105,0,14,0,106,0,14,0,107,0,8,0,108,0,8,0,109,0, +8,0,110,0,8,0,111,0,8,0,112,0,8,0,113,0,8,0,114,0, +4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0,4,0,119,0, +4,0,120,0,4,0,121,0,0,0,37,0,47,0,23,0,9,0,100,0, +9,0,101,0,25,0,102,0,0,0,35,0,17,0,103,0,17,0,104,0, +13,0,105,0,13,0,106,0,13,0,107,0,7,0,108,0,7,0,109,0, +7,0,110,0,7,0,111,0,7,0,112,0,7,0,113,0,7,0,114,0, +4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0,4,0,119,0, +4,0,120,0,4,0,121,0,48,0,21,0,47,0,122,0,15,0,123,0, +13,0,124,0,13,0,125,0,13,0,126,0,13,0,127,0,13,0,-128,0, +13,0,-127,0,13,0,-126,0,13,0,-125,0,13,0,-124,0,7,0,-123,0, +7,0,-122,0,7,0,-121,0,7,0,-120,0,7,0,-119,0,7,0,-118,0, +7,0,-117,0,7,0,-116,0,7,0,-115,0,4,0,-114,0,49,0,22,0, +46,0,122,0,16,0,123,0,14,0,124,0,14,0,125,0,14,0,126,0, +14,0,127,0,14,0,-128,0,14,0,-127,0,14,0,-126,0,14,0,-125,0, +14,0,-124,0,8,0,-123,0,8,0,-122,0,8,0,-121,0,8,0,-120,0, +8,0,-119,0,8,0,-118,0,8,0,-117,0,8,0,-116,0,8,0,-115,0, +4,0,-114,0,0,0,37,0,50,0,2,0,4,0,-113,0,4,0,-112,0, +51,0,13,0,52,0,-111,0,52,0,-110,0,0,0,35,0,4,0,-109,0, +4,0,-108,0,4,0,-107,0,4,0,-106,0,7,0,-105,0,7,0,-104,0, +4,0,-103,0,4,0,-102,0,7,0,-101,0,4,0,-100,0,53,0,3,0, +51,0,-99,0,13,0,-98,0,13,0,-97,0,54,0,3,0,51,0,-99,0, +14,0,-98,0,14,0,-97,0,55,0,13,0,51,0,-99,0,18,0,-96,0, +18,0,-95,0,4,0,-94,0,4,0,-93,0,4,0,-92,0,7,0,-91,0, +7,0,-90,0,7,0,-89,0,7,0,-88,0,7,0,-87,0,7,0,-86,0, +7,0,-85,0,56,0,13,0,51,0,-99,0,17,0,-96,0,17,0,-95,0, +4,0,-94,0,4,0,-93,0,4,0,-92,0,7,0,-91,0,7,0,-90,0, +7,0,-89,0,7,0,-88,0,7,0,-87,0,7,0,-86,0,7,0,-85,0, +57,0,11,0,51,0,-99,0,17,0,-96,0,17,0,-95,0,7,0,-84,0, +7,0,-83,0,7,0,-82,0,7,0,-87,0,7,0,-86,0,7,0,-85,0, +7,0,-81,0,0,0,21,0,58,0,9,0,51,0,-99,0,17,0,-96,0, +17,0,-95,0,13,0,-80,0,13,0,-79,0,13,0,-78,0,13,0,-77,0, +4,0,-76,0,4,0,-75,0,59,0,5,0,58,0,-74,0,4,0,-73,0, +7,0,-72,0,7,0,-71,0,7,0,-70,0,60,0,9,0,51,0,-99,0, +17,0,-96,0,17,0,-95,0,7,0,-80,0,7,0,-79,0,7,0,-78,0, +7,0,-77,0,4,0,-76,0,4,0,-75,0,61,0,4,0,7,0,-69,0, +7,0,-68,0,7,0,-67,0,4,0,78,0,62,0,10,0,61,0,-66,0, +13,0,-65,0,13,0,-64,0,13,0,-63,0,13,0,-62,0,13,0,-61,0, +7,0,-123,0,7,0,-60,0,4,0,-59,0,4,0,53,0,63,0,4,0, +61,0,-66,0,4,0,-58,0,7,0,-57,0,4,0,-56,0,64,0,4,0, +13,0,-61,0,61,0,-66,0,4,0,-55,0,7,0,-54,0,65,0,7,0, +13,0,-53,0,61,0,-66,0,4,0,-52,0,7,0,-51,0,7,0,-50,0, +7,0,-49,0,4,0,53,0,66,0,6,0,15,0,-48,0,13,0,-50,0, +13,0,-47,0,52,0,-46,0,4,0,-45,0,7,0,-49,0,67,0,26,0, +4,0,-44,0,7,0,-43,0,7,0,-81,0,7,0,-42,0,7,0,-41,0, +7,0,-40,0,7,0,-39,0,7,0,-38,0,7,0,-37,0,7,0,-36,0, +7,0,-35,0,7,0,-34,0,7,0,-33,0,7,0,-32,0,7,0,-31,0, +7,0,-30,0,7,0,-29,0,7,0,-28,0,7,0,-27,0,7,0,-26,0, +7,0,-25,0,4,0,-24,0,4,0,-23,0,4,0,-22,0,4,0,-21,0, +4,0,116,0,68,0,12,0,15,0,-20,0,15,0,-19,0,15,0,-18,0, +13,0,-17,0,13,0,-16,0,7,0,-15,0,4,0,-14,0,4,0,-13,0, +4,0,-12,0,4,0,-11,0,7,0,-51,0,4,0,53,0,69,0,27,0, +17,0,-10,0,15,0,-9,0,15,0,-8,0,13,0,-17,0,13,0,-7,0, +13,0,-6,0,13,0,-5,0,13,0,-4,0,13,0,-3,0,4,0,-2,0, +7,0,-1,0,4,0,0,1,4,0,1,1,4,0,2,1,7,0,3,1, +7,0,4,1,4,0,5,1,4,0,6,1,7,0,7,1,7,0,8,1, +7,0,9,1,7,0,10,1,7,0,11,1,7,0,12,1,4,0,13,1, +4,0,14,1,4,0,15,1,70,0,12,0,9,0,16,1,9,0,17,1, +13,0,18,1,7,0,19,1,7,0,20,1,7,0,21,1,4,0,22,1, +13,0,23,1,4,0,24,1,4,0,25,1,4,0,26,1,4,0,53,0, +71,0,19,0,47,0,122,0,68,0,27,1,61,0,28,1,62,0,29,1, +63,0,30,1,64,0,31,1,65,0,32,1,66,0,33,1,69,0,34,1, +70,0,35,1,4,0,36,1,4,0,1,1,4,0,37,1,4,0,38,1, +4,0,39,1,4,0,40,1,4,0,41,1,4,0,42,1,67,0,43,1, +}; int sBulletDNAlen= sizeof(sBulletDNAstr); + unsigned char sBulletDNAstr64[]= { -83,68,78,65,78,65,77,69,42,1,0,0,109,95,115,105,122,101,0,109, +83,68,78,65,78,65,77,69,44,1,0,0,109,95,115,105,122,101,0,109, 95,99,97,112,97,99,105,116,121,0,42,109,95,100,97,116,97,0,109,95, 99,111,108,108,105,115,105,111,110,83,104,97,112,101,115,0,109,95,99,111, 108,108,105,115,105,111,110,79,98,106,101,99,116,115,0,109,95,99,111,110, @@ -546,287 +551,291 @@ unsigned char sBulletDNAstr64[]= { 112,108,105,101,100,73,109,112,117,108,115,101,0,109,95,100,98,103,68,114, 97,119,83,105,122,101,0,109,95,100,105,115,97,98,108,101,67,111,108,108, 105,115,105,111,110,115,66,101,116,119,101,101,110,76,105,110,107,101,100,66, -111,100,105,101,115,0,109,95,112,97,100,52,91,52,93,0,109,95,116,121, -112,101,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,109,95,112, -105,118,111,116,73,110,65,0,109,95,112,105,118,111,116,73,110,66,0,109, -95,114,98,65,70,114,97,109,101,0,109,95,114,98,66,70,114,97,109,101, -0,109,95,117,115,101,82,101,102,101,114,101,110,99,101,70,114,97,109,101, -65,0,109,95,97,110,103,117,108,97,114,79,110,108,121,0,109,95,101,110, -97,98,108,101,65,110,103,117,108,97,114,77,111,116,111,114,0,109,95,109, -111,116,111,114,84,97,114,103,101,116,86,101,108,111,99,105,116,121,0,109, -95,109,97,120,77,111,116,111,114,73,109,112,117,108,115,101,0,109,95,108, -111,119,101,114,76,105,109,105,116,0,109,95,117,112,112,101,114,76,105,109, -105,116,0,109,95,108,105,109,105,116,83,111,102,116,110,101,115,115,0,109, -95,98,105,97,115,70,97,99,116,111,114,0,109,95,114,101,108,97,120,97, -116,105,111,110,70,97,99,116,111,114,0,109,95,115,119,105,110,103,83,112, -97,110,49,0,109,95,115,119,105,110,103,83,112,97,110,50,0,109,95,116, -119,105,115,116,83,112,97,110,0,109,95,100,97,109,112,105,110,103,0,109, -95,108,105,110,101,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95, -108,105,110,101,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,97, -110,103,117,108,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95,97, -110,103,117,108,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,117, -115,101,76,105,110,101,97,114,82,101,102,101,114,101,110,99,101,70,114,97, -109,101,65,0,109,95,117,115,101,79,102,102,115,101,116,70,111,114,67,111, -110,115,116,114,97,105,110,116,70,114,97,109,101,0,109,95,54,100,111,102, -68,97,116,97,0,109,95,115,112,114,105,110,103,69,110,97,98,108,101,100, -91,54,93,0,109,95,101,113,117,105,108,105,98,114,105,117,109,80,111,105, -110,116,91,54,93,0,109,95,115,112,114,105,110,103,83,116,105,102,102,110, -101,115,115,91,54,93,0,109,95,115,112,114,105,110,103,68,97,109,112,105, -110,103,91,54,93,0,109,95,108,105,110,101,97,114,83,116,105,102,102,110, -101,115,115,0,109,95,97,110,103,117,108,97,114,83,116,105,102,102,110,101, -115,115,0,109,95,118,111,108,117,109,101,83,116,105,102,102,110,101,115,115, -0,42,109,95,109,97,116,101,114,105,97,108,0,109,95,112,111,115,105,116, -105,111,110,0,109,95,112,114,101,118,105,111,117,115,80,111,115,105,116,105, -111,110,0,109,95,118,101,108,111,99,105,116,121,0,109,95,97,99,99,117, -109,117,108,97,116,101,100,70,111,114,99,101,0,109,95,110,111,114,109,97, -108,0,109,95,97,114,101,97,0,109,95,97,116,116,97,99,104,0,109,95, -110,111,100,101,73,110,100,105,99,101,115,91,50,93,0,109,95,114,101,115, -116,76,101,110,103,116,104,0,109,95,98,98,101,110,100,105,110,103,0,109, -95,110,111,100,101,73,110,100,105,99,101,115,91,51,93,0,109,95,114,101, -115,116,65,114,101,97,0,109,95,99,48,91,52,93,0,109,95,110,111,100, -101,73,110,100,105,99,101,115,91,52,93,0,109,95,114,101,115,116,86,111, -108,117,109,101,0,109,95,99,49,0,109,95,99,50,0,109,95,99,48,0, -109,95,108,111,99,97,108,70,114,97,109,101,0,42,109,95,114,105,103,105, -100,66,111,100,121,0,109,95,110,111,100,101,73,110,100,101,120,0,109,95, -97,101,114,111,77,111,100,101,108,0,109,95,98,97,117,109,103,97,114,116, -101,0,109,95,100,114,97,103,0,109,95,108,105,102,116,0,109,95,112,114, -101,115,115,117,114,101,0,109,95,118,111,108,117,109,101,0,109,95,100,121, -110,97,109,105,99,70,114,105,99,116,105,111,110,0,109,95,112,111,115,101, -77,97,116,99,104,0,109,95,114,105,103,105,100,67,111,110,116,97,99,116, -72,97,114,100,110,101,115,115,0,109,95,107,105,110,101,116,105,99,67,111, -110,116,97,99,116,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116, -67,111,110,116,97,99,116,72,97,114,100,110,101,115,115,0,109,95,97,110, -99,104,111,114,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116,82, -105,103,105,100,67,108,117,115,116,101,114,72,97,114,100,110,101,115,115,0, -109,95,115,111,102,116,75,105,110,101,116,105,99,67,108,117,115,116,101,114, -72,97,114,100,110,101,115,115,0,109,95,115,111,102,116,83,111,102,116,67, -108,117,115,116,101,114,72,97,114,100,110,101,115,115,0,109,95,115,111,102, -116,82,105,103,105,100,67,108,117,115,116,101,114,73,109,112,117,108,115,101, -83,112,108,105,116,0,109,95,115,111,102,116,75,105,110,101,116,105,99,67, -108,117,115,116,101,114,73,109,112,117,108,115,101,83,112,108,105,116,0,109, -95,115,111,102,116,83,111,102,116,67,108,117,115,116,101,114,73,109,112,117, -108,115,101,83,112,108,105,116,0,109,95,109,97,120,86,111,108,117,109,101, -0,109,95,116,105,109,101,83,99,97,108,101,0,109,95,118,101,108,111,99, -105,116,121,73,116,101,114,97,116,105,111,110,115,0,109,95,112,111,115,105, -116,105,111,110,73,116,101,114,97,116,105,111,110,115,0,109,95,100,114,105, -102,116,73,116,101,114,97,116,105,111,110,115,0,109,95,99,108,117,115,116, -101,114,73,116,101,114,97,116,105,111,110,115,0,109,95,114,111,116,0,109, -95,115,99,97,108,101,0,109,95,97,113,113,0,109,95,99,111,109,0,42, -109,95,112,111,115,105,116,105,111,110,115,0,42,109,95,119,101,105,103,104, -116,115,0,109,95,110,117,109,80,111,115,105,116,105,111,110,115,0,109,95, -110,117,109,87,101,105,103,116,115,0,109,95,98,118,111,108,117,109,101,0, -109,95,98,102,114,97,109,101,0,109,95,102,114,97,109,101,120,102,111,114, -109,0,109,95,108,111,99,105,105,0,109,95,105,110,118,119,105,0,109,95, -118,105,109,112,117,108,115,101,115,91,50,93,0,109,95,100,105,109,112,117, -108,115,101,115,91,50,93,0,109,95,108,118,0,109,95,97,118,0,42,109, -95,102,114,97,109,101,114,101,102,115,0,42,109,95,110,111,100,101,73,110, -100,105,99,101,115,0,42,109,95,109,97,115,115,101,115,0,109,95,110,117, -109,70,114,97,109,101,82,101,102,115,0,109,95,110,117,109,78,111,100,101, -115,0,109,95,110,117,109,77,97,115,115,101,115,0,109,95,105,100,109,97, -115,115,0,109,95,105,109,97,115,115,0,109,95,110,118,105,109,112,117,108, -115,101,115,0,109,95,110,100,105,109,112,117,108,115,101,115,0,109,95,110, -100,97,109,112,105,110,103,0,109,95,108,100,97,109,112,105,110,103,0,109, -95,97,100,97,109,112,105,110,103,0,109,95,109,97,116,99,104,105,110,103, -0,109,95,109,97,120,83,101,108,102,67,111,108,108,105,115,105,111,110,73, -109,112,117,108,115,101,0,109,95,115,101,108,102,67,111,108,108,105,115,105, -111,110,73,109,112,117,108,115,101,70,97,99,116,111,114,0,109,95,99,111, -110,116,97,105,110,115,65,110,99,104,111,114,0,109,95,99,111,108,108,105, -100,101,0,109,95,99,108,117,115,116,101,114,73,110,100,101,120,0,42,109, -95,98,111,100,121,65,0,42,109,95,98,111,100,121,66,0,109,95,114,101, -102,115,91,50,93,0,109,95,99,102,109,0,109,95,101,114,112,0,109,95, -115,112,108,105,116,0,109,95,100,101,108,101,116,101,0,109,95,114,101,108, -80,111,115,105,116,105,111,110,91,50,93,0,109,95,98,111,100,121,65,116, -121,112,101,0,109,95,98,111,100,121,66,116,121,112,101,0,109,95,106,111, -105,110,116,84,121,112,101,0,42,109,95,112,111,115,101,0,42,42,109,95, -109,97,116,101,114,105,97,108,115,0,42,109,95,110,111,100,101,115,0,42, -109,95,108,105,110,107,115,0,42,109,95,102,97,99,101,115,0,42,109,95, -116,101,116,114,97,104,101,100,114,97,0,42,109,95,97,110,99,104,111,114, -115,0,42,109,95,99,108,117,115,116,101,114,115,0,42,109,95,106,111,105, -110,116,115,0,109,95,110,117,109,77,97,116,101,114,105,97,108,115,0,109, -95,110,117,109,76,105,110,107,115,0,109,95,110,117,109,70,97,99,101,115, -0,109,95,110,117,109,84,101,116,114,97,104,101,100,114,97,0,109,95,110, -117,109,65,110,99,104,111,114,115,0,109,95,110,117,109,67,108,117,115,116, -101,114,115,0,109,95,110,117,109,74,111,105,110,116,115,0,109,95,99,111, -110,102,105,103,0,0,0,0,84,89,80,69,72,0,0,0,99,104,97,114, -0,117,99,104,97,114,0,115,104,111,114,116,0,117,115,104,111,114,116,0, -105,110,116,0,108,111,110,103,0,117,108,111,110,103,0,102,108,111,97,116, -0,100,111,117,98,108,101,0,118,111,105,100,0,80,111,105,110,116,101,114, -65,114,114,97,121,0,98,116,80,104,121,115,105,99,115,83,121,115,116,101, -109,0,76,105,115,116,66,97,115,101,0,98,116,86,101,99,116,111,114,51, -70,108,111,97,116,68,97,116,97,0,98,116,86,101,99,116,111,114,51,68, -111,117,98,108,101,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120, -51,70,108,111,97,116,68,97,116,97,0,98,116,77,97,116,114,105,120,51, -120,51,68,111,117,98,108,101,68,97,116,97,0,98,116,84,114,97,110,115, -102,111,114,109,70,108,111,97,116,68,97,116,97,0,98,116,84,114,97,110, -115,102,111,114,109,68,111,117,98,108,101,68,97,116,97,0,98,116,66,118, -104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0,98,116,79, -112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,70,108,111,97,116, -68,97,116,97,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78, -111,100,101,68,111,117,98,108,101,68,97,116,97,0,98,116,81,117,97,110, -116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,98,116,81, -117,97,110,116,105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97, -0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,68,111,117,98,108, -101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97, -112,101,68,97,116,97,0,98,116,83,116,97,116,105,99,80,108,97,110,101, -83,104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,73,110, -116,101,114,110,97,108,83,104,97,112,101,68,97,116,97,0,98,116,80,111, -115,105,116,105,111,110,65,110,100,82,97,100,105,117,115,0,98,116,77,117, -108,116,105,83,112,104,101,114,101,83,104,97,112,101,68,97,116,97,0,98, -116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114, -116,73,110,116,73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114, -116,73,110,116,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97, -0,98,116,67,104,97,114,73,110,100,101,120,84,114,105,112,108,101,116,68, -97,116,97,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,98, -116,83,116,114,105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97, -99,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,77,101,115, -104,83,104,97,112,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108, -101,73,110,102,111,77,97,112,68,97,116,97,0,98,116,83,99,97,108,101, -100,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97, -116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104, -105,108,100,68,97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104, -97,112,101,68,97,116,97,0,98,116,67,121,108,105,110,100,101,114,83,104, -97,112,101,68,97,116,97,0,98,116,67,97,112,115,117,108,101,83,104,97, +111,100,105,101,115,0,109,95,111,118,101,114,114,105,100,101,78,117,109,83, +111,108,118,101,114,73,116,101,114,97,116,105,111,110,115,0,109,95,98,114, +101,97,107,105,110,103,73,109,112,117,108,115,101,84,104,114,101,115,104,111, +108,100,0,109,95,105,115,69,110,97,98,108,101,100,0,109,95,116,121,112, +101,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,109,95,112,105, +118,111,116,73,110,65,0,109,95,112,105,118,111,116,73,110,66,0,109,95, +114,98,65,70,114,97,109,101,0,109,95,114,98,66,70,114,97,109,101,0, +109,95,117,115,101,82,101,102,101,114,101,110,99,101,70,114,97,109,101,65, +0,109,95,97,110,103,117,108,97,114,79,110,108,121,0,109,95,101,110,97, +98,108,101,65,110,103,117,108,97,114,77,111,116,111,114,0,109,95,109,111, +116,111,114,84,97,114,103,101,116,86,101,108,111,99,105,116,121,0,109,95, +109,97,120,77,111,116,111,114,73,109,112,117,108,115,101,0,109,95,108,111, +119,101,114,76,105,109,105,116,0,109,95,117,112,112,101,114,76,105,109,105, +116,0,109,95,108,105,109,105,116,83,111,102,116,110,101,115,115,0,109,95, +98,105,97,115,70,97,99,116,111,114,0,109,95,114,101,108,97,120,97,116, +105,111,110,70,97,99,116,111,114,0,109,95,115,119,105,110,103,83,112,97, +110,49,0,109,95,115,119,105,110,103,83,112,97,110,50,0,109,95,116,119, +105,115,116,83,112,97,110,0,109,95,100,97,109,112,105,110,103,0,109,95, +108,105,110,101,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95,108, +105,110,101,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,97,110, +103,117,108,97,114,85,112,112,101,114,76,105,109,105,116,0,109,95,97,110, +103,117,108,97,114,76,111,119,101,114,76,105,109,105,116,0,109,95,117,115, +101,76,105,110,101,97,114,82,101,102,101,114,101,110,99,101,70,114,97,109, +101,65,0,109,95,117,115,101,79,102,102,115,101,116,70,111,114,67,111,110, +115,116,114,97,105,110,116,70,114,97,109,101,0,109,95,54,100,111,102,68, +97,116,97,0,109,95,115,112,114,105,110,103,69,110,97,98,108,101,100,91, +54,93,0,109,95,101,113,117,105,108,105,98,114,105,117,109,80,111,105,110, +116,91,54,93,0,109,95,115,112,114,105,110,103,83,116,105,102,102,110,101, +115,115,91,54,93,0,109,95,115,112,114,105,110,103,68,97,109,112,105,110, +103,91,54,93,0,109,95,108,105,110,101,97,114,83,116,105,102,102,110,101, +115,115,0,109,95,97,110,103,117,108,97,114,83,116,105,102,102,110,101,115, +115,0,109,95,118,111,108,117,109,101,83,116,105,102,102,110,101,115,115,0, +42,109,95,109,97,116,101,114,105,97,108,0,109,95,112,111,115,105,116,105, +111,110,0,109,95,112,114,101,118,105,111,117,115,80,111,115,105,116,105,111, +110,0,109,95,118,101,108,111,99,105,116,121,0,109,95,97,99,99,117,109, +117,108,97,116,101,100,70,111,114,99,101,0,109,95,110,111,114,109,97,108, +0,109,95,97,114,101,97,0,109,95,97,116,116,97,99,104,0,109,95,110, +111,100,101,73,110,100,105,99,101,115,91,50,93,0,109,95,114,101,115,116, +76,101,110,103,116,104,0,109,95,98,98,101,110,100,105,110,103,0,109,95, +110,111,100,101,73,110,100,105,99,101,115,91,51,93,0,109,95,114,101,115, +116,65,114,101,97,0,109,95,99,48,91,52,93,0,109,95,110,111,100,101, +73,110,100,105,99,101,115,91,52,93,0,109,95,114,101,115,116,86,111,108, +117,109,101,0,109,95,99,49,0,109,95,99,50,0,109,95,99,48,0,109, +95,108,111,99,97,108,70,114,97,109,101,0,42,109,95,114,105,103,105,100, +66,111,100,121,0,109,95,110,111,100,101,73,110,100,101,120,0,109,95,97, +101,114,111,77,111,100,101,108,0,109,95,98,97,117,109,103,97,114,116,101, +0,109,95,100,114,97,103,0,109,95,108,105,102,116,0,109,95,112,114,101, +115,115,117,114,101,0,109,95,118,111,108,117,109,101,0,109,95,100,121,110, +97,109,105,99,70,114,105,99,116,105,111,110,0,109,95,112,111,115,101,77, +97,116,99,104,0,109,95,114,105,103,105,100,67,111,110,116,97,99,116,72, +97,114,100,110,101,115,115,0,109,95,107,105,110,101,116,105,99,67,111,110, +116,97,99,116,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116,67, +111,110,116,97,99,116,72,97,114,100,110,101,115,115,0,109,95,97,110,99, +104,111,114,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116,82,105, +103,105,100,67,108,117,115,116,101,114,72,97,114,100,110,101,115,115,0,109, +95,115,111,102,116,75,105,110,101,116,105,99,67,108,117,115,116,101,114,72, +97,114,100,110,101,115,115,0,109,95,115,111,102,116,83,111,102,116,67,108, +117,115,116,101,114,72,97,114,100,110,101,115,115,0,109,95,115,111,102,116, +82,105,103,105,100,67,108,117,115,116,101,114,73,109,112,117,108,115,101,83, +112,108,105,116,0,109,95,115,111,102,116,75,105,110,101,116,105,99,67,108, +117,115,116,101,114,73,109,112,117,108,115,101,83,112,108,105,116,0,109,95, +115,111,102,116,83,111,102,116,67,108,117,115,116,101,114,73,109,112,117,108, +115,101,83,112,108,105,116,0,109,95,109,97,120,86,111,108,117,109,101,0, +109,95,116,105,109,101,83,99,97,108,101,0,109,95,118,101,108,111,99,105, +116,121,73,116,101,114,97,116,105,111,110,115,0,109,95,112,111,115,105,116, +105,111,110,73,116,101,114,97,116,105,111,110,115,0,109,95,100,114,105,102, +116,73,116,101,114,97,116,105,111,110,115,0,109,95,99,108,117,115,116,101, +114,73,116,101,114,97,116,105,111,110,115,0,109,95,114,111,116,0,109,95, +115,99,97,108,101,0,109,95,97,113,113,0,109,95,99,111,109,0,42,109, +95,112,111,115,105,116,105,111,110,115,0,42,109,95,119,101,105,103,104,116, +115,0,109,95,110,117,109,80,111,115,105,116,105,111,110,115,0,109,95,110, +117,109,87,101,105,103,116,115,0,109,95,98,118,111,108,117,109,101,0,109, +95,98,102,114,97,109,101,0,109,95,102,114,97,109,101,120,102,111,114,109, +0,109,95,108,111,99,105,105,0,109,95,105,110,118,119,105,0,109,95,118, +105,109,112,117,108,115,101,115,91,50,93,0,109,95,100,105,109,112,117,108, +115,101,115,91,50,93,0,109,95,108,118,0,109,95,97,118,0,42,109,95, +102,114,97,109,101,114,101,102,115,0,42,109,95,110,111,100,101,73,110,100, +105,99,101,115,0,42,109,95,109,97,115,115,101,115,0,109,95,110,117,109, +70,114,97,109,101,82,101,102,115,0,109,95,110,117,109,78,111,100,101,115, +0,109,95,110,117,109,77,97,115,115,101,115,0,109,95,105,100,109,97,115, +115,0,109,95,105,109,97,115,115,0,109,95,110,118,105,109,112,117,108,115, +101,115,0,109,95,110,100,105,109,112,117,108,115,101,115,0,109,95,110,100, +97,109,112,105,110,103,0,109,95,108,100,97,109,112,105,110,103,0,109,95, +97,100,97,109,112,105,110,103,0,109,95,109,97,116,99,104,105,110,103,0, +109,95,109,97,120,83,101,108,102,67,111,108,108,105,115,105,111,110,73,109, +112,117,108,115,101,0,109,95,115,101,108,102,67,111,108,108,105,115,105,111, +110,73,109,112,117,108,115,101,70,97,99,116,111,114,0,109,95,99,111,110, +116,97,105,110,115,65,110,99,104,111,114,0,109,95,99,111,108,108,105,100, +101,0,109,95,99,108,117,115,116,101,114,73,110,100,101,120,0,42,109,95, +98,111,100,121,65,0,42,109,95,98,111,100,121,66,0,109,95,114,101,102, +115,91,50,93,0,109,95,99,102,109,0,109,95,101,114,112,0,109,95,115, +112,108,105,116,0,109,95,100,101,108,101,116,101,0,109,95,114,101,108,80, +111,115,105,116,105,111,110,91,50,93,0,109,95,98,111,100,121,65,116,121, +112,101,0,109,95,98,111,100,121,66,116,121,112,101,0,109,95,106,111,105, +110,116,84,121,112,101,0,42,109,95,112,111,115,101,0,42,42,109,95,109, +97,116,101,114,105,97,108,115,0,42,109,95,110,111,100,101,115,0,42,109, +95,108,105,110,107,115,0,42,109,95,102,97,99,101,115,0,42,109,95,116, +101,116,114,97,104,101,100,114,97,0,42,109,95,97,110,99,104,111,114,115, +0,42,109,95,99,108,117,115,116,101,114,115,0,42,109,95,106,111,105,110, +116,115,0,109,95,110,117,109,77,97,116,101,114,105,97,108,115,0,109,95, +110,117,109,76,105,110,107,115,0,109,95,110,117,109,70,97,99,101,115,0, +109,95,110,117,109,84,101,116,114,97,104,101,100,114,97,0,109,95,110,117, +109,65,110,99,104,111,114,115,0,109,95,110,117,109,67,108,117,115,116,101, +114,115,0,109,95,110,117,109,74,111,105,110,116,115,0,109,95,99,111,110, +102,105,103,0,84,89,80,69,72,0,0,0,99,104,97,114,0,117,99,104, +97,114,0,115,104,111,114,116,0,117,115,104,111,114,116,0,105,110,116,0, +108,111,110,103,0,117,108,111,110,103,0,102,108,111,97,116,0,100,111,117, +98,108,101,0,118,111,105,100,0,80,111,105,110,116,101,114,65,114,114,97, +121,0,98,116,80,104,121,115,105,99,115,83,121,115,116,101,109,0,76,105, +115,116,66,97,115,101,0,98,116,86,101,99,116,111,114,51,70,108,111,97, +116,68,97,116,97,0,98,116,86,101,99,116,111,114,51,68,111,117,98,108, +101,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120,51,70,108,111, +97,116,68,97,116,97,0,98,116,77,97,116,114,105,120,51,120,51,68,111, +117,98,108,101,68,97,116,97,0,98,116,84,114,97,110,115,102,111,114,109, +70,108,111,97,116,68,97,116,97,0,98,116,84,114,97,110,115,102,111,114, +109,68,111,117,98,108,101,68,97,116,97,0,98,116,66,118,104,83,117,98, +116,114,101,101,73,110,102,111,68,97,116,97,0,98,116,79,112,116,105,109, +105,122,101,100,66,118,104,78,111,100,101,70,108,111,97,116,68,97,116,97, +0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,68, +111,117,98,108,101,68,97,116,97,0,98,116,81,117,97,110,116,105,122,101, +100,66,118,104,78,111,100,101,68,97,116,97,0,98,116,81,117,97,110,116, +105,122,101,100,66,118,104,70,108,111,97,116,68,97,116,97,0,98,116,81, +117,97,110,116,105,122,101,100,66,118,104,68,111,117,98,108,101,68,97,116, +97,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97, +116,97,0,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112, +101,68,97,116,97,0,98,116,67,111,110,118,101,120,73,110,116,101,114,110, +97,108,83,104,97,112,101,68,97,116,97,0,98,116,80,111,115,105,116,105, +111,110,65,110,100,82,97,100,105,117,115,0,98,116,77,117,108,116,105,83, +112,104,101,114,101,83,104,97,112,101,68,97,116,97,0,98,116,73,110,116, +73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114,116,73,110,116, +73,110,100,101,120,68,97,116,97,0,98,116,83,104,111,114,116,73,110,116, +73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,98,116,67, +104,97,114,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0, +98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,98,116,83,116,114, +105,100,105,110,103,77,101,115,104,73,110,116,101,114,102,97,99,101,68,97, +116,97,0,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97, 112,101,68,97,116,97,0,98,116,84,114,105,97,110,103,108,101,73,110,102, -111,68,97,116,97,0,98,116,71,73,109,112,97,99,116,77,101,115,104,83, -104,97,112,101,68,97,116,97,0,98,116,67,111,110,118,101,120,72,117,108, -108,83,104,97,112,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105, -111,110,79,98,106,101,99,116,68,111,117,98,108,101,68,97,116,97,0,98, -116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97, -116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111, -97,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,111, -117,98,108,101,68,97,116,97,0,98,116,67,111,110,115,116,114,97,105,110, -116,73,110,102,111,49,0,98,116,84,121,112,101,100,67,111,110,115,116,114, -97,105,110,116,68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121, -68,97,116,97,0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111, -110,115,116,114,97,105,110,116,70,108,111,97,116,68,97,116,97,0,98,116, -80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110, -116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105,110,103,101,67, -111,110,115,116,114,97,105,110,116,68,111,117,98,108,101,68,97,116,97,0, -98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111, -97,116,68,97,116,97,0,98,116,67,111,110,101,84,119,105,115,116,67,111, -110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,71,101,110,101,114, -105,99,54,68,111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97, -0,98,116,71,101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103, -67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,83,108,105, -100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,83,111, -102,116,66,111,100,121,77,97,116,101,114,105,97,108,68,97,116,97,0,83, -111,102,116,66,111,100,121,78,111,100,101,68,97,116,97,0,83,111,102,116, -66,111,100,121,76,105,110,107,68,97,116,97,0,83,111,102,116,66,111,100, -121,70,97,99,101,68,97,116,97,0,83,111,102,116,66,111,100,121,84,101, -116,114,97,68,97,116,97,0,83,111,102,116,82,105,103,105,100,65,110,99, -104,111,114,68,97,116,97,0,83,111,102,116,66,111,100,121,67,111,110,102, -105,103,68,97,116,97,0,83,111,102,116,66,111,100,121,80,111,115,101,68, -97,116,97,0,83,111,102,116,66,111,100,121,67,108,117,115,116,101,114,68, -97,116,97,0,98,116,83,111,102,116,66,111,100,121,74,111,105,110,116,68, -97,116,97,0,98,116,83,111,102,116,66,111,100,121,70,108,111,97,116,68, -97,116,97,0,84,76,69,78,1,0,1,0,2,0,2,0,4,0,4,0, -4,0,4,0,8,0,0,0,16,0,48,0,16,0,16,0,32,0,48,0, -96,0,64,0,-128,0,20,0,48,0,80,0,16,0,96,0,-112,0,16,0, -56,0,56,0,20,0,72,0,4,0,4,0,8,0,4,0,56,0,32,0, -80,0,72,0,96,0,80,0,32,0,64,0,64,0,16,0,72,0,80,0, --40,1,8,1,-16,1,-88,3,8,0,56,0,0,0,88,0,120,0,96,1, --32,0,-40,0,0,1,96,1,-48,0,16,0,104,0,24,0,40,0,104,0, -96,0,104,0,-56,0,104,1,112,0,-40,1,83,84,82,67,61,0,0,0, -10,0,3,0,4,0,0,0,4,0,1,0,9,0,2,0,11,0,3,0, -10,0,3,0,10,0,4,0,10,0,5,0,12,0,2,0,9,0,6,0, -9,0,7,0,13,0,1,0,7,0,8,0,14,0,1,0,8,0,8,0, -15,0,1,0,13,0,9,0,16,0,1,0,14,0,9,0,17,0,2,0, -15,0,10,0,13,0,11,0,18,0,2,0,16,0,10,0,14,0,11,0, -19,0,4,0,4,0,12,0,4,0,13,0,2,0,14,0,2,0,15,0, -20,0,6,0,13,0,16,0,13,0,17,0,4,0,18,0,4,0,19,0, -4,0,20,0,0,0,21,0,21,0,6,0,14,0,16,0,14,0,17,0, -4,0,18,0,4,0,19,0,4,0,20,0,0,0,21,0,22,0,3,0, -2,0,14,0,2,0,15,0,4,0,22,0,23,0,12,0,13,0,23,0, -13,0,24,0,13,0,25,0,4,0,26,0,4,0,27,0,4,0,28,0, -4,0,29,0,20,0,30,0,22,0,31,0,19,0,32,0,4,0,33,0, -4,0,34,0,24,0,12,0,14,0,23,0,14,0,24,0,14,0,25,0, -4,0,26,0,4,0,27,0,4,0,28,0,4,0,29,0,21,0,30,0, -22,0,31,0,4,0,33,0,4,0,34,0,19,0,32,0,25,0,3,0, -0,0,35,0,4,0,36,0,0,0,37,0,26,0,5,0,25,0,38,0, -13,0,39,0,13,0,40,0,7,0,41,0,0,0,21,0,27,0,5,0, -25,0,38,0,13,0,39,0,13,0,42,0,7,0,43,0,4,0,44,0, -28,0,2,0,13,0,45,0,7,0,46,0,29,0,4,0,27,0,47,0, -28,0,48,0,4,0,49,0,0,0,37,0,30,0,1,0,4,0,50,0, -31,0,2,0,2,0,50,0,0,0,51,0,32,0,2,0,2,0,52,0, -0,0,51,0,33,0,2,0,0,0,52,0,0,0,53,0,34,0,8,0, -13,0,54,0,14,0,55,0,30,0,56,0,32,0,57,0,33,0,58,0, -31,0,59,0,4,0,60,0,4,0,61,0,35,0,4,0,34,0,62,0, -13,0,63,0,4,0,64,0,0,0,37,0,36,0,7,0,25,0,38,0, -35,0,65,0,23,0,66,0,24,0,67,0,37,0,68,0,7,0,43,0, -0,0,69,0,38,0,2,0,36,0,70,0,13,0,39,0,39,0,4,0, -17,0,71,0,25,0,72,0,4,0,73,0,7,0,74,0,40,0,4,0, -25,0,38,0,39,0,75,0,4,0,76,0,7,0,43,0,41,0,3,0, -27,0,47,0,4,0,77,0,0,0,37,0,42,0,3,0,27,0,47,0, -4,0,77,0,0,0,37,0,43,0,4,0,4,0,78,0,7,0,79,0, -7,0,80,0,7,0,81,0,37,0,14,0,4,0,82,0,4,0,83,0, -43,0,84,0,4,0,85,0,7,0,86,0,7,0,87,0,7,0,88,0, -7,0,89,0,7,0,90,0,4,0,91,0,4,0,92,0,4,0,93,0, -4,0,94,0,0,0,37,0,44,0,5,0,25,0,38,0,35,0,65,0, -13,0,39,0,7,0,43,0,4,0,95,0,45,0,5,0,27,0,47,0, -13,0,96,0,14,0,97,0,4,0,98,0,0,0,99,0,46,0,24,0, -9,0,100,0,9,0,101,0,25,0,102,0,0,0,35,0,18,0,103,0, -18,0,104,0,14,0,105,0,14,0,106,0,14,0,107,0,8,0,108,0, -8,0,109,0,8,0,110,0,8,0,111,0,8,0,112,0,8,0,113,0, -8,0,114,0,4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0, -4,0,119,0,4,0,120,0,4,0,121,0,0,0,37,0,47,0,23,0, -9,0,100,0,9,0,101,0,25,0,102,0,0,0,35,0,17,0,103,0, -17,0,104,0,13,0,105,0,13,0,106,0,13,0,107,0,7,0,108,0, -7,0,109,0,7,0,110,0,7,0,111,0,7,0,112,0,7,0,113,0, -7,0,114,0,4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0, -4,0,119,0,4,0,120,0,4,0,121,0,48,0,21,0,47,0,122,0, -15,0,123,0,13,0,124,0,13,0,125,0,13,0,126,0,13,0,127,0, -13,0,-128,0,13,0,-127,0,13,0,-126,0,13,0,-125,0,13,0,-124,0, -7,0,-123,0,7,0,-122,0,7,0,-121,0,7,0,-120,0,7,0,-119,0, -7,0,-118,0,7,0,-117,0,7,0,-116,0,7,0,-115,0,4,0,-114,0, -49,0,22,0,46,0,122,0,16,0,123,0,14,0,124,0,14,0,125,0, -14,0,126,0,14,0,127,0,14,0,-128,0,14,0,-127,0,14,0,-126,0, -14,0,-125,0,14,0,-124,0,8,0,-123,0,8,0,-122,0,8,0,-121,0, -8,0,-120,0,8,0,-119,0,8,0,-118,0,8,0,-117,0,8,0,-116,0, -8,0,-115,0,4,0,-114,0,0,0,37,0,50,0,2,0,4,0,-113,0, -4,0,-112,0,51,0,11,0,52,0,-111,0,52,0,-110,0,0,0,35,0, -4,0,-109,0,4,0,-108,0,4,0,-107,0,4,0,-106,0,7,0,-105,0, -7,0,-104,0,4,0,-103,0,0,0,-102,0,53,0,3,0,51,0,-101,0, -13,0,-100,0,13,0,-99,0,54,0,3,0,51,0,-101,0,14,0,-100,0, -14,0,-99,0,55,0,13,0,51,0,-101,0,18,0,-98,0,18,0,-97,0, -4,0,-96,0,4,0,-95,0,4,0,-94,0,7,0,-93,0,7,0,-92,0, -7,0,-91,0,7,0,-90,0,7,0,-89,0,7,0,-88,0,7,0,-87,0, -56,0,13,0,51,0,-101,0,17,0,-98,0,17,0,-97,0,4,0,-96,0, -4,0,-95,0,4,0,-94,0,7,0,-93,0,7,0,-92,0,7,0,-91,0, -7,0,-90,0,7,0,-89,0,7,0,-88,0,7,0,-87,0,57,0,11,0, -51,0,-101,0,17,0,-98,0,17,0,-97,0,7,0,-86,0,7,0,-85,0, -7,0,-84,0,7,0,-89,0,7,0,-88,0,7,0,-87,0,7,0,-83,0, -0,0,21,0,58,0,9,0,51,0,-101,0,17,0,-98,0,17,0,-97,0, -13,0,-82,0,13,0,-81,0,13,0,-80,0,13,0,-79,0,4,0,-78,0, -4,0,-77,0,59,0,5,0,58,0,-76,0,4,0,-75,0,7,0,-74,0, -7,0,-73,0,7,0,-72,0,60,0,9,0,51,0,-101,0,17,0,-98,0, -17,0,-97,0,7,0,-82,0,7,0,-81,0,7,0,-80,0,7,0,-79,0, -4,0,-78,0,4,0,-77,0,61,0,4,0,7,0,-71,0,7,0,-70,0, -7,0,-69,0,4,0,78,0,62,0,10,0,61,0,-68,0,13,0,-67,0, -13,0,-66,0,13,0,-65,0,13,0,-64,0,13,0,-63,0,7,0,-123,0, -7,0,-62,0,4,0,-61,0,4,0,53,0,63,0,4,0,61,0,-68,0, -4,0,-60,0,7,0,-59,0,4,0,-58,0,64,0,4,0,13,0,-63,0, -61,0,-68,0,4,0,-57,0,7,0,-56,0,65,0,7,0,13,0,-55,0, -61,0,-68,0,4,0,-54,0,7,0,-53,0,7,0,-52,0,7,0,-51,0, -4,0,53,0,66,0,6,0,15,0,-50,0,13,0,-52,0,13,0,-49,0, -52,0,-48,0,4,0,-47,0,7,0,-51,0,67,0,26,0,4,0,-46,0, -7,0,-45,0,7,0,-83,0,7,0,-44,0,7,0,-43,0,7,0,-42,0, -7,0,-41,0,7,0,-40,0,7,0,-39,0,7,0,-38,0,7,0,-37,0, -7,0,-36,0,7,0,-35,0,7,0,-34,0,7,0,-33,0,7,0,-32,0, -7,0,-31,0,7,0,-30,0,7,0,-29,0,7,0,-28,0,7,0,-27,0, -4,0,-26,0,4,0,-25,0,4,0,-24,0,4,0,-23,0,4,0,116,0, -68,0,12,0,15,0,-22,0,15,0,-21,0,15,0,-20,0,13,0,-19,0, -13,0,-18,0,7,0,-17,0,4,0,-16,0,4,0,-15,0,4,0,-14,0, -4,0,-13,0,7,0,-53,0,4,0,53,0,69,0,27,0,17,0,-12,0, -15,0,-11,0,15,0,-10,0,13,0,-19,0,13,0,-9,0,13,0,-8,0, -13,0,-7,0,13,0,-6,0,13,0,-5,0,4,0,-4,0,7,0,-3,0, -4,0,-2,0,4,0,-1,0,4,0,0,1,7,0,1,1,7,0,2,1, -4,0,3,1,4,0,4,1,7,0,5,1,7,0,6,1,7,0,7,1, -7,0,8,1,7,0,9,1,7,0,10,1,4,0,11,1,4,0,12,1, -4,0,13,1,70,0,12,0,9,0,14,1,9,0,15,1,13,0,16,1, -7,0,17,1,7,0,18,1,7,0,19,1,4,0,20,1,13,0,21,1, -4,0,22,1,4,0,23,1,4,0,24,1,4,0,53,0,71,0,19,0, -47,0,122,0,68,0,25,1,61,0,26,1,62,0,27,1,63,0,28,1, -64,0,29,1,65,0,30,1,66,0,31,1,69,0,32,1,70,0,33,1, -4,0,34,1,4,0,-1,0,4,0,35,1,4,0,36,1,4,0,37,1, -4,0,38,1,4,0,39,1,4,0,40,1,67,0,41,1,}; +111,77,97,112,68,97,116,97,0,98,116,83,99,97,108,101,100,84,114,105, +97,110,103,108,101,77,101,115,104,83,104,97,112,101,68,97,116,97,0,98, +116,67,111,109,112,111,117,110,100,83,104,97,112,101,67,104,105,108,100,68, +97,116,97,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68, +97,116,97,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68, +97,116,97,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97, +116,97,0,98,116,84,114,105,97,110,103,108,101,73,110,102,111,68,97,116, +97,0,98,116,71,73,109,112,97,99,116,77,101,115,104,83,104,97,112,101, +68,97,116,97,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97, +112,101,68,97,116,97,0,98,116,67,111,108,108,105,115,105,111,110,79,98, +106,101,99,116,68,111,117,98,108,101,68,97,116,97,0,98,116,67,111,108, +108,105,115,105,111,110,79,98,106,101,99,116,70,108,111,97,116,68,97,116, +97,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97, +116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,111,117,98,108,101, +68,97,116,97,0,98,116,67,111,110,115,116,114,97,105,110,116,73,110,102, +111,49,0,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116, +68,97,116,97,0,98,116,82,105,103,105,100,66,111,100,121,68,97,116,97, +0,98,116,80,111,105,110,116,50,80,111,105,110,116,67,111,110,115,116,114, +97,105,110,116,70,108,111,97,116,68,97,116,97,0,98,116,80,111,105,110, +116,50,80,111,105,110,116,67,111,110,115,116,114,97,105,110,116,68,111,117, +98,108,101,68,97,116,97,0,98,116,72,105,110,103,101,67,111,110,115,116, +114,97,105,110,116,68,111,117,98,108,101,68,97,116,97,0,98,116,72,105, +110,103,101,67,111,110,115,116,114,97,105,110,116,70,108,111,97,116,68,97, +116,97,0,98,116,67,111,110,101,84,119,105,115,116,67,111,110,115,116,114, +97,105,110,116,68,97,116,97,0,98,116,71,101,110,101,114,105,99,54,68, +111,102,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,98,116,71, +101,110,101,114,105,99,54,68,111,102,83,112,114,105,110,103,67,111,110,115, +116,114,97,105,110,116,68,97,116,97,0,98,116,83,108,105,100,101,114,67, +111,110,115,116,114,97,105,110,116,68,97,116,97,0,83,111,102,116,66,111, +100,121,77,97,116,101,114,105,97,108,68,97,116,97,0,83,111,102,116,66, +111,100,121,78,111,100,101,68,97,116,97,0,83,111,102,116,66,111,100,121, +76,105,110,107,68,97,116,97,0,83,111,102,116,66,111,100,121,70,97,99, +101,68,97,116,97,0,83,111,102,116,66,111,100,121,84,101,116,114,97,68, +97,116,97,0,83,111,102,116,82,105,103,105,100,65,110,99,104,111,114,68, +97,116,97,0,83,111,102,116,66,111,100,121,67,111,110,102,105,103,68,97, +116,97,0,83,111,102,116,66,111,100,121,80,111,115,101,68,97,116,97,0, +83,111,102,116,66,111,100,121,67,108,117,115,116,101,114,68,97,116,97,0, +98,116,83,111,102,116,66,111,100,121,74,111,105,110,116,68,97,116,97,0, +98,116,83,111,102,116,66,111,100,121,70,108,111,97,116,68,97,116,97,0, +84,76,69,78,1,0,1,0,2,0,2,0,4,0,4,0,4,0,4,0, +8,0,0,0,16,0,48,0,16,0,16,0,32,0,48,0,96,0,64,0, +-128,0,20,0,48,0,80,0,16,0,96,0,-112,0,16,0,56,0,56,0, +20,0,72,0,4,0,4,0,8,0,4,0,56,0,32,0,80,0,72,0, +96,0,80,0,32,0,64,0,64,0,16,0,72,0,80,0,-40,1,8,1, +-16,1,-88,3,8,0,64,0,0,0,96,0,-128,0,104,1,-24,0,-32,0, +8,1,104,1,-40,0,16,0,104,0,24,0,40,0,104,0,96,0,104,0, +-56,0,104,1,112,0,-40,1,83,84,82,67,61,0,0,0,10,0,3,0, +4,0,0,0,4,0,1,0,9,0,2,0,11,0,3,0,10,0,3,0, +10,0,4,0,10,0,5,0,12,0,2,0,9,0,6,0,9,0,7,0, +13,0,1,0,7,0,8,0,14,0,1,0,8,0,8,0,15,0,1,0, +13,0,9,0,16,0,1,0,14,0,9,0,17,0,2,0,15,0,10,0, +13,0,11,0,18,0,2,0,16,0,10,0,14,0,11,0,19,0,4,0, +4,0,12,0,4,0,13,0,2,0,14,0,2,0,15,0,20,0,6,0, +13,0,16,0,13,0,17,0,4,0,18,0,4,0,19,0,4,0,20,0, +0,0,21,0,21,0,6,0,14,0,16,0,14,0,17,0,4,0,18,0, +4,0,19,0,4,0,20,0,0,0,21,0,22,0,3,0,2,0,14,0, +2,0,15,0,4,0,22,0,23,0,12,0,13,0,23,0,13,0,24,0, +13,0,25,0,4,0,26,0,4,0,27,0,4,0,28,0,4,0,29,0, +20,0,30,0,22,0,31,0,19,0,32,0,4,0,33,0,4,0,34,0, +24,0,12,0,14,0,23,0,14,0,24,0,14,0,25,0,4,0,26,0, +4,0,27,0,4,0,28,0,4,0,29,0,21,0,30,0,22,0,31,0, +4,0,33,0,4,0,34,0,19,0,32,0,25,0,3,0,0,0,35,0, +4,0,36,0,0,0,37,0,26,0,5,0,25,0,38,0,13,0,39,0, +13,0,40,0,7,0,41,0,0,0,21,0,27,0,5,0,25,0,38,0, +13,0,39,0,13,0,42,0,7,0,43,0,4,0,44,0,28,0,2,0, +13,0,45,0,7,0,46,0,29,0,4,0,27,0,47,0,28,0,48,0, +4,0,49,0,0,0,37,0,30,0,1,0,4,0,50,0,31,0,2,0, +2,0,50,0,0,0,51,0,32,0,2,0,2,0,52,0,0,0,51,0, +33,0,2,0,0,0,52,0,0,0,53,0,34,0,8,0,13,0,54,0, +14,0,55,0,30,0,56,0,32,0,57,0,33,0,58,0,31,0,59,0, +4,0,60,0,4,0,61,0,35,0,4,0,34,0,62,0,13,0,63,0, +4,0,64,0,0,0,37,0,36,0,7,0,25,0,38,0,35,0,65,0, +23,0,66,0,24,0,67,0,37,0,68,0,7,0,43,0,0,0,69,0, +38,0,2,0,36,0,70,0,13,0,39,0,39,0,4,0,17,0,71,0, +25,0,72,0,4,0,73,0,7,0,74,0,40,0,4,0,25,0,38,0, +39,0,75,0,4,0,76,0,7,0,43,0,41,0,3,0,27,0,47,0, +4,0,77,0,0,0,37,0,42,0,3,0,27,0,47,0,4,0,77,0, +0,0,37,0,43,0,4,0,4,0,78,0,7,0,79,0,7,0,80,0, +7,0,81,0,37,0,14,0,4,0,82,0,4,0,83,0,43,0,84,0, +4,0,85,0,7,0,86,0,7,0,87,0,7,0,88,0,7,0,89,0, +7,0,90,0,4,0,91,0,4,0,92,0,4,0,93,0,4,0,94,0, +0,0,37,0,44,0,5,0,25,0,38,0,35,0,65,0,13,0,39,0, +7,0,43,0,4,0,95,0,45,0,5,0,27,0,47,0,13,0,96,0, +14,0,97,0,4,0,98,0,0,0,99,0,46,0,24,0,9,0,100,0, +9,0,101,0,25,0,102,0,0,0,35,0,18,0,103,0,18,0,104,0, +14,0,105,0,14,0,106,0,14,0,107,0,8,0,108,0,8,0,109,0, +8,0,110,0,8,0,111,0,8,0,112,0,8,0,113,0,8,0,114,0, +4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0,4,0,119,0, +4,0,120,0,4,0,121,0,0,0,37,0,47,0,23,0,9,0,100,0, +9,0,101,0,25,0,102,0,0,0,35,0,17,0,103,0,17,0,104,0, +13,0,105,0,13,0,106,0,13,0,107,0,7,0,108,0,7,0,109,0, +7,0,110,0,7,0,111,0,7,0,112,0,7,0,113,0,7,0,114,0, +4,0,115,0,4,0,116,0,4,0,117,0,4,0,118,0,4,0,119,0, +4,0,120,0,4,0,121,0,48,0,21,0,47,0,122,0,15,0,123,0, +13,0,124,0,13,0,125,0,13,0,126,0,13,0,127,0,13,0,-128,0, +13,0,-127,0,13,0,-126,0,13,0,-125,0,13,0,-124,0,7,0,-123,0, +7,0,-122,0,7,0,-121,0,7,0,-120,0,7,0,-119,0,7,0,-118,0, +7,0,-117,0,7,0,-116,0,7,0,-115,0,4,0,-114,0,49,0,22,0, +46,0,122,0,16,0,123,0,14,0,124,0,14,0,125,0,14,0,126,0, +14,0,127,0,14,0,-128,0,14,0,-127,0,14,0,-126,0,14,0,-125,0, +14,0,-124,0,8,0,-123,0,8,0,-122,0,8,0,-121,0,8,0,-120,0, +8,0,-119,0,8,0,-118,0,8,0,-117,0,8,0,-116,0,8,0,-115,0, +4,0,-114,0,0,0,37,0,50,0,2,0,4,0,-113,0,4,0,-112,0, +51,0,13,0,52,0,-111,0,52,0,-110,0,0,0,35,0,4,0,-109,0, +4,0,-108,0,4,0,-107,0,4,0,-106,0,7,0,-105,0,7,0,-104,0, +4,0,-103,0,4,0,-102,0,7,0,-101,0,4,0,-100,0,53,0,3,0, +51,0,-99,0,13,0,-98,0,13,0,-97,0,54,0,3,0,51,0,-99,0, +14,0,-98,0,14,0,-97,0,55,0,13,0,51,0,-99,0,18,0,-96,0, +18,0,-95,0,4,0,-94,0,4,0,-93,0,4,0,-92,0,7,0,-91,0, +7,0,-90,0,7,0,-89,0,7,0,-88,0,7,0,-87,0,7,0,-86,0, +7,0,-85,0,56,0,13,0,51,0,-99,0,17,0,-96,0,17,0,-95,0, +4,0,-94,0,4,0,-93,0,4,0,-92,0,7,0,-91,0,7,0,-90,0, +7,0,-89,0,7,0,-88,0,7,0,-87,0,7,0,-86,0,7,0,-85,0, +57,0,11,0,51,0,-99,0,17,0,-96,0,17,0,-95,0,7,0,-84,0, +7,0,-83,0,7,0,-82,0,7,0,-87,0,7,0,-86,0,7,0,-85,0, +7,0,-81,0,0,0,21,0,58,0,9,0,51,0,-99,0,17,0,-96,0, +17,0,-95,0,13,0,-80,0,13,0,-79,0,13,0,-78,0,13,0,-77,0, +4,0,-76,0,4,0,-75,0,59,0,5,0,58,0,-74,0,4,0,-73,0, +7,0,-72,0,7,0,-71,0,7,0,-70,0,60,0,9,0,51,0,-99,0, +17,0,-96,0,17,0,-95,0,7,0,-80,0,7,0,-79,0,7,0,-78,0, +7,0,-77,0,4,0,-76,0,4,0,-75,0,61,0,4,0,7,0,-69,0, +7,0,-68,0,7,0,-67,0,4,0,78,0,62,0,10,0,61,0,-66,0, +13,0,-65,0,13,0,-64,0,13,0,-63,0,13,0,-62,0,13,0,-61,0, +7,0,-123,0,7,0,-60,0,4,0,-59,0,4,0,53,0,63,0,4,0, +61,0,-66,0,4,0,-58,0,7,0,-57,0,4,0,-56,0,64,0,4,0, +13,0,-61,0,61,0,-66,0,4,0,-55,0,7,0,-54,0,65,0,7,0, +13,0,-53,0,61,0,-66,0,4,0,-52,0,7,0,-51,0,7,0,-50,0, +7,0,-49,0,4,0,53,0,66,0,6,0,15,0,-48,0,13,0,-50,0, +13,0,-47,0,52,0,-46,0,4,0,-45,0,7,0,-49,0,67,0,26,0, +4,0,-44,0,7,0,-43,0,7,0,-81,0,7,0,-42,0,7,0,-41,0, +7,0,-40,0,7,0,-39,0,7,0,-38,0,7,0,-37,0,7,0,-36,0, +7,0,-35,0,7,0,-34,0,7,0,-33,0,7,0,-32,0,7,0,-31,0, +7,0,-30,0,7,0,-29,0,7,0,-28,0,7,0,-27,0,7,0,-26,0, +7,0,-25,0,4,0,-24,0,4,0,-23,0,4,0,-22,0,4,0,-21,0, +4,0,116,0,68,0,12,0,15,0,-20,0,15,0,-19,0,15,0,-18,0, +13,0,-17,0,13,0,-16,0,7,0,-15,0,4,0,-14,0,4,0,-13,0, +4,0,-12,0,4,0,-11,0,7,0,-51,0,4,0,53,0,69,0,27,0, +17,0,-10,0,15,0,-9,0,15,0,-8,0,13,0,-17,0,13,0,-7,0, +13,0,-6,0,13,0,-5,0,13,0,-4,0,13,0,-3,0,4,0,-2,0, +7,0,-1,0,4,0,0,1,4,0,1,1,4,0,2,1,7,0,3,1, +7,0,4,1,4,0,5,1,4,0,6,1,7,0,7,1,7,0,8,1, +7,0,9,1,7,0,10,1,7,0,11,1,7,0,12,1,4,0,13,1, +4,0,14,1,4,0,15,1,70,0,12,0,9,0,16,1,9,0,17,1, +13,0,18,1,7,0,19,1,7,0,20,1,7,0,21,1,4,0,22,1, +13,0,23,1,4,0,24,1,4,0,25,1,4,0,26,1,4,0,53,0, +71,0,19,0,47,0,122,0,68,0,27,1,61,0,28,1,62,0,29,1, +63,0,30,1,64,0,31,1,65,0,32,1,66,0,33,1,69,0,34,1, +70,0,35,1,4,0,36,1,4,0,1,1,4,0,37,1,4,0,38,1, +4,0,39,1,4,0,40,1,4,0,41,1,4,0,42,1,67,0,43,1, +}; int sBulletDNAlen64= sizeof(sBulletDNAstr64); diff --git a/src/LinearMath/btSerializer.h b/src/LinearMath/btSerializer.h index 20947141b..3c64f6bdf 100644 --- a/src/LinearMath/btSerializer.h +++ b/src/LinearMath/btSerializer.h @@ -437,8 +437,8 @@ public: buffer[9] = '2'; - buffer[10] = '7'; - buffer[11] = '8'; + buffer[10] = '8'; + buffer[11] = '0'; }