Copy disabled (too large)
Download .txt
Showing preview only (102,473K chars total). Download the full file to get everything.
Repository: saul/demofile
Branch: master
Commit: 1c2a9cda8a54
Files: 1217
Total size: 97.5 MB
Directory structure:
gitextract_thm8rtfk/
├── .devcontainer/
│ └── devcontainer.json
├── .eslintignore
├── .eslintrc.json
├── .gitattributes
├── .github/
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ └── bug.yml
│ └── workflows/
│ ├── ci.yml
│ └── generation.yml
├── .gitignore
├── .prettierignore
├── .prettierrc.json
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── RELEASE_NOTES.md
├── browser/
│ ├── app.js
│ └── bundle.js
├── dist/
│ ├── assert-exists.d.ts
│ ├── assert-exists.js
│ ├── consts.d.ts
│ ├── consts.js
│ ├── convars.d.ts
│ ├── convars.js
│ ├── crosshair.d.ts
│ ├── crosshair.js
│ ├── crosshair.test.d.ts
│ ├── crosshair.test.js
│ ├── demo.d.ts
│ ├── demo.js
│ ├── entities/
│ │ ├── baseentity.d.ts
│ │ ├── baseentity.js
│ │ ├── gamerules.d.ts
│ │ ├── gamerules.js
│ │ ├── itemdefs.d.ts
│ │ ├── itemdefs.js
│ │ ├── networkable.d.ts
│ │ ├── networkable.js
│ │ ├── player.d.ts
│ │ ├── player.js
│ │ ├── projectile.d.ts
│ │ ├── projectile.js
│ │ ├── team.d.ts
│ │ ├── team.js
│ │ ├── weapon.d.ts
│ │ └── weapon.js
│ ├── entities.d.ts
│ ├── entities.js
│ ├── entityhandle.d.ts
│ ├── entityhandle.js
│ ├── eventtypes.d.ts
│ ├── eventtypes.js
│ ├── ext/
│ │ ├── bitbuffer.d.ts
│ │ └── bitbuffer.js
│ ├── gameevent.d.ts
│ ├── gameevent.js
│ ├── gameevents.d.ts
│ ├── gameevents.js
│ ├── generators/
│ │ ├── eventtypes.d.ts
│ │ ├── eventtypes.js
│ │ ├── itemdefs.d.ts
│ │ ├── itemdefs.js
│ │ ├── sendtabletypes.d.ts
│ │ ├── sendtabletypes.js
│ │ ├── usermessagetypes.d.ts
│ │ └── usermessagetypes.js
│ ├── icekey.d.ts
│ ├── icekey.js
│ ├── index.d.ts
│ ├── index.js
│ ├── keyvalues.d.ts
│ ├── keyvalues.js
│ ├── net.d.ts
│ ├── net.js
│ ├── props.d.ts
│ ├── props.js
│ ├── protobufs/
│ │ ├── cstrike15_gcmessages.d.ts
│ │ ├── cstrike15_gcmessages.js
│ │ ├── cstrike15_usermessages.d.ts
│ │ ├── cstrike15_usermessages.js
│ │ ├── engine_gcmessages.d.ts
│ │ ├── engine_gcmessages.js
│ │ ├── google/
│ │ │ └── protobuf/
│ │ │ ├── descriptor.d.ts
│ │ │ └── descriptor.js
│ │ ├── netmessages.d.ts
│ │ ├── netmessages.js
│ │ ├── steammessages.d.ts
│ │ └── steammessages.js
│ ├── replaykeys.d.ts
│ ├── replaykeys.js
│ ├── replaykeys.test.d.ts
│ ├── replaykeys.test.js
│ ├── sendtabletypes.d.ts
│ ├── sendtabletypes.js
│ ├── sharecode.d.ts
│ ├── sharecode.js
│ ├── stringtables.d.ts
│ ├── stringtables.js
│ ├── supplements/
│ │ ├── grenadetrajectory.d.ts
│ │ ├── grenadetrajectory.js
│ │ ├── itempurchase.d.ts
│ │ ├── itempurchase.js
│ │ ├── molotovdetonate.d.ts
│ │ ├── molotovdetonate.js
│ │ ├── supplementinfo.d.ts
│ │ └── supplementinfo.js
│ ├── syncdto.d.ts
│ ├── syncdto.js
│ ├── usermessages.d.ts
│ ├── usermessages.js
│ ├── usermessagetypes.d.ts
│ └── usermessagetypes.js
├── docs/
│ ├── .nojekyll
│ ├── CNAME
│ ├── assets/
│ │ ├── highlight.css
│ │ ├── main.js
│ │ ├── search.js
│ │ └── style.css
│ ├── classes/
│ │ ├── BaseEntity.html
│ │ ├── BitStream.html
│ │ ├── BitView.html
│ │ ├── ConVars.html
│ │ ├── DemoFile.html
│ │ ├── Entities.html
│ │ ├── GameEvent.html
│ │ ├── GameEvents.html
│ │ ├── GameRules.html
│ │ ├── Networkable.html
│ │ ├── Player.html
│ │ ├── Projectile.html
│ │ ├── StringTables.html
│ │ ├── Team.html
│ │ ├── UserMessages.html
│ │ └── Weapon.html
│ ├── enums/
│ │ ├── CrosshairStyle.html
│ │ ├── LifeState.html
│ │ └── TeamNumber.html
│ ├── functions/
│ │ ├── annotateEvent.html
│ │ ├── decodeCrosshairCode.html
│ │ ├── decodeShareCode.html
│ │ ├── extractPublicEncryptionKey.html
│ │ ├── parseBinaryKeyValues.html
│ │ └── parseHeader.html
│ ├── index.html
│ ├── interfaces/
│ │ ├── Angle2D.html
│ │ ├── CAI_BaseNPC.html
│ │ ├── CAK47.html
│ │ ├── CBRC4Target.html
│ │ ├── CBaseAnimating.html
│ │ ├── CBaseAnimatingOverlay.html
│ │ ├── CBaseAttributableItem.html
│ │ ├── CBaseButton.html
│ │ ├── CBaseCSGrenade.html
│ │ ├── CBaseCSGrenadeProjectile.html
│ │ ├── CBaseCombatCharacter.html
│ │ ├── CBaseCombatWeapon.html
│ │ ├── CBaseDoor.html
│ │ ├── CBaseEntity.html
│ │ ├── CBaseFlex.html
│ │ ├── CBaseGrenade.html
│ │ ├── CBaseParticleEntity.html
│ │ ├── CBasePlayer.html
│ │ ├── CBasePropDoor.html
│ │ ├── CBaseTeamObjectiveResource.html
│ │ ├── CBaseTempEntity.html
│ │ ├── CBaseToggle.html
│ │ ├── CBaseTrigger.html
│ │ ├── CBaseVPhysicsTrigger.html
│ │ ├── CBaseViewModel.html
│ │ ├── CBaseWeaponWorldModel.html
│ │ ├── CBeam.html
│ │ ├── CBeamSpotlight.html
│ │ ├── CBoneFollower.html
│ │ ├── CBreachCharge.html
│ │ ├── CBreachChargeProjectile.html
│ │ ├── CBreakableProp.html
│ │ ├── CBreakableSurface.html
│ │ ├── CBumpMine.html
│ │ ├── CBumpMineProjectile.html
│ │ ├── CC4.html
│ │ ├── CCSGameRulesProxy.html
│ │ ├── CCSPlayer.html
│ │ ├── CCSPlayerResource.html
│ │ ├── CCSRagdoll.html
│ │ ├── CCSTeam.html
│ │ ├── CCascadeLight.html
│ │ ├── CChicken.html
│ │ ├── CColorCorrection.html
│ │ ├── CColorCorrectionVolume.html
│ │ ├── CDEagle.html
│ │ ├── CDangerZone.html
│ │ ├── CDangerZoneController.html
│ │ ├── CDecoyGrenade.html
│ │ ├── CDecoyProjectile.html
│ │ ├── CDrone.html
│ │ ├── CDronegun.html
│ │ ├── CDynamicLight.html
│ │ ├── CDynamicProp.html
│ │ ├── CEconEntity.html
│ │ ├── CEconWearable.html
│ │ ├── CEmbers.html
│ │ ├── CEntityDissolve.html
│ │ ├── CEntityFlame.html
│ │ ├── CEntityFreezing.html
│ │ ├── CEntityParticleTrail.html
│ │ ├── CEnvAmbientLight.html
│ │ ├── CEnvDOFController.html
│ │ ├── CEnvDetailController.html
│ │ ├── CEnvGasCanister.html
│ │ ├── CEnvParticleScript.html
│ │ ├── CEnvProjectedTexture.html
│ │ ├── CEnvQuadraticBeam.html
│ │ ├── CEnvScreenEffect.html
│ │ ├── CEnvScreenOverlay.html
│ │ ├── CEnvTonemapController.html
│ │ ├── CEnvWind.html
│ │ ├── CFEPlayerDecal.html
│ │ ├── CFireCrackerBlast.html
│ │ ├── CFireSmoke.html
│ │ ├── CFireTrail.html
│ │ ├── CFish.html
│ │ ├── CFists.html
│ │ ├── CFlashbang.html
│ │ ├── CFogController.html
│ │ ├── CFootstepControl.html
│ │ ├── CFuncAreaPortalWindow.html
│ │ ├── CFuncBrush.html
│ │ ├── CFuncConveyor.html
│ │ ├── CFuncLadder.html
│ │ ├── CFuncMonitor.html
│ │ ├── CFuncMoveLinear.html
│ │ ├── CFuncOccluder.html
│ │ ├── CFuncReflectiveGlass.html
│ │ ├── CFuncRotating.html
│ │ ├── CFuncSmokeVolume.html
│ │ ├── CFuncTrackTrain.html
│ │ ├── CFunc_Dust.html
│ │ ├── CFunc_LOD.html
│ │ ├── CGameRulesProxy.html
│ │ ├── CGrassBurn.html
│ │ ├── CHEGrenade.html
│ │ ├── CHandleTest.html
│ │ ├── CHostage.html
│ │ ├── CHostageCarriableProp.html
│ │ ├── CIncendiaryGrenade.html
│ │ ├── CInferno.html
│ │ ├── CInfoLadderDismount.html
│ │ ├── CInfoMapRegion.html
│ │ ├── CInfoOverlayAccessor.html
│ │ ├── CItemCash.html
│ │ ├── CItemDogtags.html
│ │ ├── CItem_Healthshot.html
│ │ ├── CKnife.html
│ │ ├── CKnifeGG.html
│ │ ├── CLightGlow.html
│ │ ├── CMapVetoPickController.html
│ │ ├── CMaterialModifyControl.html
│ │ ├── CMelee.html
│ │ ├── CMolotovGrenade.html
│ │ ├── CMolotovProjectile.html
│ │ ├── CMovieDisplay.html
│ │ ├── CParadropChopper.html
│ │ ├── CParticleFire.html
│ │ ├── CParticlePerformanceMonitor.html
│ │ ├── CParticleSystem.html
│ │ ├── CPhysBox.html
│ │ ├── CPhysBoxMultiplayer.html
│ │ ├── CPhysMagnet.html
│ │ ├── CPhysPropAmmoBox.html
│ │ ├── CPhysPropLootCrate.html
│ │ ├── CPhysPropRadarJammer.html
│ │ ├── CPhysPropWeaponUpgrade.html
│ │ ├── CPhysicsProp.html
│ │ ├── CPhysicsPropMultiplayer.html
│ │ ├── CPlantedC4.html
│ │ ├── CPlasma.html
│ │ ├── CPlayerPing.html
│ │ ├── CPlayerResource.html
│ │ ├── CPointCamera.html
│ │ ├── CPointCommentaryNode.html
│ │ ├── CPointWorldText.html
│ │ ├── CPoseController.html
│ │ ├── CPostProcessController.html
│ │ ├── CPrecipitation.html
│ │ ├── CPrecipitationBlocker.html
│ │ ├── CPredictedViewModel.html
│ │ ├── CPropCounter.html
│ │ ├── CPropDoorRotating.html
│ │ ├── CPropJeep.html
│ │ ├── CPropVehicleDriveable.html
│ │ ├── CProp_Hallucination.html
│ │ ├── CRagdollManager.html
│ │ ├── CRagdollProp.html
│ │ ├── CRagdollPropAttached.html
│ │ ├── CRopeKeyframe.html
│ │ ├── CSCAR17.html
│ │ ├── CSceneEntity.html
│ │ ├── CSensorGrenade.html
│ │ ├── CSensorGrenadeProjectile.html
│ │ ├── CShadowControl.html
│ │ ├── CSlideshowDisplay.html
│ │ ├── CSmokeGrenade.html
│ │ ├── CSmokeGrenadeProjectile.html
│ │ ├── CSmokeStack.html
│ │ ├── CSnowball.html
│ │ ├── CSnowballPile.html
│ │ ├── CSnowballProjectile.html
│ │ ├── CSpatialEntity.html
│ │ ├── CSpotlightEnd.html
│ │ ├── CSprite.html
│ │ ├── CSpriteOriented.html
│ │ ├── CSpriteTrail.html
│ │ ├── CStatueProp.html
│ │ ├── CSteamJet.html
│ │ ├── CSun.html
│ │ ├── CSunlightShadowControl.html
│ │ ├── CSurvivalSpawnChopper.html
│ │ ├── CTEArmorRicochet.html
│ │ ├── CTEBSPDecal.html
│ │ ├── CTEBaseBeam.html
│ │ ├── CTEBeamEntPoint.html
│ │ ├── CTEBeamEnts.html
│ │ ├── CTEBeamFollow.html
│ │ ├── CTEBeamLaser.html
│ │ ├── CTEBeamPoints.html
│ │ ├── CTEBeamRing.html
│ │ ├── CTEBeamRingPoint.html
│ │ ├── CTEBeamSpline.html
│ │ ├── CTEBloodSprite.html
│ │ ├── CTEBloodStream.html
│ │ ├── CTEBreakModel.html
│ │ ├── CTEBubbleTrail.html
│ │ ├── CTEBubbles.html
│ │ ├── CTEClientProjectile.html
│ │ ├── CTEDecal.html
│ │ ├── CTEDust.html
│ │ ├── CTEDynamicLight.html
│ │ ├── CTEEffectDispatch.html
│ │ ├── CTEEnergySplash.html
│ │ ├── CTEExplosion.html
│ │ ├── CTEFireBullets.html
│ │ ├── CTEFizz.html
│ │ ├── CTEFootprintDecal.html
│ │ ├── CTEFoundryHelpers.html
│ │ ├── CTEGaussExplosion.html
│ │ ├── CTEGlowSprite.html
│ │ ├── CTEImpact.html
│ │ ├── CTEKillPlayerAttachments.html
│ │ ├── CTELargeFunnel.html
│ │ ├── CTEMetalSparks.html
│ │ ├── CTEMuzzleFlash.html
│ │ ├── CTEParticleSystem.html
│ │ ├── CTEPhysicsProp.html
│ │ ├── CTEPlantBomb.html
│ │ ├── CTEPlayerAnimEvent.html
│ │ ├── CTEPlayerDecal.html
│ │ ├── CTEProjectedDecal.html
│ │ ├── CTERadioIcon.html
│ │ ├── CTEShatterSurface.html
│ │ ├── CTEShowLine.html
│ │ ├── CTESmoke.html
│ │ ├── CTESparks.html
│ │ ├── CTESprite.html
│ │ ├── CTESpriteSpray.html
│ │ ├── CTEWorldDecal.html
│ │ ├── CTablet.html
│ │ ├── CTeam.html
│ │ ├── CTeamplayRoundBasedRulesProxy.html
│ │ ├── CTesla.html
│ │ ├── CTestTraceline.html
│ │ ├── CTest_ProxyToggle_Networkable.html
│ │ ├── CTriggerPlayerMovement.html
│ │ ├── CTriggerSoundOperator.html
│ │ ├── CVGuiScreen.html
│ │ ├── CVoteController.html
│ │ ├── CWaterBullet.html
│ │ ├── CWaterLODControl.html
│ │ ├── CWeaponAWP.html
│ │ ├── CWeaponAug.html
│ │ ├── CWeaponBaseItem.html
│ │ ├── CWeaponBizon.html
│ │ ├── CWeaponCSBase.html
│ │ ├── CWeaponCSBaseGun.html
│ │ ├── CWeaponCycler.html
│ │ ├── CWeaponElite.html
│ │ ├── CWeaponFamas.html
│ │ ├── CWeaponFiveSeven.html
│ │ ├── CWeaponG3SG1.html
│ │ ├── CWeaponGalil.html
│ │ ├── CWeaponGalilAR.html
│ │ ├── CWeaponGlock.html
│ │ ├── CWeaponHKP2000.html
│ │ ├── CWeaponM249.html
│ │ ├── CWeaponM3.html
│ │ ├── CWeaponM4A1.html
│ │ ├── CWeaponMAC10.html
│ │ ├── CWeaponMP5Navy.html
│ │ ├── CWeaponMP7.html
│ │ ├── CWeaponMP9.html
│ │ ├── CWeaponMag7.html
│ │ ├── CWeaponNOVA.html
│ │ ├── CWeaponNegev.html
│ │ ├── CWeaponP228.html
│ │ ├── CWeaponP250.html
│ │ ├── CWeaponP90.html
│ │ ├── CWeaponSCAR20.html
│ │ ├── CWeaponSG550.html
│ │ ├── CWeaponSG552.html
│ │ ├── CWeaponSG556.html
│ │ ├── CWeaponSSG08.html
│ │ ├── CWeaponSawedoff.html
│ │ ├── CWeaponScout.html
│ │ ├── CWeaponShield.html
│ │ ├── CWeaponTMP.html
│ │ ├── CWeaponTaser.html
│ │ ├── CWeaponTec9.html
│ │ ├── CWeaponUMP45.html
│ │ ├── CWeaponUSP.html
│ │ ├── CWeaponXM1014.html
│ │ ├── CWeaponZoneRepulsor.html
│ │ ├── CWorld.html
│ │ ├── CWorldVguiText.html
│ │ ├── DT_AI_BaseNPC.html
│ │ ├── DT_AnimTimeMustBeFirst.html
│ │ ├── DT_Animationlayer.html
│ │ ├── DT_AttributeContainer.html
│ │ ├── DT_AttributeList.html
│ │ ├── DT_BCCLocalPlayerExclusive.html
│ │ ├── DT_BCCNonLocalPlayerExclusive.html
│ │ ├── DT_BRC4Target.html
│ │ ├── DT_BaseAnimating.html
│ │ ├── DT_BaseAnimatingOverlay.html
│ │ ├── DT_BaseAttributableItem.html
│ │ ├── DT_BaseBeam.html
│ │ ├── DT_BaseButton.html
│ │ ├── DT_BaseCSGrenade.html
│ │ ├── DT_BaseCSGrenadeProjectile.html
│ │ ├── DT_BaseCombatCharacter.html
│ │ ├── DT_BaseCombatWeapon.html
│ │ ├── DT_BaseDoor.html
│ │ ├── DT_BaseEntity.html
│ │ ├── DT_BaseFlex.html
│ │ ├── DT_BaseGrenade.html
│ │ ├── DT_BaseParticleEntity.html
│ │ ├── DT_BasePlayer.html
│ │ ├── DT_BasePropDoor.html
│ │ ├── DT_BaseTeamObjectiveResource.html
│ │ ├── DT_BaseTempEntity.html
│ │ ├── DT_BaseToggle.html
│ │ ├── DT_BaseTrigger.html
│ │ ├── DT_BaseVPhysicsTrigger.html
│ │ ├── DT_BaseViewModel.html
│ │ ├── DT_BaseWeaponWorldModel.html
│ │ ├── DT_Beam.html
│ │ ├── DT_BeamSpotlight.html
│ │ ├── DT_BoneFollower.html
│ │ ├── DT_BreachChargeProjectile.html
│ │ ├── DT_BreakableProp.html
│ │ ├── DT_BreakableSurface.html
│ │ ├── DT_BumpMineProjectile.html
│ │ ├── DT_CChicken.html
│ │ ├── DT_CFish.html
│ │ ├── DT_CHostage.html
│ │ ├── DT_CSGameRules.html
│ │ ├── DT_CSGameRulesProxy.html
│ │ ├── DT_CSLocalPlayerExclusive.html
│ │ ├── DT_CSNonLocalPlayerExclusive.html
│ │ ├── DT_CSPlayer.html
│ │ ├── DT_CSPlayerResource.html
│ │ ├── DT_CSRagdoll.html
│ │ ├── DT_CSTeam.html
│ │ ├── DT_CSTeamExclusive.html
│ │ ├── DT_CascadeLight.html
│ │ ├── DT_CollisionProperty.html
│ │ ├── DT_ColorCorrection.html
│ │ ├── DT_ColorCorrectionVolume.html
│ │ ├── DT_DangerZone.html
│ │ ├── DT_DangerZoneController.html
│ │ ├── DT_DecoyGrenade.html
│ │ ├── DT_DecoyProjectile.html
│ │ ├── DT_DetailController.html
│ │ ├── DT_Drone.html
│ │ ├── DT_Dronegun.html
│ │ ├── DT_DustTrail.html
│ │ ├── DT_DynamicLight.html
│ │ ├── DT_DynamicProp.html
│ │ ├── DT_EconEntity.html
│ │ ├── DT_EffectData.html
│ │ ├── DT_Embers.html
│ │ ├── DT_EntityDissolve.html
│ │ ├── DT_EntityFlame.html
│ │ ├── DT_EntityFreezing.html
│ │ ├── DT_EntityParticleTrail.html
│ │ ├── DT_EntityParticleTrailInfo.html
│ │ ├── DT_EnvAmbientLight.html
│ │ ├── DT_EnvDOFController.html
│ │ ├── DT_EnvGasCanister.html
│ │ ├── DT_EnvParticleScript.html
│ │ ├── DT_EnvProjectedTexture.html
│ │ ├── DT_EnvScreenEffect.html
│ │ ├── DT_EnvScreenOverlay.html
│ │ ├── DT_EnvTonemapController.html
│ │ ├── DT_EnvWind.html
│ │ ├── DT_EnvWindShared.html
│ │ ├── DT_FEPlayerDecal.html
│ │ ├── DT_FireCrackerBlast.html
│ │ ├── DT_FireSmoke.html
│ │ ├── DT_FireTrail.html
│ │ ├── DT_Flashbang.html
│ │ ├── DT_FogController.html
│ │ ├── DT_FootstepControl.html
│ │ ├── DT_FuncAreaPortalWindow.html
│ │ ├── DT_FuncBrush.html
│ │ ├── DT_FuncConveyor.html
│ │ ├── DT_FuncLadder.html
│ │ ├── DT_FuncMonitor.html
│ │ ├── DT_FuncMoveLinear.html
│ │ ├── DT_FuncOccluder.html
│ │ ├── DT_FuncReflectiveGlass.html
│ │ ├── DT_FuncRotating.html
│ │ ├── DT_FuncSmokeVolume.html
│ │ ├── DT_FuncTrackTrain.html
│ │ ├── DT_Func_Dust.html
│ │ ├── DT_Func_LOD.html
│ │ ├── DT_GameRulesProxy.html
│ │ ├── DT_GrassBurn.html
│ │ ├── DT_HEGrenade.html
│ │ ├── DT_HandleTest.html
│ │ ├── DT_HostageCarriableProp.html
│ │ ├── DT_IncendiaryGrenade.html
│ │ ├── DT_Inferno.html
│ │ ├── DT_InfoLadderDismount.html
│ │ ├── DT_InfoMapRegion.html
│ │ ├── DT_InfoOverlayAccessor.html
│ │ ├── DT_ItemCash.html
│ │ ├── DT_ItemDogtags.html
│ │ ├── DT_Item_Healthshot.html
│ │ ├── DT_LightGlow.html
│ │ ├── DT_Local.html
│ │ ├── DT_LocalActiveWeaponData.html
│ │ ├── DT_LocalPlayerExclusive.html
│ │ ├── DT_LocalWeaponData.html
│ │ ├── DT_MapVetoPickController.html
│ │ ├── DT_MaterialModifyControl.html
│ │ ├── DT_MolotovGrenade.html
│ │ ├── DT_MolotovProjectile.html
│ │ ├── DT_MovieDisplay.html
│ │ ├── DT_MovieExplosion.html
│ │ ├── DT_OverlayVars.html
│ │ ├── DT_ParadropChopper.html
│ │ ├── DT_ParticleFire.html
│ │ ├── DT_ParticlePerformanceMonitor.html
│ │ ├── DT_ParticleSmokeGrenade.html
│ │ ├── DT_ParticleSystem.html
│ │ ├── DT_PhysBox.html
│ │ ├── DT_PhysBoxMultiplayer.html
│ │ ├── DT_PhysMagnet.html
│ │ ├── DT_PhysPropAmmoBox.html
│ │ ├── DT_PhysPropLootCrate.html
│ │ ├── DT_PhysPropRadarJammer.html
│ │ ├── DT_PhysPropWeaponUpgrade.html
│ │ ├── DT_PhysicsProp.html
│ │ ├── DT_PhysicsPropMultiplayer.html
│ │ ├── DT_PlantedC4.html
│ │ ├── DT_Plasma.html
│ │ ├── DT_PlayerPing.html
│ │ ├── DT_PlayerResource.html
│ │ ├── DT_PlayerState.html
│ │ ├── DT_PointCamera.html
│ │ ├── DT_PointCommentaryNode.html
│ │ ├── DT_PointWorldText.html
│ │ ├── DT_PoseController.html
│ │ ├── DT_PostProcessController.html
│ │ ├── DT_Precipitation.html
│ │ ├── DT_PrecipitationBlocker.html
│ │ ├── DT_PredictedViewModel.html
│ │ ├── DT_PropCounter.html
│ │ ├── DT_PropDoorRotating.html
│ │ ├── DT_PropJeep.html
│ │ ├── DT_PropVehicleDriveable.html
│ │ ├── DT_Prop_Hallucination.html
│ │ ├── DT_ProxyToggle.html
│ │ ├── DT_ProxyToggle_ProxiedData.html
│ │ ├── DT_QuadraticBeam.html
│ │ ├── DT_Ragdoll.html
│ │ ├── DT_RagdollManager.html
│ │ ├── DT_Ragdoll_Attached.html
│ │ ├── DT_RetakeGameRules.html
│ │ ├── DT_RocketTrail.html
│ │ ├── DT_RopeKeyframe.html
│ │ ├── DT_SceneEntity.html
│ │ ├── DT_ScriptCreatedAttribute.html
│ │ ├── DT_ScriptCreatedItem.html
│ │ ├── DT_SensorGrenade.html
│ │ ├── DT_SensorGrenadeProjectile.html
│ │ ├── DT_ServerAnimationData.html
│ │ ├── DT_ShadowControl.html
│ │ ├── DT_SlideshowDisplay.html
│ │ ├── DT_SmokeGrenade.html
│ │ ├── DT_SmokeGrenadeProjectile.html
│ │ ├── DT_SmokeStack.html
│ │ ├── DT_SmokeTrail.html
│ │ ├── DT_Snowball.html
│ │ ├── DT_SnowballPile.html
│ │ ├── DT_SnowballProjectile.html
│ │ ├── DT_SpatialEntity.html
│ │ ├── DT_SporeExplosion.html
│ │ ├── DT_SporeTrail.html
│ │ ├── DT_SpotlightEnd.html
│ │ ├── DT_Sprite.html
│ │ ├── DT_SpriteOriented.html
│ │ ├── DT_SpriteTrail.html
│ │ ├── DT_StatueProp.html
│ │ ├── DT_SteamJet.html
│ │ ├── DT_Sun.html
│ │ ├── DT_SunlightShadowControl.html
│ │ ├── DT_SurvivalGameRules.html
│ │ ├── DT_SurvivalSpawnChopper.html
│ │ ├── DT_TEArmorRicochet.html
│ │ ├── DT_TEBSPDecal.html
│ │ ├── DT_TEBeamEntPoint.html
│ │ ├── DT_TEBeamEnts.html
│ │ ├── DT_TEBeamFollow.html
│ │ ├── DT_TEBeamLaser.html
│ │ ├── DT_TEBeamPoints.html
│ │ ├── DT_TEBeamRing.html
│ │ ├── DT_TEBeamRingPoint.html
│ │ ├── DT_TEBeamSpline.html
│ │ ├── DT_TEBloodSprite.html
│ │ ├── DT_TEBloodStream.html
│ │ ├── DT_TEBreakModel.html
│ │ ├── DT_TEBubbleTrail.html
│ │ ├── DT_TEBubbles.html
│ │ ├── DT_TEClientProjectile.html
│ │ ├── DT_TEDecal.html
│ │ ├── DT_TEDust.html
│ │ ├── DT_TEDynamicLight.html
│ │ ├── DT_TEEffectDispatch.html
│ │ ├── DT_TEEnergySplash.html
│ │ ├── DT_TEExplosion.html
│ │ ├── DT_TEFireBullets.html
│ │ ├── DT_TEFizz.html
│ │ ├── DT_TEFootprintDecal.html
│ │ ├── DT_TEFoundryHelpers.html
│ │ ├── DT_TEGaussExplosion.html
│ │ ├── DT_TEGlowSprite.html
│ │ ├── DT_TEImpact.html
│ │ ├── DT_TEKillPlayerAttachments.html
│ │ ├── DT_TELargeFunnel.html
│ │ ├── DT_TEMetalSparks.html
│ │ ├── DT_TEMuzzleFlash.html
│ │ ├── DT_TEParticleSystem.html
│ │ ├── DT_TEPhysicsProp.html
│ │ ├── DT_TEPlantBomb.html
│ │ ├── DT_TEPlayerAnimEvent.html
│ │ ├── DT_TEPlayerDecal.html
│ │ ├── DT_TEProjectedDecal.html
│ │ ├── DT_TERadioIcon.html
│ │ ├── DT_TEShatterSurface.html
│ │ ├── DT_TEShowLine.html
│ │ ├── DT_TESmoke.html
│ │ ├── DT_TESparks.html
│ │ ├── DT_TESprite.html
│ │ ├── DT_TESpriteSpray.html
│ │ ├── DT_TEWorldDecal.html
│ │ ├── DT_Team.html
│ │ ├── DT_TeamplayRoundBasedRules.html
│ │ ├── DT_TeamplayRoundBasedRulesProxy.html
│ │ ├── DT_Tesla.html
│ │ ├── DT_TestTraceline.html
│ │ ├── DT_TriggerPlayerMovement.html
│ │ ├── DT_TriggerSoundOperator.html
│ │ ├── DT_VGuiScreen.html
│ │ ├── DT_VoteController.html
│ │ ├── DT_WORLD.html
│ │ ├── DT_WaterBullet.html
│ │ ├── DT_WaterLODControl.html
│ │ ├── DT_WeaponAK47.html
│ │ ├── DT_WeaponAWP.html
│ │ ├── DT_WeaponAug.html
│ │ ├── DT_WeaponBaseItem.html
│ │ ├── DT_WeaponBizon.html
│ │ ├── DT_WeaponBreachCharge.html
│ │ ├── DT_WeaponBumpMine.html
│ │ ├── DT_WeaponC4.html
│ │ ├── DT_WeaponCSBase.html
│ │ ├── DT_WeaponCSBaseGun.html
│ │ ├── DT_WeaponCycler.html
│ │ ├── DT_WeaponDEagle.html
│ │ ├── DT_WeaponElite.html
│ │ ├── DT_WeaponFamas.html
│ │ ├── DT_WeaponFists.html
│ │ ├── DT_WeaponFiveSeven.html
│ │ ├── DT_WeaponG3SG1.html
│ │ ├── DT_WeaponGalil.html
│ │ ├── DT_WeaponGalilAR.html
│ │ ├── DT_WeaponGlock.html
│ │ ├── DT_WeaponHKP2000.html
│ │ ├── DT_WeaponKnife.html
│ │ ├── DT_WeaponKnifeGG.html
│ │ ├── DT_WeaponM249.html
│ │ ├── DT_WeaponM3.html
│ │ ├── DT_WeaponM4A1.html
│ │ ├── DT_WeaponMAC10.html
│ │ ├── DT_WeaponMP5Navy.html
│ │ ├── DT_WeaponMP7.html
│ │ ├── DT_WeaponMP9.html
│ │ ├── DT_WeaponMag7.html
│ │ ├── DT_WeaponMelee.html
│ │ ├── DT_WeaponNOVA.html
│ │ ├── DT_WeaponNegev.html
│ │ ├── DT_WeaponP228.html
│ │ ├── DT_WeaponP250.html
│ │ ├── DT_WeaponP90.html
│ │ ├── DT_WeaponSCAR17.html
│ │ ├── DT_WeaponSCAR20.html
│ │ ├── DT_WeaponSG550.html
│ │ ├── DT_WeaponSG552.html
│ │ ├── DT_WeaponSG556.html
│ │ ├── DT_WeaponSSG08.html
│ │ ├── DT_WeaponSawedoff.html
│ │ ├── DT_WeaponScout.html
│ │ ├── DT_WeaponShield.html
│ │ ├── DT_WeaponTMP.html
│ │ ├── DT_WeaponTablet.html
│ │ ├── DT_WeaponTaser.html
│ │ ├── DT_WeaponTec9.html
│ │ ├── DT_WeaponUMP45.html
│ │ ├── DT_WeaponUSP.html
│ │ ├── DT_WeaponXM1014.html
│ │ ├── DT_WeaponZoneRepulsor.html
│ │ ├── DT_WearableItem.html
│ │ ├── DT_WorldVguiText.html
│ │ ├── DustTrail.html
│ │ ├── IBaselineUpdateEvent.html
│ │ ├── ICrosshairInfo.html
│ │ ├── IDemoEndEvent.html
│ │ ├── IDemoStartEvent.html
│ │ ├── IDemoWarningEvent.html
│ │ ├── IEntityBeforeRemoveEvent.html
│ │ ├── IEntityChangeEvent.html
│ │ ├── IEntityCreationEvent.html
│ │ ├── IEntityPropChange.html
│ │ ├── IEntityRemoveEvent.html
│ │ ├── IEventAchievementEarned.html
│ │ ├── IEventAnnouncePhaseEnd.html
│ │ ├── IEventBeginNewMatch.html
│ │ ├── IEventBombBegindefuse.html
│ │ ├── IEventBombBeginplant.html
│ │ ├── IEventBombDefused.html
│ │ ├── IEventBombDropped.html
│ │ ├── IEventBombExploded.html
│ │ ├── IEventBombPickup.html
│ │ ├── IEventBombPlanted.html
│ │ ├── IEventBotTakeover.html
│ │ ├── IEventBuytimeEnded.html
│ │ ├── IEventChoppersIncomingWarning.html
│ │ ├── IEventCsGameDisconnected.html
│ │ ├── IEventCsMatchEndRestart.html
│ │ ├── IEventCsPreRestart.html
│ │ ├── IEventCsRoundFinalBeep.html
│ │ ├── IEventCsRoundStartBeep.html
│ │ ├── IEventCsWinPanelMatch.html
│ │ ├── IEventCsWinPanelRound.html
│ │ ├── IEventDecoyDetonate.html
│ │ ├── IEventDecoyStarted.html
│ │ ├── IEventDefuserDropped.html
│ │ ├── IEventDefuserPickup.html
│ │ ├── IEventDmBonusWeaponStart.html
│ │ ├── IEventEndmatchCmmStartRevealItems.html
│ │ ├── IEventEndmatchMapvoteSelectingMap.html
│ │ ├── IEventFirstbombsIncomingWarning.html
│ │ ├── IEventFlashbangDetonate.html
│ │ ├── IEventGameNewmap.html
│ │ ├── IEventHegrenadeDetonate.html
│ │ ├── IEventHltvChat.html
│ │ ├── IEventHltvStatus.html
│ │ ├── IEventHostageHurt.html
│ │ ├── IEventHostageKilled.html
│ │ ├── IEventHostageRescued.html
│ │ ├── IEventHostageRescuedAll.html
│ │ ├── IEventInfernoExpire.html
│ │ ├── IEventInfernoStartburn.html
│ │ ├── IEventItemEquip.html
│ │ ├── IEventItemFound.html
│ │ ├── IEventItemPickup.html
│ │ ├── IEventItemRemove.html
│ │ ├── IEventItemsGifted.html
│ │ ├── IEventOtherDeath.html
│ │ ├── IEventPlayerBlind.html
│ │ ├── IEventPlayerChangename.html
│ │ ├── IEventPlayerChat.html
│ │ ├── IEventPlayerConnect.html
│ │ ├── IEventPlayerConnectFull.html
│ │ ├── IEventPlayerDeath.html
│ │ ├── IEventPlayerDisconnect.html
│ │ ├── IEventPlayerFalldamage.html
│ │ ├── IEventPlayerFootstep.html
│ │ ├── IEventPlayerHurt.html
│ │ ├── IEventPlayerInfo.html
│ │ ├── IEventPlayerJump.html
│ │ ├── IEventPlayerSpawn.html
│ │ ├── IEventPlayerTeam.html
│ │ ├── IEventRoundAnnounceFinal.html
│ │ ├── IEventRoundAnnounceLastRoundHalf.html
│ │ ├── IEventRoundAnnounceMatchPoint.html
│ │ ├── IEventRoundAnnounceMatchStart.html
│ │ ├── IEventRoundAnnounceWarmup.html
│ │ ├── IEventRoundEnd.html
│ │ ├── IEventRoundFreezeEnd.html
│ │ ├── IEventRoundMvp.html
│ │ ├── IEventRoundOfficiallyEnded.html
│ │ ├── IEventRoundPoststart.html
│ │ ├── IEventRoundPrestart.html
│ │ ├── IEventRoundStart.html
│ │ ├── IEventRoundTimeWarning.html
│ │ ├── IEventSeasoncoinLevelup.html
│ │ ├── IEventServerCvar.html
│ │ ├── IEventServerSpawn.html
│ │ ├── IEventSmokegrenadeDetonate.html
│ │ ├── IEventSmokegrenadeExpired.html
│ │ ├── IEventSurvivalParadropBreak.html
│ │ ├── IEventSurvivalParadropSpawn.html
│ │ ├── IEventTeamplayBroadcastAudio.html
│ │ ├── IEventTournamentReward.html
│ │ ├── IEventWeaponFire.html
│ │ ├── IEventWeaponFireOnEmpty.html
│ │ ├── IEventWeaponOutofammo.html
│ │ ├── IEventWeaponReload.html
│ │ ├── IEventWeaponZoom.html
│ │ ├── IFlattenedSendProp.html
│ │ ├── INonSpecificGameEventAchievementEarned.html
│ │ ├── INonSpecificGameEventAnnouncePhaseEnd.html
│ │ ├── INonSpecificGameEventBeginNewMatch.html
│ │ ├── INonSpecificGameEventBombBegindefuse.html
│ │ ├── INonSpecificGameEventBombBeginplant.html
│ │ ├── INonSpecificGameEventBombDefused.html
│ │ ├── INonSpecificGameEventBombDropped.html
│ │ ├── INonSpecificGameEventBombExploded.html
│ │ ├── INonSpecificGameEventBombPickup.html
│ │ ├── INonSpecificGameEventBombPlanted.html
│ │ ├── INonSpecificGameEventBotTakeover.html
│ │ ├── INonSpecificGameEventBuytimeEnded.html
│ │ ├── INonSpecificGameEventChoppersIncomingWarning.html
│ │ ├── INonSpecificGameEventCsGameDisconnected.html
│ │ ├── INonSpecificGameEventCsMatchEndRestart.html
│ │ ├── INonSpecificGameEventCsPreRestart.html
│ │ ├── INonSpecificGameEventCsRoundFinalBeep.html
│ │ ├── INonSpecificGameEventCsRoundStartBeep.html
│ │ ├── INonSpecificGameEventCsWinPanelMatch.html
│ │ ├── INonSpecificGameEventCsWinPanelRound.html
│ │ ├── INonSpecificGameEventDecoyDetonate.html
│ │ ├── INonSpecificGameEventDecoyStarted.html
│ │ ├── INonSpecificGameEventDefuserDropped.html
│ │ ├── INonSpecificGameEventDefuserPickup.html
│ │ ├── INonSpecificGameEventDmBonusWeaponStart.html
│ │ ├── INonSpecificGameEventEndmatchCmmStartRevealItems.html
│ │ ├── INonSpecificGameEventEndmatchMapvoteSelectingMap.html
│ │ ├── INonSpecificGameEventFirstbombsIncomingWarning.html
│ │ ├── INonSpecificGameEventFlashbangDetonate.html
│ │ ├── INonSpecificGameEventGameNewmap.html
│ │ ├── INonSpecificGameEventHegrenadeDetonate.html
│ │ ├── INonSpecificGameEventHltvChat.html
│ │ ├── INonSpecificGameEventHltvStatus.html
│ │ ├── INonSpecificGameEventHostageHurt.html
│ │ ├── INonSpecificGameEventHostageKilled.html
│ │ ├── INonSpecificGameEventHostageRescued.html
│ │ ├── INonSpecificGameEventHostageRescuedAll.html
│ │ ├── INonSpecificGameEventInfernoExpire.html
│ │ ├── INonSpecificGameEventInfernoStartburn.html
│ │ ├── INonSpecificGameEventItemEquip.html
│ │ ├── INonSpecificGameEventItemFound.html
│ │ ├── INonSpecificGameEventItemPickup.html
│ │ ├── INonSpecificGameEventItemRemove.html
│ │ ├── INonSpecificGameEventItemsGifted.html
│ │ ├── INonSpecificGameEventOtherDeath.html
│ │ ├── INonSpecificGameEventPlayerBlind.html
│ │ ├── INonSpecificGameEventPlayerChangename.html
│ │ ├── INonSpecificGameEventPlayerChat.html
│ │ ├── INonSpecificGameEventPlayerConnect.html
│ │ ├── INonSpecificGameEventPlayerConnectFull.html
│ │ ├── INonSpecificGameEventPlayerDeath.html
│ │ ├── INonSpecificGameEventPlayerDisconnect.html
│ │ ├── INonSpecificGameEventPlayerFalldamage.html
│ │ ├── INonSpecificGameEventPlayerFootstep.html
│ │ ├── INonSpecificGameEventPlayerHurt.html
│ │ ├── INonSpecificGameEventPlayerInfo.html
│ │ ├── INonSpecificGameEventPlayerJump.html
│ │ ├── INonSpecificGameEventPlayerSpawn.html
│ │ ├── INonSpecificGameEventPlayerTeam.html
│ │ ├── INonSpecificGameEventRoundAnnounceFinal.html
│ │ ├── INonSpecificGameEventRoundAnnounceLastRoundHalf.html
│ │ ├── INonSpecificGameEventRoundAnnounceMatchPoint.html
│ │ ├── INonSpecificGameEventRoundAnnounceMatchStart.html
│ │ ├── INonSpecificGameEventRoundAnnounceWarmup.html
│ │ ├── INonSpecificGameEventRoundEnd.html
│ │ ├── INonSpecificGameEventRoundFreezeEnd.html
│ │ ├── INonSpecificGameEventRoundMvp.html
│ │ ├── INonSpecificGameEventRoundOfficiallyEnded.html
│ │ ├── INonSpecificGameEventRoundPoststart.html
│ │ ├── INonSpecificGameEventRoundPrestart.html
│ │ ├── INonSpecificGameEventRoundStart.html
│ │ ├── INonSpecificGameEventRoundTimeWarning.html
│ │ ├── INonSpecificGameEventSeasoncoinLevelup.html
│ │ ├── INonSpecificGameEventServerCvar.html
│ │ ├── INonSpecificGameEventServerSpawn.html
│ │ ├── INonSpecificGameEventSmokegrenadeDetonate.html
│ │ ├── INonSpecificGameEventSmokegrenadeExpired.html
│ │ ├── INonSpecificGameEventSurvivalParadropBreak.html
│ │ ├── INonSpecificGameEventSurvivalParadropSpawn.html
│ │ ├── INonSpecificGameEventTeamplayBroadcastAudio.html
│ │ ├── INonSpecificGameEventTournamentReward.html
│ │ ├── INonSpecificGameEventWeaponFire.html
│ │ ├── INonSpecificGameEventWeaponFireOnEmpty.html
│ │ ├── INonSpecificGameEventWeaponOutofammo.html
│ │ ├── INonSpecificGameEventWeaponReload.html
│ │ ├── INonSpecificGameEventWeaponZoom.html
│ │ ├── IPlayerInfo.html
│ │ ├── IPlayerRoundStats.html
│ │ ├── IPropUpdate.html
│ │ ├── IServerClass.html
│ │ ├── IStringTable.html
│ │ ├── IStringTableEntry.html
│ │ ├── IStringTableUpdateEvent.html
│ │ ├── ITempEntEvent.html
│ │ ├── IUserCmd.html
│ │ ├── MovieExplosion.html
│ │ ├── NetworkableConstructor.html
│ │ ├── ParticleSmokeGrenade.html
│ │ ├── RocketTrail.html
│ │ ├── SmokeTrail.html
│ │ ├── SporeExplosion.html
│ │ ├── SporeTrail.html
│ │ ├── UnknownEntityProps.html
│ │ ├── Vector.html
│ │ ├── _LPT_m_AnimOverlay_15.html
│ │ ├── _LPT_m_Attributes_32.html
│ │ ├── _LPT_m_hActorList_16.html
│ │ ├── _ST_m_AnimOverlay_15.html
│ │ ├── _ST_m_Attributes_32.html
│ │ ├── _ST_m_hActorList_16.html
│ │ ├── m_DangerZones.html
│ │ ├── m_EquippedLoadoutItemDefIndices.html
│ │ ├── m_GGProgressiveWeaponKillUpgradeOrderCT.html
│ │ ├── m_GGProgressiveWeaponKillUpgradeOrderT.html
│ │ ├── m_GGProgressiveWeaponOrderCT.html
│ │ ├── m_GGProgressiveWeaponOrderT.html
│ │ ├── m_RawPanelBitVec.html
│ │ ├── m_SpawnTileState.html
│ │ ├── m_SurvivalGameRuleDecisionTypes.html
│ │ ├── m_SurvivalGameRuleDecisionValues.html
│ │ ├── m_TeamRespawnWaveTimes.html
│ │ ├── m_arrFeaturedGiftersAccounts.html
│ │ ├── m_arrFeaturedGiftersGifts.html
│ │ ├── m_arrProhibitedItemIndices.html
│ │ ├── m_arrTournamentActiveCasterAccounts.html
│ │ ├── m_bAlive.html
│ │ ├── m_bBlocked.html
│ │ ├── m_bCPIsVisible.html
│ │ ├── m_bConnected.html
│ │ ├── m_bControllingBot.html
│ │ ├── m_bFireIsBurning.html
│ │ ├── m_bHasCommunicationAbuseMute.html
│ │ ├── m_bHasDefuser.html
│ │ ├── m_bHasHelmet.html
│ │ ├── m_bHostageAlive.html
│ │ ├── m_bInMiniRound.html
│ │ ├── m_bPlayerDominated.html
│ │ ├── m_bPlayerDominatingMe.html
│ │ ├── m_bSpottedByMask.html
│ │ ├── m_bTeamCanCap.html
│ │ ├── m_bTeamReady.html
│ │ ├── m_chAreaBits.html
│ │ ├── m_chAreaPortalBits.html
│ │ ├── m_chCurrentSlideLists.html
│ │ ├── m_chPoseIndex.html
│ │ ├── m_fireXDelta.html
│ │ ├── m_fireYDelta.html
│ │ ├── m_fireZDelta.html
│ │ ├── m_flEncodedController.html
│ │ ├── m_flFrozenPerHitbox.html
│ │ ├── m_flLazyCapPerc.html
│ │ ├── m_flNextRespawnWave.html
│ │ ├── m_flPathDistance.html
│ │ ├── m_flPoseParameter.html
│ │ ├── m_flPostProcessParameters.html
│ │ ├── m_flTeamCapTime.html
│ │ ├── m_flWaveEndTimes.html
│ │ ├── m_flexWeight.html
│ │ ├── m_hAttachEntity.html
│ │ ├── m_hControlPointEnts.html
│ │ ├── m_hMyWeapons.html
│ │ ├── m_hMyWearables.html
│ │ ├── m_hProps.html
│ │ ├── m_hostageRescueX.html
│ │ ├── m_hostageRescueY.html
│ │ ├── m_hostageRescueZ.html
│ │ ├── m_iAmmo.html
│ │ ├── m_iArmor.html
│ │ ├── m_iAssists.html
│ │ ├── m_iBaseControlPoints.html
│ │ ├── m_iBotDifficulty.html
│ │ ├── m_iCappingTeam.html
│ │ ├── m_iCashSpentThisRound.html
│ │ ├── m_iCoachingTeam.html
│ │ ├── m_iCompTeammateColor.html
│ │ ├── m_iCompetitiveRankType.html
│ │ ├── m_iCompetitiveRanking.html
│ │ ├── m_iCompetitiveWins.html
│ │ ├── m_iControlPointParents.html
│ │ ├── m_iControlledByPlayer.html
│ │ ├── m_iControlledPlayer.html
│ │ ├── m_iDeaths.html
│ │ ├── m_iGunGameLevel.html
│ │ ├── m_iHealth.html
│ │ ├── m_iHostageEntityIDs.html
│ │ ├── m_iKills.html
│ │ ├── m_iLifetimeEnd.html
│ │ ├── m_iLifetimeStart.html
│ │ ├── m_iMVPs.html
│ │ ├── m_iMatchStats_3k_Total.html
│ │ ├── m_iMatchStats_4k_Total.html
│ │ ├── m_iMatchStats_5k_Total.html
│ │ ├── m_iMatchStats_Assists.html
│ │ ├── m_iMatchStats_Assists_Total.html
│ │ ├── m_iMatchStats_CashEarned.html
│ │ ├── m_iMatchStats_CashEarned_Total.html
│ │ ├── m_iMatchStats_Damage.html
│ │ ├── m_iMatchStats_Damage_Total.html
│ │ ├── m_iMatchStats_Deaths.html
│ │ ├── m_iMatchStats_Deaths_Total.html
│ │ ├── m_iMatchStats_EnemiesFlashed.html
│ │ ├── m_iMatchStats_EnemiesFlashed_Total.html
│ │ ├── m_iMatchStats_EquipmentValue.html
│ │ ├── m_iMatchStats_EquipmentValue_Total.html
│ │ ├── m_iMatchStats_HeadShotKills.html
│ │ ├── m_iMatchStats_HeadShotKills_Total.html
│ │ ├── m_iMatchStats_KillReward.html
│ │ ├── m_iMatchStats_KillReward_Total.html
│ │ ├── m_iMatchStats_Kills.html
│ │ ├── m_iMatchStats_Kills_Total.html
│ │ ├── m_iMatchStats_LiveTime.html
│ │ ├── m_iMatchStats_LiveTime_Total.html
│ │ ├── m_iMatchStats_MoneySaved.html
│ │ ├── m_iMatchStats_Objective.html
│ │ ├── m_iMatchStats_Objective_Total.html
│ │ ├── m_iMatchStats_PlayersAlive_CT.html
│ │ ├── m_iMatchStats_PlayersAlive_T.html
│ │ ├── m_iMatchStats_RoundResults.html
│ │ ├── m_iMatchStats_UtilityDamage.html
│ │ ├── m_iMatchStats_UtilityDamage_Total.html
│ │ ├── m_iNumTeamMembers.html
│ │ ├── m_iOwner.html
│ │ ├── m_iPendingTeam.html
│ │ ├── m_iPing.html
│ │ ├── m_iPlayerSpawnHexIndices.html
│ │ ├── m_iPreviousPoints.html
│ │ ├── m_iScore.html
│ │ ├── m_iServerControlPointAssignments.html
│ │ ├── m_iTeam.html
│ │ ├── m_iTeamBaseIcons.html
│ │ ├── m_iTeamIcons.html
│ │ ├── m_iTeamInZone.html
│ │ ├── m_iTeamOverlays.html
│ │ ├── m_iTeamReqCappers.html
│ │ ├── m_iTotalCashSpent.html
│ │ ├── m_iWarnOnCap.html
│ │ ├── m_iWeaponPurchasesThisMatch.html
│ │ ├── m_iWeaponPurchasesThisRound.html
│ │ ├── m_isHostageFollowingSomeone.html
│ │ ├── m_nAccountIDs.html
│ │ ├── m_nActiveCoinRank.html
│ │ ├── m_nAttachIndex.html
│ │ ├── m_nCharacterDefIndex.html
│ │ ├── m_nEndMatchMapGroupVoteOptions.html
│ │ ├── m_nEndMatchMapGroupVoteTypes.html
│ │ ├── m_nEndMatchNextMapVotes.html
│ │ ├── m_nMapId0.html
│ │ ├── m_nMapId1.html
│ │ ├── m_nMapId2.html
│ │ ├── m_nMapId3.html
│ │ ├── m_nMapId4.html
│ │ ├── m_nMapId5.html
│ │ ├── m_nMusicID.html
│ │ ├── m_nPersonaDataPublicCommendsFriendly.html
│ │ ├── m_nPersonaDataPublicCommendsLeader.html
│ │ ├── m_nPersonaDataPublicCommendsTeacher.html
│ │ ├── m_nPersonaDataPublicLevel.html
│ │ ├── m_nStartingSide0.html
│ │ ├── m_nTeamWithFirstChoice.html
│ │ ├── m_nVoteMapIdsList.html
│ │ ├── m_nVoteOptionCount.html
│ │ ├── m_passiveItems.html
│ │ ├── m_rank.html
│ │ ├── m_roundData_playerPositions.html
│ │ ├── m_roundData_playerTeams.html
│ │ ├── m_roundData_playerXuids.html
│ │ ├── m_szClan.html
│ │ ├── m_szCrosshairCodes.html
│ │ ├── m_ubSignature.html
│ │ ├── m_vServerControlPoints.html
│ │ └── m_vecPlayerPatchEconIndices.html
│ ├── modules.html
│ └── types/
│ ├── GrenadeType.html
│ ├── IDataTable.html
│ ├── INonSpecificGameEvent.html
│ ├── ISendProp.html
│ ├── InputButton.html
│ ├── ItemQuality.html
│ ├── TeamName.html
│ ├── TransmitEntities.html
│ └── WellKnownStringTable.html
├── examples/
│ ├── dumpbroadcast.ts
│ ├── dumpfile.ts
│ ├── join-leave.ts
│ ├── molotov.ts
│ ├── package.json
│ ├── paintkits.ts
│ ├── plant-site.ts
│ ├── purchases.ts
│ ├── rank.ts
│ ├── scores.ts
│ ├── tickrate.ts
│ ├── trajectory.ts
│ └── tsconfig.json
├── generate-protobufs.sh
├── index.html
├── jest.config.js
├── netprops.txt
├── package.json
├── src/
│ ├── assert-exists.ts
│ ├── consts.ts
│ ├── convars.ts
│ ├── crosshair.test.ts
│ ├── crosshair.ts
│ ├── demo.ts
│ ├── entities/
│ │ ├── baseentity.ts
│ │ ├── gamerules.ts
│ │ ├── itemdefs.ts
│ │ ├── networkable.ts
│ │ ├── player.ts
│ │ ├── projectile.ts
│ │ ├── team.ts
│ │ └── weapon.ts
│ ├── entities.ts
│ ├── entityhandle.ts
│ ├── eventtypes.ts
│ ├── ext/
│ │ └── bitbuffer.ts
│ ├── gameevent.ts
│ ├── gameevents.ts
│ ├── generators/
│ │ ├── eventtypes.ts
│ │ ├── itemdefs.ts
│ │ ├── sendtabletypes.ts
│ │ └── usermessagetypes.ts
│ ├── icekey.ts
│ ├── index.ts
│ ├── keyvalues.ts
│ ├── net.ts
│ ├── props.ts
│ ├── protobufs/
│ │ ├── base_gcmessages.proto
│ │ ├── cstrike15_gcmessages.proto
│ │ ├── cstrike15_gcmessages.ts
│ │ ├── cstrike15_usermessages.proto
│ │ ├── cstrike15_usermessages.ts
│ │ ├── econ_gcmessages.proto
│ │ ├── engine_gcmessages.proto
│ │ ├── engine_gcmessages.ts
│ │ ├── fatdemo.proto
│ │ ├── gcsdk_gcmessages.proto
│ │ ├── gcsystemmsgs.proto
│ │ ├── google/
│ │ │ └── protobuf/
│ │ │ └── descriptor.ts
│ │ ├── netmessages.proto
│ │ ├── netmessages.ts
│ │ ├── network_connection.proto
│ │ ├── steamdatagram_messages.proto
│ │ ├── steamdatagram_messages_auth.proto
│ │ ├── steamdatagram_messages_sdr.proto
│ │ ├── steammessages.proto
│ │ ├── steammessages.ts
│ │ ├── steammessages_base.proto
│ │ ├── steammessages_gamenetworkingui.proto
│ │ ├── steamnetworkingsockets_messages.proto
│ │ ├── steamnetworkingsockets_messages_certs.proto
│ │ ├── steamnetworkingsockets_messages_udp.proto
│ │ └── uifontfile_format.proto
│ ├── replaykeys.test.ts
│ ├── replaykeys.ts
│ ├── sendtabletypes.ts
│ ├── sharecode.ts
│ ├── stringtables.ts
│ ├── supplements/
│ │ ├── grenadetrajectory.ts
│ │ ├── itempurchase.ts
│ │ ├── molotovdetonate.ts
│ │ └── supplementinfo.ts
│ ├── syncdto.ts
│ ├── usermessages.ts
│ └── usermessagetypes.ts
├── tests/
│ ├── __snapshots__/
│ │ ├── broadcast.test.ts.snap
│ │ ├── chat.test.ts.snap
│ │ ├── entity-events.test.ts.snap
│ │ ├── gotv.test.ts.snap
│ │ ├── grenades.test.ts.snap
│ │ ├── in-eye.test.ts.snap
│ │ ├── itempurchase.test.ts.snap
│ │ └── usercmd.test.ts.snap
│ ├── broadcast.test.ts
│ ├── chat.test.ts
│ ├── entity-events.test.ts
│ ├── fragments/
│ │ └── sync.json
│ ├── gotv.test.ts
│ ├── grenades.test.ts
│ ├── in-eye.test.ts
│ ├── incomplete.test.ts
│ ├── itempurchase.test.ts
│ ├── usercmd.test.ts
│ └── util.ts
├── tsconfig.json
└── typings/
└── bit-buffer.d.ts
================================================
FILE CONTENTS
================================================
================================================
FILE: .devcontainer/devcontainer.json
================================================
{
"name": "demofile dev",
"extensions": ["esbenp.prettier-vscode"],
"postCreateCommand": "npm ci && bash demos/download.sh"
}
================================================
FILE: .eslintignore
================================================
src/**/*.d.ts
tests/**.ts
================================================
FILE: .eslintrc.json
================================================
{
"env": { "es6": true, "node": true },
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking",
"typestrict",
"prettier"
],
"parser": "@typescript-eslint/parser",
"parserOptions": { "project": "tsconfig.json", "sourceType": "module" },
"plugins": [
"eslint-plugin-jsdoc",
"eslint-plugin-prefer-arrow",
"eslint-plugin-import",
"sonarjs",
"@typescript-eslint"
],
"rules": {
"@typescript-eslint/adjacent-overload-signatures": "off",
"@typescript-eslint/no-empty-interface": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-inferrable-types": [
"error",
{ "ignoreParameters": true, "ignoreProperties": true }
],
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/restrict-template-expressions": "off",
"no-console": "error",
"sonarjs/no-identical-conditions": "off"
}
}
================================================
FILE: .gitattributes
================================================
* text=auto
*.sh text eol=lf
SHA256SUMS text eol=lf
================================================
FILE: .github/FUNDING.yml
================================================
github: saul
================================================
FILE: .github/ISSUE_TEMPLATE/bug.yml
================================================
name: 🐛 Bug report
description: Create a report about a problem you're having
labels: ["bug"]
body:
- type: checkboxes
id: terms
attributes:
label: Research
options:
- label: I searched but did not find an existing issue or discussion about this bug.
required: true
- type: textarea
id: description
attributes:
label: Description
description: A clear and concise description of the bug. Please include what you expected to happen.
validations:
required: true
- type: textarea
id: repro
attributes:
label: Code to reproduce
description: Please copy and paste the code that reproduces the issue above. This will be automatically formatted into code, so no need for backticks.
render: ts
- type: textarea
id: demo
attributes:
label: Affected demos
description: If applicable, please link to or attach demo files where the issue is seen. You can drag-and-drop demo files into this field.
================================================
FILE: .github/workflows/ci.yml
================================================
name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
build:
name: Build and test
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x, 16.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Upgrade NPM
run: npm install -g npm
- name: Install packages
run: npm ci
- name: Build TypeScript
run: npm run build
- name: Cache demos
id: cache-demos
uses: actions/cache@v2
with:
path: demos
key: demos-${{ hashFiles('demos/download.sh', 'demos/SHA256SUMS') }}
- name: Download demos for integration test
if: steps.cache-demos.outputs.cache-hit != 'true'
working-directory: ./demos
run: ./download.sh
- name: Run tests
run: npm test -- --coverage
- uses: actions/upload-artifact@v2
with:
name: coverage
path: coverage/
- name: Create package tarball
run: npm pack
- uses: actions/upload-artifact@v2
with:
name: package
path: "*.tgz"
- name: Test package tarball with an example demo file
working-directory: examples
run: |
npm uninstall demofile
npm install ../demofile-*.tgz
for file in *.ts; do
if [[ "$file" == 'dumpbroadcast.ts' ]]; then
continue
fi
echo "Running example: $file..."
npx ts-node "$file" ../demos/pc419-vs-chiefs-mirage.dem
done
lint:
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14.x
- name: Upgrade NPM
run: npm install -g npm
- run: npm ci
- run: npm run build
- run: npm run format:check
- run: npm run lint
deploy:
needs: [build, lint]
if: github.ref == 'refs/heads/master'
name: Deploy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 14.x
registry-url: "https://registry.npmjs.org"
- name: Upgrade NPM
run: npm install -g npm
- name: Install packages
run: npm ci
- name: Pull version from package.json
run: |
VERSION=$(jq -r '.version' package.json)
echo "Current package version: $VERSION"
echo "VERSION=$VERSION" >> $GITHUB_ENV
echo "TAG=v$VERSION" >> $GITHUB_ENV
- uses: mukunku/tag-exists-action@v1.0.0
id: checkTag
with:
tag: ${{ env.TAG }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Ensure release notes are available
if: ${{ steps.checkTag.outputs.exists == 'false' }}
run: grep -Fxq "### $VERSION (`date -u '+%Y-%m-%d'`)" RELEASE_NOTES.md || exit 1
- name: Version package and tag
if: ${{ steps.checkTag.outputs.exists == 'false' }}
run: |
git config --global user.name 'GitHub Actions'
git config --global user.email 'github-actions@users.noreply.github.com'
npm version --allow-same-version $VERSION
- name: Publish to registry
if: ${{ steps.checkTag.outputs.exists == 'false' }}
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
================================================
FILE: .github/workflows/generation.yml
================================================
name: Generation
on:
workflow_dispatch:
schedule:
# Run once a week (Sunday 00:00)
- cron: "0 0 * * 0"
jobs:
gen:
name: Regenerating types
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Cloning SteamDatabase/GameTracking-CSGO
uses: actions/checkout@v2
with:
repository: SteamDatabase/GameTracking-CSGO
path: GameTracking-CSGO
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: 16.x
- name: Upgrade NPM
run: npm install -g npm
- name: Install packages
run: npm ci
- name: Build TypeScript
run: npm run build
- name: Download recent demo from HLTV
working-directory: ./demos
run: ./download-latest.sh
- name: Generating eventtypes.ts
run: node dist/generators/eventtypes.js demos/latest.dem > src/eventtypes.ts
- name: Generating sendtabletypes.ts
run: node dist/generators/sendtabletypes.js demos/latest.dem > src/sendtabletypes.ts
- name: Generating itemdefs.ts
run: node dist/generators/itemdefs.js GameTracking-CSGO/csgo > src/entities/itemdefs.ts
- name: Compile protobufs to TypeScript
run: |
./generate-protobufs.sh
node dist/generators/usermessagetypes.js src/protobufs/cstrike15_usermessages.proto > src/usermessagetypes.ts
- name: Reformat, lint and build
run: |
npm run lint --fix
npm run format
npm run build
- name: Commit changes to master
run: |
git config --global user.name 'GitHub Actions'
git config --global user.email 'github-actions@users.noreply.github.com'
git add -A src
if git diff --name-only --cached --exit-code; then
echo "No changes to commit"
else
git commit -m "Regenerating types off latest CSGO"
git push
fi
================================================
FILE: .gitignore
================================================
.clinic/
.vscode/
.protoc/
coverage/
demos/
GameTracking-CSGO/
node_modules/
*.log
*.ignore
*.tgz
examples/*.js
*.tsbuildinfo
================================================
FILE: .prettierignore
================================================
dist/
docs/
coverage/
browser/
GameTracking-CSGO/
================================================
FILE: .prettierrc.json
================================================
{
"arrowParens": "avoid",
"trailingComma": "none",
"endOfLine": "auto"
}
================================================
FILE: CONTRIBUTING.md
================================================
# Contributing
Thanks for considering contributing to the project - as a one man project all help is appreciated.
## Bug reports
Bug reports should conform to the GitHub issue templates setup in this repository. Please fill all sections for your report - this will help for your issue to be resolved as soon as possible.
## Pull requests
For large changes, please open an issue first suggesting the enhancement for consideration. For smaller changes, feel free to begin work without discussion beforehand. Follow these steps to open a pull request:
1. Create a fork of the code.
1. Do your changes on your fork. \
Prettier will run on commit to ensure your changes conform to code style guidelines. \
Ensure your changes pass linting by running `npm run lint`.
1. Update the 'Unreleased' release notes section in [RELEASE_NOTES.md](./RELEASE_NOTES.md).
1. Open a pull request against this repo with your changes.
I will help you to get changes merged into the repo, and release them onto NPM in a new version as soon as possible.
================================================
FILE: LICENSE
================================================
The MIT License (MIT)
Copyright (c) 2015 Saul Rennison
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# demofile  
A node.js library for parsing Counter-Strike Global Offensive (CSGO) demo files.
The library is also Browserify-able, and a standalone bundle that you can `<script src="...">` is available in [browser/bundle.js](browser/bundle.js).
This library also supports streaming from [GOTV broadcasts](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Broadcast) over HTTP, with `DemoFile#parseBroadcast`.
> ⚠️ This library requires Node v14 or later.
### ❓ Need help
- First, search the ['Questions' discussion board](https://github.com/saul/demofile/discussions/categories/questions) - your question has probably already been asked.
- If not, [start a new 'Questions' discussion](https://github.com/saul/demofile/discussions/new?category=questions).
- If you think you've found a bug, [raise an issue](https://github.com/saul/demofile/issues/new/choose).
## Supported demo features
- GOTV and POV perspective fully supported
- Game events (e.g. `player_death`)
- User messages (e.g. chat messages, HUD text)
- Console variables (cvar/convars)
- Entity updates, server classes, data tables
- String tables
- Reading encrypted messages (e.g. chat in public matchmaking demos)
- Streaming from [GOTV broadcasts over HTTP](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Broadcast)
## Running the examples
Getting started is simple:
```bash
.../demofile$ npm ci
.../demofile$ cd examples
.../demofile/examples$ npm ci
```
You can now run the example scripts. Take a look in the [`examples`](https://github.com/saul/demofile/tree/master/examples) folder for some scripts to try out. Detailed descriptions of these scripts can be found below in the [Examples](#examples) section below.
If you don't have any demo files to hand, use the `demos/download.sh` Bash script to download the ones used for testing.
```bash
.../demofile/examples$ npx ts-node dumpfile.ts ../demos/pc419-vs-chiefs-mirage.dem
npx: installed 14 in 1.883s
Demo header: {
magic: 'HL2DEMO',
protocol: 4,
networkProtocol: 13753,
serverName: 'Counter-Strike: Global Offensive',
clientName: 'GOTV Demo',
mapName: 'de_mirage',
gameDirectory: 'csgo',
playbackTime: 2569.375,
playbackTicks: 328880,
playbackFrames: 164271,
signonLength: 433479
}
...
```
## Installation
### Node
```bash
npm install --save demofile
```
### Browser
```html
<script src="browser/bundle.js"></script>
```
The `DemoFile` module will be available as `window.demofile`.
## Screenshot
Using the [dumpfile example](https://github.com/saul/demofile/blob/master/examples/dumpfile.ts):

## Documentation
Auto-generated API documentation is available at [saul.github.io/demofile](https://saul.github.io/demofile).
| Class | Description |
| ----------------------------------------------------------------- | ----------------------------------- |
| [DemoFile](https://saul.github.io/demofile/classes/DemoFile.html) | Represents a demo file for parsing. |
The _DemoFile_ object has properties which point to instances of several other classes that can be used to inspect and listen to changes in the game world:
| Class | Property | Description |
| ------------------------------------------------------------------------- | ----------------------- | -------------------------------------------------------------------------------------- |
| [ConVars](https://saul.github.io/demofile/classes/ConVars.html) | `demoFile.conVars` | Manages console variables. (Only `FCVAR_NOTIFY` and `FCVAR_REPLICATED` are available.) |
| [Entities](https://saul.github.io/demofile/classes/Entities.html) | `demoFile.entities` | Represents entities and networked properties within a demo. |
| [GameEvents](https://saul.github.io/demofile/classes/GameEvents.html) | `demoFile.gameEvents` | Manages game events for a demo file. (e.g. `player_death`, `bomb_defused`) |
| [StringTables](https://saul.github.io/demofile/classes/StringTables.html) | `demoFile.stringTables` | Handles string tables for a demo file. (e.g. `userinfo`) |
| [UserMessages](https://saul.github.io/demofile/classes/UserMessages.html) | `demoFile.userMessages` | Handles user messages for a demo file. (e.g. `SayText` for in-game chat messages) |
There are several classes which allow access to different types of entities (e.g. players, items, props). These are summarised below:
| Entity | Usage | Description |
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| [Networkable](https://saul.github.io/demofile/classes/Networkable.html) | `demoFile.entities.getByHandle`<br>`demoFile.entities.entities.get(entIndex)` | Base class of all in-game entities, even non-renderable entities (e.g. `CCSTeam`). |
| [BaseEntity](https://saul.github.io/demofile/classes/BaseEntity.html) | | Base class of the vast majority of in-game entities (e.g. players, weapons, all other renderable entities). |
| [Player](https://saul.github.io/demofile/classes/Player.html) | `demoFile.entities.players`<br>`demoFile.entities.getByUserId` | Represents an in-game player. |
| [Team](https://saul.github.io/demofile/classes/Team.html) | `demoFile.entities.teams`<br>`player.team` | Represents a team (terrorists, counter-terrorists, spectators). |
| [Weapon](https://saul.github.io/demofile/classes/Weapon.html) | `demoFile.entities.weapons`<br>`player.weapon`<br>`player.weapons` | Represents an in-game weapon (guns, grenades, knifes). |
| [Projectile](https://saul.github.io/demofile/classes/Projectile.html) | | Represents a thrown grenade projectile (e.g. a flying smoke grenade). |
| [GameRules](https://saul.github.io/demofile/classes/GameRules.html) | `demoFile.gameRules` | Represents the game rules and parts of the match state (e.g. round number, is warmup) |
## API
This library provides full access to all data available in CSGO demo files. Unlike some other libraries, `demofile` is feature complete and supports the latest demos. As well as providing high-level APIs to access the state of the game, low-level access is available and is not discouraged.
Note that events are fired at the end of a tick, after all entity props and string tables have been updated.
### Examples
Various examples are available in the `examples` folder:
| Example | Description |
| ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| [`join-leave.ts`](https://github.com/saul/demofile/blob/master/examples/join-leave.ts) | Print all players that join and leave the game during the course of the demo. |
| [`molotov.ts`](https://github.com/saul/demofile/blob/master/examples/molotov.ts) | Prints the location of molotov/incendiary grenade explosions. |
| [`paintkits.ts`](https://github.com/saul/demofile/blob/master/examples/paintkits.ts) | Collects paint kits of each weapon that is used in a kill. |
| [`plant-site.ts`](https://github.com/saul/demofile/blob/master/examples/plant-site.ts) | Prints which player planted the bomb and at which site. |
| [`purchases.ts`](https://github.com/saul/demofile/blob/master/examples/purchases.ts) | Prints which items are purchased by each player. |
| [`rank.ts`](https://github.com/saul/demofile/blob/master/examples/rank.ts) | At the end of the game, prints all player ranks. |
| [`scores.ts`](https://github.com/saul/demofile/blob/master/examples/scores.ts) | Prints team scores after each round. |
| [`tickrate.ts`](https://github.com/saul/demofile/blob/master/examples/tickrate.ts) | Prints demo tick rate and duration in seconds. |
| [`trajectory.ts`](https://github.com/saul/demofile/blob/master/examples/trajectory.ts) | Prints grenade trajectories and who threw them. |
| ⚠ Advanced: [`dumpfile.ts`](https://github.com/saul/demofile/blob/master/examples/dumpfile.ts) | Advanced example of recreating coloured chat messages, round scores and the kill feed. |
#### Print kills
```js
const fs = require("fs");
const demofile = require("demofile");
const demoFile = new demofile.DemoFile();
demoFile.gameEvents.on("player_death", e => {
const victim = demoFile.entities.getByUserId(e.userid);
const victimName = victim ? victim.name : "unnamed";
// Attacker may have disconnected so be aware.
// e.g. attacker could have thrown a grenade, disconnected, then that grenade
// killed another player.
const attacker = demoFile.entities.getByUserId(e.attacker);
const attackerName = attacker ? attacker.name : "unnamed";
const headshotText = e.headshot ? " HS" : "";
console.log(`${attackerName} [${e.weapon}${headshotText}] ${victimName}`);
});
demoFile.parseStream(fs.createReadStream("test.dem"));
/* Outputs:
HS [cz75a HS] flusha
Lekr0 [ak47 HS] friberg
KRIMZ [ak47] HS
JW [mac10 HS] Mixwell
JW [hegrenade] HS
JW [mac10 HS] Magisk
*/
```
#### Print player information when it changes
```js
const fs = require("fs");
const demofile = require("demofile");
const demoFile = new demofile.DemoFile();
demoFile.stringTables.on("update", e => {
if (e.table.name === "userinfo" && e.userData != null) {
console.log("\nPlayer info updated:");
console.log(e.entryIndex, e.userData);
}
});
demoFile.parseStream(fs.createReadStream("test.dem"));
/* Outputs:
Player info updated:
0 {
xuid: Long { low: 0, high: 0, unsigned: false },
name: 'ESEA SourceTV',
userId: 2,
guid: 'BOT',
friendsId: 0,
friendsName: '',
fakePlayer: true,
isHltv: false
}
Player info updated:
1 {
xuid: Long { low: 32578248, high: 17825793, unsigned: false },
name: 'PC419 m0nt-S-',
userId: 3,
guid: 'STEAM_1:0:16289124',
friendsId: 32578248,
friendsName: '',
fakePlayer: false,
isHltv: false
}
[repeated for other players]
*/
```
### Useful links
- [CS:GO Game Events - AlliedModders Wiki](https://wiki.alliedmods.net/Counter-Strike:_Global_Offensive_Events)
## Contributing
Please read the [Contributing Guidelines](./CONTRIBUTING.md) to learn how you can help out on the project.
================================================
FILE: RELEASE_NOTES.md
================================================
## Release Notes
<!--
### Unreleased
-->
### 2.10.0 (2022-12-22)
- :sparkles: #373: Added support for streaming GOTV broadcasts over HTTP
- Upgrade packages
### 2.9.2 (2022-04-15)
- :bug: #364: Fixed incorrect C4/kevlar/assault suit equipment ID in `DemoFile#itemPurchase` event
### 2.9.1 (2022-04-06)
- :bug: #361: Fixed stream ending mid-parse when reading from a Gunzip stream
### 2.9.0 (2022-04-04)
- :sparkles: Added `DemoFile#warning` event
- Emitted when a non-fatal error occurs during parsing, e.g. when an encrypted message cannot be read
- :sparkles: The `dumpfile` example now tries to read the decryption key from a `.dem.info` file that lives alongside the `.dem` file
- :bug: 15-byte encryption keys are now correctly padded to 16 bytes
### 2.8.0 (2022-03-27)
- :sparkles: Added `DemoFile#molotovDetonate` event
- :sparkles: Added `DemoFile#grenadeTrajectory` event
- :sparkles: Added `DemoFile#itemPurchase` event
- :bug: Fixed some entities not having the right class (e.g. incendiary grenades). \
This could manifest as `Player#weapons` not containing all items owned by the player.
- :zap: `DemoFile#currentTick` is now `-1` before parsing begins
### 2.7.1 (2022-03-23)
- :bug: Fixed `EntityHandle#isValid` always returning `true`
### 2.7.0 (2022-02-27)
- :sparkles: Added `paintKit` annotation to `player_death` game event
- :bug: `Entities#getByUserId` et al returning invalid data when passed IDs of disconnected players
- :bug: `Entities#players` sometimes returning players that are not fully connected
- :bug: `Player#position` returning the incorrect position for non-local players in POV demos
- :sparkles: Added `Player#isRecordingDemo` - true if this player is recording the demo from their POV
- :sparkles: Added `oldUserData` to the string table update event
- :zap: Deprecated `DemoFile#playerSlot` - splitscreen slot is unused for PC games
### 2.6.0 (2022-02-27)
- :bug: Fixed reliable temporary entities not triggering the `tempents` event
### 2.5.0 (2022-02-13)
- :sparkles: #19: Support streaming demos
### 2.4.0 (2022-01-09)
- :sparkles: Added `Entities#getByAccountId` to get player entities by Steam account ID
- :sparkles: Added `Entities#getBySteam64Id` to get player entities by 64-bit Steam ID
- :sparkles: Added more annotations to game events:
- `item_equip`: added `itemDefinition: IItemDefinition`
- `item_pickup`: added `itemDefinition: IItemDefinition`
- `item_remove`: added `itemDefinition: IItemDefinition`
- `items_gifted`: added `entity: Player`
- `other_death`: added `itemDefinition: IItemDefinition | null`, `originalOwner: Player | null`
- `player_death`: added `itemDefinition: IItemDefinition | null`, `originalOwner: Player | null`
- `tournament_reward`: added `itemDefinition: IItemDefinition`, `entity: Player`
- :zap: Added `Networkable#toJSON` that serialises the entity as a string. Example: `#123(CCSPlayer)` \
Prior to this change, serialising `Networkable` objects would result in a TypeError due to a circular reference.
### 2.3.0 (2022-01-09)
- :zap: Incorporate latest CSGO protobufs
- :zap: Improved performance of `Entities#getByUserId`
- :sparkles: Added various annotations to game events. \
This will reduce friction when converting user IDs/entity indexes to actual entities.
- `bomb_begindefuse`: added `player: Player`
- `bomb_beginplant`: added `player: Player`
- `bomb_defused`: added `player: Player`
- `bomb_dropped`: added `player: Player`, `entity: BaseEntity<CC4>`
- `bomb_exploded`: added `player: Player`
- `bomb_pickup`: added `player: Player`
- `bomb_planted`: added `player: Player`
- `bot_takeover`: added `player: Player`, `bot: Player`
- `cs_win_panel_round`: added `player: Player`
- `decoy_detonate`: added `player: Player`, `entity: BaseEntity<CDecoyProjectile>`
- `decoy_started`: added `player: Player`, `entity: BaseEntity<CDecoyProjectile>`
- `defuser_dropped`: added `entity: BaseEntity`
- `defuser_pickup`: added `entity: BaseEntity`, `player: Player`
- `flashbang_detonate`: added `player: Player`, `entity: BaseEntity<CBaseCSGrenadeProjectile>`
- `hostage_hurt`: added `player: Player`, `entity: BaseEntity<CHostage>`
- `hostage_killed`: added `player: Player`, `entity: BaseEntity<CHostage>`
- `hostage_rescued`: added `player: Player`, `entity: BaseEntity<CHostage>`
- `inferno_expire`: added `entity: BaseEntity<CInferno>`
- `inferno_startburn`: added `entity: BaseEntity<CInferno>`
- `item_equip`: added `player: Player`
- `item_pickup`: added `player: Player`
- `item_remove`: added `player: Player`
- `other_death`: added `victim: BaseEntity`, `attackerEntity: Player`
- `player_blind`: added `player: Player`, `attackerEntity: Player`, `entity: BaseEntity<CBaseCSGrenadeProjectile>`
- `player_changename`: added `player: Player`
- `player_chat`: added `player: Player`
- `player_connect_full`: added `player: Player`
- `player_death`: added `player: Player`, `attackerEntity: Player`, `assisterEntity: BaseEntity`
- `player_disconnect`: added `player: Player`
- `player_falldamage`: added `player: Player`
- `player_footstep`: added `player: Player`
- `player_hurt`: added `player: Player`, `attackerEntity: Player`
- `player_info`: added `player: Player`
- `player_jump`: added `player: Player`
- `player_spawn`: added `player: Player`
- `player_team`: added `player: Player`
- `round_mvp`: added `player: Player`
- `smokegrenade_detonate`: added `player: Player`, `entity: BaseEntity<CSmokeGrenadeProjectile>`
- `smokegrenade_expired`: added `player: Player`, `entity: BaseEntity<CSmokeGrenadeProjectile>`
- `weapon_fire`: added `player: Player`
- `weapon_fire_on_empty`: added `player: Player`
- `weapon_outofammo`: added `player: Player`
- `weapon_reload`: added `player: Player`
- `weapon_zoom`: added `player: Player`
### 2.2.0 (2021-09-28)
- :sparkles: #322: Support encrypted data (e.g. chat from public matchmaking)
- :zap: Incorporate latest CSGO protobufs and item data
### 2.1.0 (2021-05-09)
- :zap: #295: Emit `Entities#create` and `Entities#postcreate` at the same time. (`Entities#postcreate` is now deprecated.)
### 2.0.0 (2021-04-05)
- :zap: Incorporate latest CSGO protobufs
### 2.0.0-beta.4 (2021-01-10)
- :sparkles: Add `Weapon#quality` to represent an item's quality
- :sparkles: Add `cancel` method to `DemoFile#start` event to cancel any further parsing.
### 2.0.0-beta.3 (2021-01-10)
- :sparkles: #164: Add CUserCmd parsing on in-eye/perspective demos
### 2.0.0-beta.2 (2021-01-10)
- :sparkles: Updated protobuf definitions
- :zap: Setup protobufs to automatically regenerate every week
- :zap: Migrated to use [ts-proto](https://github.com/stephenh/ts-proto)
### 2.0.0-beta.1 (2021-01-09)
- :sparkles: #72: Added full support for in-eye/perspective demos
- :sparkles: Added `Networkable#isDormant`: `true` if entity is outside of PVS (and so is not updated)
- :bug: Fixed unnecessary entity deletion/recreation events
- :zap: `Entities#change` now batches all changes for a given entity into a single event
- :zap: `Entities#entities` is now a `Map<entity index, Networkable>` instead of a sparse array
- :zap: `Entities#instanceBaselines` renamed to `Entities#staticBaselines`
- :zap: Removed dependency on `lodash`
### 1.9.0 (2021-01-02)
- :bug: #154: Fixed TypeScript compilation errors
- :zap: Updated type definitions
### 1.8.0 (2020-11-01)
- :sparkles: #187: Add `Player#crosshairInfo` for grabbing player crosshair settings
- :zap: Only generate type definitions for events that are logged to GOTV demos
### 1.7.2 (2020-10-15)
- :zap: Upgrade to TypeScript 3.9.7
- :zap: Setup continuous delivery pipeline
### 1.6.0 (2020-10-13)
- :bug: #172: Don't report `RangeError` exceptions as errors when demo file has not been recorded completely
### 1.5.1 (2020-10-09)
- :zap: #170: Cache `Player#steamId64` result (thanks @thecatontheflat)
### 1.5.0 (2020-06-18)
- :zap: #156: Added `error` event to demofile when parsing fails
- :zap: #156: Don't emit `tickend` on error
### 1.4.0 (2020-06-15)
- :sparkles: #152: Updated event definitions
- :sparkles: #148: Added `Player#isControllingBot` (thanks @akiver)
- :bug: #147: Fix `Team#members` returning null players (thanks @akiver)
- :bug: #154: Fix `EventEmitter` TypeScript compilation error
### 1.3.1 (2020-03-03)
- :sparkles: Update item definitions
### 1.3.0 (2020-02-09)
- :sparkles: #128: Add `Weapon#clipAmmo`, `Weapon#reserveAmmo` and `Weapon#ownerAmmo`
### 1.2.0 (2020-02-08)
- :bug: #65: Fixed tick/time calculations on demos with incomplete headers
### 1.1.1 (2019-11-06)
- :bug: Fix .js protobuf files not being compiled
### 1.1.0 (2019-11-06)
- :sparkles: #115: TypeScript definitions are now available (thanks to @akiver)
### 1.0.7 (2019-10-23)
- :sparkles: #122: Update item definitions
### 1.0.6 (2019-03-23)
- :zap: #112: Removed reference to `ts-assert-exists`
### 1.0.5 (2019-03-20)
- :zap: #112: Moved some package dependencies to be devDependencies (thanks @razor-x)
### 1.0.4 (2019-02-19)
- :bug: #106: Fixed _Cannot read property 'm_iPrimaryAmmoType' of undefined_
### 1.0.3 (2019-02-19)
- :zap: Add source maps to dist `.js` files
### 1.0.2 (2019-01-13)
- :bug: #101: Fixed player resource indexing one-off error
### 1.0.1 (2019-01-07)
- :bug: #98: Fixed Steam 64 IDs being invalid
### 1.0.0 (2019-01-06)
- :zap: Removed `process.emitWarning` on parsing error. Use `IDemoEndEvent#error` instead.
- :bug: #95: Fixed array decoding bug which made demos made after the Danger Zone update unparseable (thanks @JeffreyLimbacher)
### 1.0.0-beta.1 (2018-10-21)
- :sparkles: #56: **Ported to TypeScript**!
- :sparkles: Added `Networkable` type, which is the new base class of all entities
- :sparkles: `BaseEntity` is now only the base class of renderable entities
- :zap: Removed `BaseEntity#velocity`
- :zap: User messages are now listened without the 'CS_UM\_' prefix
- :zap: String tables are now no longer initialised to their maximum size, instead they grow as needed
- :bug: #86: Fixed `Cannot read property 'messageToObject' of undefined` on some game events
- :bug: Fixed error when trying to parse svc_EntityMsg messages
### 0.4.20 (2018-08-24)
- :bug: Fixed #80, #78: Resource properties returning `undefined`
### 0.4.19 (2018-08-24)
- :sparkles: Added `DemoFile#tickRate`
- :sparkles: Added support for MP5SD (thanks @thorebear)
### 0.4.18 (2018-05-14)
- :sparkles: Added `BaseEntity#handle`
- :sparkles: Added `BaseEntity#modelName` - Name of the model that should be rendered for this entity. (e.g. 'models/Weapons/w_eq_smokegrenade_thrown.mdl')
### 0.4.17 (2018-04-29)
- :sparkles: Added `BaseEntity#velocity`, `BaseEntity#speed`.
- :sparkles: Improved `dumpfile.js` example to be more through.
- :zap: #69: `Player#allSpotters` and `Player#allSpotted` now only returns alive players.
### 0.4.16 (2018-03-22)
- :zap: #62: Fix entity position calculation. Use cell coordinates to determine entity positions.
### 0.4.15 (2018-03-10)
- :zap: #58: Entities are now removed at `tickend`, after events are fired. This means the grenade entity can be accessed in flashbang_detonate and decoy_detonate.
### 0.4.14 (2018-02-26)
- :sparkles: Added `Entities#weapons` (thanks @thorebear)
### 0.4.13 (2018-02-26)
- :sparkles: Added `Player#matchStats` to represent player performance on a per-round basis
### 0.4.12 (2018-02-02)
- :sparkles: #11: Fixed malformed demos resulting in an exception. Added `error` property to the `DemoFile#end` event
- :zap: #52: `GameRules#roundNumber` has been renamed to `GameRules#roundsPlayed` - the old name is available for backwards compatibility
### 0.4.11 (2017-12-20)
- :bug: #43: Fixed parsing of string tables updates for tables with fixed userdata sizes
### 0.4.10 (2017-12-08)
- :sparkles: Added `Player#cashSpendTotal` and `Player#cashSpendThisRound`
### 0.4.9 (2017-10-05)
- :bug: #31: Fixed `DemoFile#currentTime` returning the wrong game time
### 0.4.8 (2017-05-08)
- :bug: #11: Fixed parse error when a 'stop' command is missing from the demo file
### 0.4.7 (2017-05-08)
- :sparkles: Added `Weapon` entity class to represent in-game items (thanks @pedrofornaza)
### 0.4.6 (2017-04-22)
- :sparkles: Added `Player#score`, `Player#mvps` and `Player#clanTag` (thanks @derpalmer)
### 0.4.5 (2017-04-15)
- :bug: Fix exception when calling `DemoFile#cancel` (thanks @derpalmer)
### 0.4.4 (2017-03-21)
- :bug: Revert accidental bit-buffer upgrade
### 0.4.2 (2017-03-20)
- :sparkles: Added `Player#steam64Id` for easy access to Steam64 ID (thanks @derpalmer)
### 0.4.1 (2017-02-23)
- :bug: Fixed exception in `Player#isAlive`
### 0.4.0 (2017-02-05)
Major update
- Added new `Player`, `Team` and `GameRules` entities
- Added `DemoFile#conVars` for accessing console variables and listening for changes
- Updated `dumpfile.js` example to be more representative of real-world usage
### 0.3.1 (2017-01-30)
- :bug: Fixed `Entity#getProp` exception when a prop is updated that is not part of the entity baseline
### 0.3 (2016-11-16)
Major update
- The library now support Browserify and the compiled bundle can be included in web browsers
- Added DemoFile#progress event that indicates what percentage of the demo file has been parsed
- Removed dependency on the `pace` library
### 0.2.11 (2016-10-16)
- :sparkles: Added entities `isHandleSet` to determine if a networked entity handle is set (the game uses `(1 << 21) - 1` to mean empty)
### 0.2.10 (2016-10-11)
- :sparkles: Added entities `getByHandle` to find an entity from a given networked entity handle (e.g., from m_hMyWeapons)
### 0.2.9 (2016-09-12)
- :sparkles: Added entities `baselineupdate` event which is fired whenever the `instancebaseline` string table is updated with new properties.
### 0.2.8 (2016-08-30)
- :sparkles: The `dem_StringTables` command, which holds additional string table data on client-side recorded demos, is now parsed
- :zap: String table `postcreate` is now fired after `svc_CreateStringTable` and `dem_StringTables` are parsed
### 0.2.7 (2016-08-23)
- :sparkles: Added entities `datatablesready` event which is fired when data tables have been parsed.
### 0.2.6 (2016-08-23)
- :sparkles: Added entity `postcreate` event which is fired after an entity has been created and all of its properties parsed.
### 0.2.5 (2016-07-08)
- :sparkles: Added string table `postcreate` event which is fired after a new stringtable's entries have been populated
### 0.2.4 (2016-07-08)
- :bug: Fixed retrieving properties on entities whose server class has no instance baseline
### 0.2.3 (2016-07-03)
- :sparkles: Instance baselines are now parsed and used by `Entity#getProp`
### 0.2.2 (2016-07-03)
- :bug: Fixed stringtable updates affecting all entries in the table
### 0.2.1 (2016-03-25)
- :card_index: Removed `node-protobuf` un-used dependency
### 0.2.0 (2016-01-30)
- :zap: Each tick is now parsed on a separate process tick.
- :zap: Game event callbacks are now fired at the end of the tick.
- :bug: Fixed Vector props decoding to `undefined`.
### 0.1.0 (2016-01-18)
- :tada: Initial release.
================================================
FILE: browser/app.js
================================================
window.Buffer = require("buffer").Buffer;
window.demofile = require("../dist/demo");
================================================
FILE: browser/bundle.js
================================================
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
window.Buffer = require("buffer").Buffer;
window.demofile = require("../dist/demo");
},{"../dist/demo":6,"buffer":81}],2:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
function assertExists(value, message) {
if (value == null)
throw new Error(message || "expected non-null value");
return value;
}
exports.default = assertExists;
},{}],3:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SND_STOP = exports.INVALID_NETWORKED_EHANDLE_VALUE = exports.MAX_USERDATA_BITS = exports.SUBSTRING_BITS = exports.MAX_CUSTOM_FILES = exports.SIGNED_GUID_LEN = exports.MAX_PLAYER_NAME_LENGTH = exports.MAX_SPLITSCREEN_CLIENTS = exports.MAX_OSPATH = exports.NUM_NETWORKED_EHANDLE_BITS = exports.NUM_NETWORKED_EHANDLE_SERIAL_NUMBER_BITS = exports.NETWORKED_EHANDLE_ENT_ENTRY_MASK = exports.MAX_EDICTS = exports.MAX_EDICT_BITS = void 0;
exports.MAX_EDICT_BITS = 11;
exports.MAX_EDICTS = 1 << exports.MAX_EDICT_BITS;
exports.NETWORKED_EHANDLE_ENT_ENTRY_MASK = exports.MAX_EDICTS - 1;
exports.NUM_NETWORKED_EHANDLE_SERIAL_NUMBER_BITS = 10;
exports.NUM_NETWORKED_EHANDLE_BITS = exports.MAX_EDICT_BITS + exports.NUM_NETWORKED_EHANDLE_SERIAL_NUMBER_BITS;
exports.MAX_OSPATH = 260;
exports.MAX_SPLITSCREEN_CLIENTS = 260;
exports.MAX_PLAYER_NAME_LENGTH = 128;
exports.SIGNED_GUID_LEN = 32;
exports.MAX_CUSTOM_FILES = 4;
exports.SUBSTRING_BITS = 5;
exports.MAX_USERDATA_BITS = 14;
exports.INVALID_NETWORKED_EHANDLE_VALUE = (1 << exports.NUM_NETWORKED_EHANDLE_BITS) - 1;
exports.SND_STOP = 1 << 2;
},{}],4:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConVars = void 0;
const events_1 = require("events");
/**
* Manages console variables.
*/
class ConVars extends events_1.EventEmitter {
constructor() {
super(...arguments);
this.vars = new Map();
}
listen(demo) {
demo.on("net_SetConVar", (msg) => {
const convars = msg.convars;
if (!convars)
return;
for (const cvar of convars.cvars) {
const oldValue = this.vars.get(cvar.name);
this.vars.set(cvar.name, cvar.value);
const args = {
name: cvar.name,
value: cvar.value,
oldValue
};
this.emit(cvar.name, args);
this.emit("change", args);
}
});
}
}
exports.ConVars = ConVars;
},{"events":84}],5:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.decodeCrosshairCode = exports.CrosshairStyle = void 0;
const sharecode_1 = require("./sharecode");
var CrosshairStyle;
(function (CrosshairStyle) {
CrosshairStyle[CrosshairStyle["Default"] = 0] = "Default";
CrosshairStyle[CrosshairStyle["DefaultStatic"] = 1] = "DefaultStatic";
CrosshairStyle[CrosshairStyle["Classic"] = 2] = "Classic";
CrosshairStyle[CrosshairStyle["ClassicDynamic"] = 3] = "ClassicDynamic";
CrosshairStyle[CrosshairStyle["ClassicStatic"] = 4] = "ClassicStatic";
})(CrosshairStyle = exports.CrosshairStyle || (exports.CrosshairStyle = {}));
function decodeCrosshairCode(shareCode) {
function signed(byte) {
return byte > 127 ? -(~byte & 0xff) - 1 : byte;
}
const bytes = (0, sharecode_1.decodeShareCode)(shareCode);
if (bytes[1] !== bytes.slice(2).reduce((x, y) => x + y) % 256) {
throw new Error("invalid crosshair code");
}
return {
outline: bytes[4] / 2,
red: bytes[5],
green: bytes[6],
blue: bytes[7],
alpha: bytes[8],
splitDistance: bytes[9],
innerSplitAlpha: (bytes[11] >> 4) / 10,
hasOutline: !!(bytes[11] & 8),
outerSplitAlpha: (bytes[12] & 0xf) / 10,
splitSizeRatio: (bytes[12] >> 4) / 10,
thickness: bytes[13] / 10,
length: bytes[15] / 10,
gap: signed(bytes[3]) / 10,
hasCenterDot: !!((bytes[14] >> 4) & 1),
hasAlpha: !!((bytes[14] >> 4) & 4),
isTStyle: !!((bytes[14] >> 4) & 8),
style: CrosshairStyle[(bytes[14] & 0xf) >> 1]
};
}
exports.decodeCrosshairCode = decodeCrosshairCode;
},{"./sharecode":28}],6:[function(require,module,exports){
(function (Buffer){(function (){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DemoFile = exports.parseHeader = void 0;
const events_1 = require("events");
const timers = require("timers");
const url_1 = require("url");
const https = require("https");
const ByteBuffer = require("bytebuffer");
const bitbuffer_1 = require("./ext/bitbuffer");
const assert = require("assert");
const consts_1 = require("./consts");
const convars_1 = require("./convars");
const entities_1 = require("./entities");
const gameevents_1 = require("./gameevents");
const icekey_1 = require("./icekey");
const net = require("./net");
const stringtables_1 = require("./stringtables");
const usermessages_1 = require("./usermessages");
const assert_exists_1 = require("./assert-exists");
const grenadetrajectory_1 = require("./supplements/grenadetrajectory");
const molotovdetonate_1 = require("./supplements/molotovdetonate");
const itempurchase_1 = require("./supplements/itempurchase");
function httpGet(url) {
return new Promise((resolve, reject) => {
https
.request(url, res => {
const chunks = [];
res.on("data", chunk => {
chunks.push(chunk);
});
res.on("end", () => {
if (res.statusCode == 200) {
resolve(Buffer.concat(chunks));
}
else {
reject(`request '${url}' failed: ${res.statusCode} (${res.statusMessage})`);
}
});
})
.end();
});
}
function parseHeaderBytebuf(bytebuf) {
return {
magic: bytebuf.readString(8, ByteBuffer.METRICS_BYTES).split("\0", 2)[0],
protocol: bytebuf.readInt32(),
networkProtocol: bytebuf.readInt32(),
serverName: bytebuf
.readString(consts_1.MAX_OSPATH, ByteBuffer.METRICS_BYTES)
.split("\0", 2)[0],
clientName: bytebuf
.readString(consts_1.MAX_OSPATH, ByteBuffer.METRICS_BYTES)
.split("\0", 2)[0],
mapName: bytebuf
.readString(consts_1.MAX_OSPATH, ByteBuffer.METRICS_BYTES)
.split("\0", 2)[0],
gameDirectory: bytebuf
.readString(consts_1.MAX_OSPATH, ByteBuffer.METRICS_BYTES)
.split("\0", 2)[0],
playbackTime: bytebuf.readFloat(),
playbackTicks: bytebuf.readInt32(),
playbackFrames: bytebuf.readInt32(),
signonLength: bytebuf.readInt32()
};
}
/**
* Parses a demo file header from the buffer.
* @param {ArrayBuffer} buffer - Buffer of the demo header
* @returns {IDemoHeader} Header object
*/
function parseHeader(buffer) {
const bytebuf = ByteBuffer.wrap(buffer, true);
return parseHeaderBytebuf(bytebuf);
}
exports.parseHeader = parseHeader;
/**
* Represents a demo file for parsing.
*/
class DemoFile extends events_1.EventEmitter {
/**
* Starts parsing buffer as a demo file.
*
* @fires DemoFile#tickstart
* @fires DemoFile#tickend
* @fires DemoFile#end
*
* @param {ArrayBuffer} buffer - Buffer pointing to start of demo header
*/
constructor() {
super();
/**
* When parsing, set to current tick.
*/
this.currentTick = -1;
/**
* Number of seconds per tick
*/
this.tickInterval = NaN;
/**
* When parsing, set to the splitscreen slot for the current command.
* @deprecated Splitscreen slot is unused for PC games.
*/
this.playerSlot = 0;
/**
* Set to the client slot of the recording player.
* Always null for GOTV demos.
*/
this.recordingClientSlot = null;
this._chunks = [];
this._lastThreadYieldTime = 0;
this._immediateTimerToken = null;
this._timeoutTimerToken = null;
this._encryptionKey = null;
this._hasEnded = false;
this._isBroadcastFragment = false;
this._supplementEvents = [
grenadetrajectory_1.default,
molotovdetonate_1.default,
itempurchase_1.default
];
this._supplementCleanupFns = new Map();
this.entities = new entities_1.Entities();
this.gameEvents = new gameevents_1.GameEvents();
this.stringTables = new stringtables_1.StringTables();
this.userMessages = new usermessages_1.UserMessages();
this.conVars = new convars_1.ConVars();
this.gameEvents.listen(this);
// It is important that entities listens after game events, as they both listen on
// tickend.
this.entities.listen(this);
this.stringTables.listen(this);
this.userMessages.listen(this);
this.conVars.listen(this);
// #65: Some demos are missing playbackTicks from the header
// Pull the tick interval from ServerInfo
this.on("svc_ServerInfo", msg => {
this.tickInterval = msg.tickInterval;
});
this.on("svc_EncryptedData", msg => {
if (!this._handleEncryptedData(msg)) {
// Some demos appear to have the encryption key recorded
// incorrectly in the .dem.info file. Don't throw an error
// if we can't decode it correctly.
// The game client silently skips bad encrypted messages.
// See https://github.com/saul/demofile/issues/322#issuecomment-1085776379
this.emit("warning", { message: "Unable to read encrypted message" });
}
});
this.on("newListener", (event) => {
// If we already have listeners for this event, nothing to do
if (this.listenerCount(event) > 0)
return;
const supplement = this._findSupplement(event);
if (supplement == null)
return;
const cleanupFn = supplement.setup(this);
this._supplementCleanupFns.set(supplement, cleanupFn);
});
this.on("removeListener", (event) => {
// If there are still listeners for this event, early out
if (this.listenerCount(event) > 0)
return;
const supplement = this._findSupplement(event);
if (supplement == null)
return;
// Don't cleanup if there are listeners on other emits that this supplement emits
const existingListenerCount = supplement.emits.reduce((prev, name) => prev + this.listenerCount(name), 0);
if (existingListenerCount > 0)
return;
const cleanupFn = (0, assert_exists_1.default)(this._supplementCleanupFns.get(supplement));
cleanupFn();
this._supplementCleanupFns.delete(supplement);
});
}
/**
* @returns Number of ticks per second
*/
get tickRate() {
return 1.0 / this.tickInterval;
}
/**
* @returns Number of seconds elapsed
*/
get currentTime() {
return this.currentTick * this.tickInterval;
}
/**
* Shortcut for `this.entities.players`
* @returns All connected player entities
*/
get players() {
return this.entities.players;
}
/**
* Shortcut for `this.entities.teams`
* @returns All team entities
*/
get teams() {
return this.entities.teams;
}
/**
* Shortcut for `this.entities.gameRules`
* @returns GameRules entity
*/
get gameRules() {
return this.entities.gameRules;
}
_findSupplement(eventName) {
for (const supplement of this._supplementEvents) {
if (supplement.emits.indexOf(eventName) >= 0)
return supplement;
}
return null;
}
/**
* Start streaming a GOTV broadcast over HTTP.
* Will keep streaming until the broadcast finishes.
*
* @param url URL to the GOTV broadcast.
* @returns Promise that resolves then the broadcast finishes.
*/
async parseBroadcast(url) {
if (!url.endsWith("/"))
url += "/";
// Some packets are formatted slightly differently in
// broadcast fragments compared to a normal demo file.
this._isBroadcastFragment = true;
const syncUrl = new url_1.URL("sync", url).toString();
const syncResponse = await httpGet(syncUrl);
const syncDto = JSON.parse(syncResponse.toString());
if (syncDto.protocol !== 4) {
throw new Error(`expected protocol version 4, got: ${syncDto.protocol}`);
}
if (syncDto.token_redirect != null) {
url = new url_1.URL(syncDto.token_redirect, url).toString();
if (!url.endsWith("/"))
url += "/";
}
this.header = {
magic: "HL2DEMO",
protocol: syncDto.protocol,
networkProtocol: 0,
serverName: `GOTV Broadcast: ${url}`,
clientName: "GOTV Demo",
mapName: syncDto.map,
gameDirectory: "csgo",
playbackTime: 0,
playbackTicks: 0,
playbackFrames: 0,
signonLength: 0
};
this.tickInterval = 1 / syncDto.tps;
let cancelled = false;
this.emit("start", {
cancel() {
cancelled = true;
}
});
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
if (cancelled) {
return;
}
const startUrl = new url_1.URL(`${syncDto.signup_fragment | 0}/start`, url).toString();
const startResponse = await httpGet(startUrl);
// Read the signon fragment
this._bytebuf = ByteBuffer.wrap(startResponse, true);
while (this._bytebuf.remaining() > 0) {
this._readCommand();
}
// Keep reading fragments until we run out
let fragment = syncDto.fragment | 0;
let fragmentType = "full";
while (!this._hasEnded) {
const fragmentUrl = new url_1.URL(`${fragment}/${fragmentType}`, url).toString();
let fragmentResponse;
try {
fragmentResponse = await httpGet(fragmentUrl);
}
catch {
// HTTP 404 errors are expected - each fragment only lasts for a few seconds.
// Wait for 1-2 secs before retrying to avoid spamming the relay.
await new Promise(resolve => setTimeout(resolve, 1000 + Math.random() * 1000));
continue;
}
// We need to request {fragment}/full + {fragment}/delta
if (fragmentType == "full") {
fragmentType = "delta";
}
else {
fragment += 1;
}
this._bytebuf = ByteBuffer.wrap(fragmentResponse, true);
while (this._bytebuf.remaining() > 0) {
this._readCommand();
}
}
}
parseStream(stream) {
this._hasEnded = false;
const onReceiveChunk = (chunk) => {
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
if (this._bytebuf == null) {
this._bytebuf = ByteBuffer.wrap(chunk, true);
}
else {
this._chunks.push(chunk);
}
};
const readPacketChunk = () => {
try {
// Keep reading until we can't read any more
while (this._bytebuf.remaining() > 0 || this._chunks.length > 0) {
this._bytebuf.mark();
this._readCommand();
}
}
catch (e) {
if (e instanceof RangeError) {
// Reset the byte buffer to the start of the last command
this._bytebuf.offset = Math.max(0, this._bytebuf.markedOffset);
}
else {
stream.off("data", onReceiveChunk);
const error = e instanceof Error
? e
: new Error(`Exception during parsing: ${e}`);
this._emitEnd({ error, incomplete: false });
}
}
};
const readHeaderChunk = () => {
// Wait for enough bytes for us to read the header
if (!this._tryEnsureRemaining(1072))
return;
// Once we've read the header, remove this handler
stream.off("data", readHeaderChunk);
const cancelled = this._parseHeader();
if (!cancelled)
stream.on("data", readPacketChunk);
};
stream.on("data", onReceiveChunk);
stream.on("data", readHeaderChunk);
stream.on("error", e => {
stream.off("data", onReceiveChunk);
this._emitEnd({ error: e, incomplete: false });
});
stream.on("end", () => {
var _a;
const fullyConsumed =
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
((_a = this._bytebuf) === null || _a === void 0 ? void 0 : _a.remaining()) === 0 && this._chunks.length === 0;
if (fullyConsumed)
return;
this._emitEnd({ incomplete: true });
});
}
parse(buffer) {
this._hasEnded = false;
this._bytebuf = ByteBuffer.wrap(buffer, true);
const cancelled = this._parseHeader();
if (!cancelled)
timers.setTimeout(this._parseRecurse.bind(this), 0);
}
/**
* Cancel the current parse operation.
*/
cancel() {
if (this._immediateTimerToken) {
timers.clearImmediate(this._immediateTimerToken);
this._immediateTimerToken = null;
}
if (this._timeoutTimerToken) {
timers.clearTimeout(this._timeoutTimerToken);
this._timeoutTimerToken = null;
}
}
/**
* Set encryption key for decrypting `svc_EncryptedData` packets.
* This allows decryption of messages from public matchmaking, like
* chat messages and caster voice data.
*
* The key can be extracted from `match730_*.dem.info` files with `extractPublicEncryptionKey`.
*
* @param publicKey Public encryption key.
*/
setEncryptionKey(publicKey) {
if (publicKey != null && publicKey.length !== 16) {
throw new Error(`Public key must be 16 bytes long, got ${publicKey.length} bytes instead`);
}
this._encryptionKey = publicKey;
}
_emitEnd(e) {
if (this._hasEnded)
return;
if (e.error) {
this.emit("error", e.error);
}
this.emit("end", e);
this._hasEnded = true;
}
_parseHeader() {
this.header = parseHeaderBytebuf(this._bytebuf);
// #65: Some demos are missing playbackTicks from the header
if (this.header.playbackTicks > 0) {
this.tickInterval = this.header.playbackTime / this.header.playbackTicks;
}
// If this is a POV demo, try to figure out who the recording player is
if (this.header.clientName !== "GOTV Demo") {
this.stringTables.on("update", this._handleStringTableUpdate.bind(this));
}
let cancelled = false;
this.emit("start", {
cancel: () => {
cancelled = true;
}
});
return cancelled;
}
_readIBytes() {
this._ensureRemaining(4);
const length = this._bytebuf.readInt32();
this._ensureRemaining(length);
return this._bytebuf.readBytes(length);
}
_handleEncryptedData(msg) {
if (msg.keyType !== 2 || this._encryptionKey == null)
return true;
const key = new icekey_1.IceKey(2);
key.set(this._encryptionKey);
assert(msg.encrypted.length % key.blockSize() === 0);
const plainText = new Uint8Array(msg.encrypted.length);
key.decryptUint8Array(msg.encrypted, plainText);
// Create a ByteBuffer skipped past the padding
const buf = ByteBuffer.wrap(plainText, true);
const paddingBytes = buf.readUint8();
if (paddingBytes + 4 > buf.remaining())
return false;
buf.skip(paddingBytes);
// For some reason, the size is encoded as an int32, then as a varint32
buf.BE();
const bytesWritten = buf.readInt32();
buf.LE();
if (buf.remaining() !== bytesWritten)
return false;
const cmd = buf.readVarint32();
const size = buf.readVarint32();
if (buf.remaining() !== size)
return false;
const message = net.findByType(cmd);
assert(message != null, `No message handler for ${cmd}`);
if (this.listenerCount(message.name)) {
const msgInst = message.class.decode(new Uint8Array(buf.toBuffer()));
this.emit(message.name, msgInst);
}
return true;
}
_handleStringTableUpdate(update) {
if (this.recordingClientSlot != null)
return;
if (update.table.name === "userinfo" && update.userData != null) {
const playerInfo = update.userData;
if (playerInfo.name === this.header.clientName) {
this.recordingClientSlot = update.entryIndex;
}
}
}
/**
* Fired when a packet of this type is hit. `svc_MessageName` events are also fired.
* @public
* @event DemoFile#net_MessageName
*/
_handleDemoPacket() {
if (!this._isBroadcastFragment) {
this._ensureRemaining(160);
// skip cmd info
this._bytebuf.skip(152);
// skip over sequence info
this._bytebuf.readInt32();
this._bytebuf.readInt32();
}
const chunk = this._readIBytes();
while (chunk.remaining()) {
const cmd = chunk.readVarint32();
const size = chunk.readVarint32();
const message = net.findByType(cmd);
assert(message != null, `No message handler for ${cmd}`);
if (this.listenerCount(message.name)) {
const messageBuffer = chunk.readBytes(size);
const msgInst = message.class.decode(new Uint8Array(messageBuffer.toBuffer()));
this.emit(message.name, msgInst);
}
else {
chunk.skip(size);
}
}
}
_handleDataChunk() {
this._readIBytes();
}
_handleDataTables() {
const chunk = this._isBroadcastFragment
? this._bytebuf
: this._readIBytes();
this.entities.handleDataTables(chunk);
}
_handleUserCmd() {
this._ensureRemaining(4);
this._bytebuf.readInt32(); // outgoing sequence
const chunk = this._readIBytes();
// If nobody's listening, don't waste cycles decoding it
if (!this.listenerCount("usercmd"))
return;
const bitbuf = bitbuffer_1.BitStream.from(chunk.buffer.slice(chunk.offset, chunk.limit));
const move = {
commandNumber: 0,
tickCount: 0,
viewAngles: { x: 0, y: 0, z: 0 },
aimDirection: { x: 0, y: 0, z: 0 },
forwardMove: 0,
sideMove: 0,
upMove: 0,
buttons: new Array(),
impulse: 0,
weaponSelect: 0,
weaponSubType: 0,
randomSeed: 0,
mouseDeltaX: 0,
mouseDeltaY: 0
};
if (bitbuf.readOneBit()) {
move.commandNumber = bitbuf.readUInt32();
}
else {
move.commandNumber = 1;
}
if (bitbuf.readOneBit()) {
move.tickCount = bitbuf.readUInt32();
}
else {
move.tickCount = 1;
}
// Read direction
if (bitbuf.readOneBit())
move.viewAngles.x = bitbuf.readFloat32();
if (bitbuf.readOneBit())
move.viewAngles.y = bitbuf.readFloat32();
if (bitbuf.readOneBit())
move.viewAngles.z = bitbuf.readFloat32();
// Read aim direction
if (bitbuf.readOneBit())
move.aimDirection.x = bitbuf.readFloat32();
if (bitbuf.readOneBit())
move.aimDirection.y = bitbuf.readFloat32();
if (bitbuf.readOneBit())
move.aimDirection.z = bitbuf.readFloat32();
// Read movement
if (bitbuf.readOneBit())
move.forwardMove = bitbuf.readFloat32();
if (bitbuf.readOneBit())
move.sideMove = bitbuf.readFloat32();
if (bitbuf.readOneBit())
move.upMove = bitbuf.readFloat32();
if (bitbuf.readOneBit()) {
const buttons = bitbuf.readUInt32();
if (buttons & (1 << 0))
move.buttons.push("attack");
if (buttons & (1 << 1))
move.buttons.push("jump");
if (buttons & (1 << 2))
move.buttons.push("duck");
if (buttons & (1 << 3))
move.buttons.push("forward");
if (buttons & (1 << 4))
move.buttons.push("back");
if (buttons & (1 << 5))
move.buttons.push("use");
if (buttons & (1 << 6))
move.buttons.push("cancel");
if (buttons & (1 << 7))
move.buttons.push("left");
if (buttons & (1 << 8))
move.buttons.push("right");
if (buttons & (1 << 9))
move.buttons.push("moveleft");
if (buttons & (1 << 10))
move.buttons.push("moveright");
if (buttons & (1 << 11))
move.buttons.push("attack2");
if (buttons & (1 << 12))
move.buttons.push("run");
if (buttons & (1 << 13))
move.buttons.push("reload");
if (buttons & (1 << 14))
move.buttons.push("alt1");
if (buttons & (1 << 15))
move.buttons.push("alt2");
if (buttons & (1 << 16))
move.buttons.push("score");
if (buttons & (1 << 17))
move.buttons.push("speed");
if (buttons & (1 << 18))
move.buttons.push("walk");
if (buttons & (1 << 19))
move.buttons.push("zoom");
if (buttons & (1 << 20))
move.buttons.push("weapon1");
if (buttons & (1 << 21))
move.buttons.push("weapon2");
if (buttons & (1 << 22))
move.buttons.push("bullrush");
if (buttons & (1 << 23))
move.buttons.push("grenade1");
if (buttons & (1 << 24))
move.buttons.push("grenade2");
if (buttons & (1 << 25))
move.buttons.push("lookspin");
}
if (bitbuf.readOneBit())
move.impulse = bitbuf.readUInt8();
if (bitbuf.readOneBit()) {
move.weaponSelect = bitbuf.readUBits(consts_1.MAX_EDICT_BITS);
if (bitbuf.readOneBit())
move.weaponSubType = bitbuf.readUBits(6);
}
if (bitbuf.readOneBit())
move.mouseDeltaX = bitbuf.readInt16();
if (bitbuf.readOneBit())
move.mouseDeltaY = bitbuf.readInt16();
this.emit("usercmd", move);
}
_handleStringTables() {
const chunk = this._readIBytes();
const bitbuf = bitbuffer_1.BitStream.from(chunk.buffer.slice(chunk.offset, chunk.limit));
this.stringTables.handleStringTables(bitbuf);
}
_tryEnsureRemaining(bytes) {
const remaining = this._bytebuf.remaining();
if (remaining >= bytes)
return true;
let left = bytes - remaining;
for (let i = 0; i < this._chunks.length && left > 0; ++i)
left -= this._chunks[i].length;
// We don't have enough bytes with what we have buffered up
if (left > 0)
return false;
const mark = Math.max(0, this._bytebuf.markedOffset);
const newOffset = this._bytebuf.offset - mark;
// Reset to the marked offset. We're never going to need the bytes preceding it
this._bytebuf.offset = mark;
this._bytebuf = ByteBuffer.wrap(Buffer.concat([
new Uint8Array(this._bytebuf.toBuffer()),
...this._chunks
]), true);
this._chunks = [];
// Advance to the point we'd already read up to
this._bytebuf.offset = newOffset;
return true;
}
_ensureRemaining(bytes) {
if (!this._tryEnsureRemaining(bytes)) {
throw new RangeError(`Not enough data to continue parsing. ${bytes} bytes needed`);
}
}
_readCommand() {
this._ensureRemaining(6);
const command = this._bytebuf.readUint8();
const tick = this._bytebuf.readInt32();
this.playerSlot = this._bytebuf.readUint8();
if (tick !== this.currentTick) {
this.emit("tickend", this.currentTick);
this.currentTick = tick;
this.emit("tickstart", this.currentTick);
}
switch (command) {
case 2 /* DemoCommands.Packet */:
case 1 /* DemoCommands.Signon */:
this._handleDemoPacket();
break;
case 6 /* DemoCommands.DataTables */:
this._handleDataTables();
break;
case 9 /* DemoCommands.StringTables */:
this._handleStringTables();
break;
case 4 /* DemoCommands.ConsoleCmd */: // TODO
this._handleDataChunk();
break;
case 5 /* DemoCommands.UserCmd */:
this._handleUserCmd();
break;
case 7 /* DemoCommands.Stop */:
this.cancel();
this.emit("tickend", this.currentTick);
this._emitEnd({ incomplete: false });
return;
case 8 /* DemoCommands.CustomData */:
throw new Error("Custom data not supported");
case 3 /* DemoCommands.SyncTick */:
break;
default:
throw new Error(`Unrecognised command: ${command}`);
}
}
_parseRecurse() {
const now = Date.now();
// Schedule another round of parsing
if (now - this._lastThreadYieldTime < 32) {
this._immediateTimerToken = timers.setImmediate(this._parseRecurse.bind(this));
}
else {
this._lastThreadYieldTime = now;
this._timeoutTimerToken = timers.setTimeout(this._parseRecurse.bind(this), 0);
}
try {
this.emit("progress", this._bytebuf.offset / this._bytebuf.limit);
this._readCommand();
}
catch (e) {
// Always cancel if we have an error - we've already scheduled the next tick
this.cancel();
// #11, #172: Some demos have been written incompletely.
// Don't throw an error when we run out of bytes to read.
if (e instanceof RangeError &&
this.header.playbackTicks === 0 &&
this.header.playbackTime === 0 &&
this.header.playbackFrames === 0) {
this._emitEnd({ incomplete: true });
}
else {
const error = e instanceof Error ? e : new Error(`Exception during parsing: ${e}`);
this._emitEnd({ error, incomplete: false });
}
}
}
}
exports.DemoFile = DemoFile;
}).call(this)}).call(this,require("buffer").Buffer)
},{"./assert-exists":2,"./consts":3,"./convars":4,"./entities":7,"./ext/bitbuffer":18,"./gameevents":20,"./icekey":21,"./net":22,"./stringtables":29,"./supplements/grenadetrajectory":30,"./supplements/itempurchase":31,"./supplements/molotovdetonate":32,"./usermessages":33,"assert":73,"buffer":81,"bytebuffer":83,"events":84,"https":85,"timers":752,"url":753}],7:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Entities = void 0;
const assert = require("assert");
const events_1 = require("events");
const assert_exists_1 = require("./assert-exists");
const bitbuffer_1 = require("./ext/bitbuffer");
const consts = require("./consts");
const net = require("./net");
const immutable = require("immutable");
const iter_tools_1 = require("iter-tools");
const baseentity_1 = require("./entities/baseentity");
const gamerules_1 = require("./entities/gamerules");
const networkable_1 = require("./entities/networkable");
const player_1 = require("./entities/player");
const team_1 = require("./entities/team");
const weapon_1 = require("./entities/weapon");
const props_1 = require("./props");
const Long = require("long");
const projectile_1 = require("./entities/projectile");
function isPropExcluded(excludes, table, prop) {
return excludes.find(excluded => table.netTableName === excluded.dtName &&
prop.varName === excluded.varName);
}
function readFieldIndex(entityBitBuffer, lastIndex, newWay) {
if (newWay && entityBitBuffer.readOneBit()) {
return lastIndex + 1;
}
let ret = 0;
if (newWay && entityBitBuffer.readOneBit()) {
ret = entityBitBuffer.readUBits(3);
}
else {
ret = entityBitBuffer.readUBits(7);
switch (ret & (32 | 64)) {
case 32:
ret = (ret & ~96) | (entityBitBuffer.readUBits(2) << 5);
assert(ret >= 32);
break;
case 64:
ret = (ret & ~96) | (entityBitBuffer.readUBits(4) << 5);
assert(ret >= 128);
break;
case 96:
ret = (ret & ~96) | (entityBitBuffer.readUBits(7) << 5);
assert(ret >= 512);
break;
}
}
if (ret === 0xfff) {
// end marker is 4095 for CS:GO
return -1;
}
return lastIndex + 1 + ret;
}
function cloneProps(props) {
const result = {};
// eslint-disable-next-line no-restricted-syntax
for (const tableName in props) {
const oldTable = props[tableName];
const newTable = {};
// eslint-disable-next-line no-restricted-syntax
for (const prop in oldTable) {
newTable[prop] = oldTable[prop];
}
result[tableName] = newTable;
}
return result;
}
/**
* Represents entities and networked properties within a demo.
*/
class Entities extends events_1.EventEmitter {
constructor() {
super(...arguments);
this.dataTables = [];
this.serverClasses = [];
/**
* Map of entity index => networkable instance
*/
this.entities = new Map();
this.markedForDeletion = [];
this.staticBaselines = {};
this.pendingBaselines = {};
this.serverClassBits = 0;
this.tableClassMap = {
DT_CSPlayer: player_1.Player,
DT_Team: team_1.Team,
DT_CSGameRules: gamerules_1.GameRules,
DT_BaseCSGrenadeProjectile: projectile_1.Projectile,
DT_WeaponCSBase: weapon_1.Weapon,
DT_BaseEntity: baseentity_1.BaseEntity
};
this._serverClassConstructor = new Map();
/**
* Set of which entities were active in the most recent tick.
*/
this.transmitEntities = null;
this._entityBaselines = [
new Map(),
new Map()
];
this._frames = immutable.Map();
this._demo = null;
this._singletonEnts = {};
this._currentServerTick = -1;
this._maxPlayers = 0;
this._userInfoTable = null;
this._userIdToEntity = new Map();
this._steam64IdToEntity = new Map();
this._accountNumberToEntity = new Map();
}
get playerResource() {
return this._demo.entities.getSingleton("CCSPlayerResource");
}
get gameRules() {
return this.getSingleton("CCSGameRulesProxy");
}
get teams() {
return Array.from(this.findAllWithClass(team_1.Team));
}
get players() {
const players = [];
for (let i = 1; i <= this._maxPlayers; ++i) {
const entity = this.entities.get(i);
// Only return players that are fully connected
if ((entity === null || entity === void 0 ? void 0 : entity.userInfo) != null) {
players.push(entity);
}
}
return players;
}
get weapons() {
return Array.from(this.findAllWithClass(weapon_1.Weapon));
}
listen(demo) {
this._demo = demo;
demo.on("svc_PacketEntities", e => this._handlePacketEntities(e));
demo.on("svc_TempEntities", e => this._handleTempEntities(e));
demo.on("svc_ServerInfo", e => {
this._maxPlayers = e.maxClients;
});
demo.on("net_Tick", e => {
this._currentServerTick = e.tick;
});
demo.stringTables.on("create", table => {
if (table.name === "userinfo")
this._userInfoTable = table;
});
demo.stringTables.on("update", e => this._handleStringTableUpdate(e));
demo.on("tickend", () => {
if (this.markedForDeletion.length > 0) {
for (const index of this.markedForDeletion) {
this.entities.delete(index);
this.emit("remove", { index });
}
this.markedForDeletion.length = 0;
}
});
}
/**
* Determines whether handle is set.
* This function does not determine whether the handle points to a valid entity.
* @param {number} handle - Networked entity handle value
* @returns {boolean} true if handle is set
*/
isHandleSet(handle) {
return handle !== consts.INVALID_NETWORKED_EHANDLE_VALUE;
}
/**
* Returns the entity specified by a particular handle.
* @param {number} handle - Networked entity handle value
* @returns {Entity|null} Entity referenced by the handle. `null` if no matching entity.
*/
getByHandle(handle) {
if (!handle.isValid) {
return null;
}
const ent = this.entities.get(handle.index);
if (ent == null || ent.serialNum !== handle.serialNum) {
return null;
}
return ent;
}
/**
* Returns the entity that belongs to the player with a given user ID.
* @param {number} userId - Player user ID
* @returns {Player|null} Entity referenced by the user ID. `null` if no matching player.
*/
getByUserId(userId) {
const entityIndex = this._userIdToEntity.get(userId);
if (entityIndex === undefined)
return null;
return this.entities.get(entityIndex);
}
/**
* Returns the entity that belongs to the player with a given Steam account ID.
* @param {number} accountId - Steam account ID
* @returns {Player|null} Entity referenced by the account ID. `null` if no matching player.
*/
getByAccountId(accountId) {
const entityIndex = this._accountNumberToEntity.get(accountId);
if (entityIndex === undefined)
return null;
return this.entities.get(entityIndex);
}
/**
* Returns the entity that belongs to the player with a given 64-bit Steam ID.
* @param {Long|string} steam64Id - 64-bit Steam ID
* @returns {Player|null} Entity referenced by the Steam ID. `null` if no matching player.
*/
getBySteam64Id(steam64Id) {
const idString = steam64Id instanceof Long ? steam64Id.toString() : steam64Id;
const entityIndex = this._steam64IdToEntity.get(idString);
if (entityIndex === undefined)
return null;
return this.entities.get(entityIndex);
}
getSingleton(serverClass) {
const existing = this._singletonEnts[serverClass];
if (existing) {
return existing;
}
const result = (0, iter_tools_1.find)(([, ent]) => ent.serverClass.name === serverClass, this.entities);
if (!result) {
throw new Error(`Missing singleton ${serverClass}`);
}
const [, entity] = result;
this._singletonEnts[serverClass] = entity;
return entity;
}
*findAllWithTable(table) {
for (const ent of this.entities.values()) {
if (table in ent.props) {
yield ent;
}
}
}
*findAllWithClass(klass) {
for (const ent of this.entities.values()) {
if (ent instanceof klass) {
yield ent;
}
}
}
handleDataTables(chunk) {
// eslint-disable-next-line no-constant-condition
while (true) {
const descriptor = net.findByType(chunk.readVarint32());
assert((descriptor === null || descriptor === void 0 ? void 0 : descriptor.name) === "svc_SendTable", "expected SendTable message");
const length = chunk.readVarint32();
const msg = descriptor.class.decode(new Uint8Array(chunk.readBytes(length).toBuffer()));
if (msg.isEnd) {
break;
}
this.dataTables.push(msg);
}
const serverClasses = chunk.readShort();
this.serverClassBits = Math.ceil(Math.log2(serverClasses));
for (let i = 0; i < serverClasses; ++i) {
const classId = chunk.readShort();
assert(classId === i, "server class entry for invalid class ID");
const name = chunk.readCString();
const dtName = chunk.readCString();
const dataTable = (0, assert_exists_1.default)(this._findTableByName(dtName), "no data table for server class");
const serverClass = {
name,
dtName,
dataTable,
flattenedProps: this._flattenDataTable(dataTable)
};
this.serverClasses.push(serverClass);
// Find the constructor for this server class
const tablesInClass = new Set(serverClass.flattenedProps.map(prop => prop.table.netTableName));
// eslint-disable-next-line no-restricted-syntax
for (const tableName in this.tableClassMap) {
if (tablesInClass.has(tableName)) {
this._serverClassConstructor.set(classId, this.tableClassMap[tableName]);
break;
}
}
// parse any pending baseline
const pendingBaseline = this.pendingBaselines[classId];
if (pendingBaseline) {
this.staticBaselines[classId] = this._parseInstanceBaseline(pendingBaseline, classId);
this.emit("baselineupdate", {
classId,
serverClass,
baseline: this.staticBaselines[classId]
});
delete this.pendingBaselines[classId];
}
}
this.emit("datatablesready");
}
_gatherExcludes(table) {
const excludes = [];
for (const prop of table.props) {
if ((prop.flags & props_1.SPROP_EXCLUDE) !== 0) {
excludes.push(prop);
}
if (prop.type === 6 /* PropType.DataTable */) {
const subTable = (0, assert_exists_1.default)(this._findTableByName(prop.dtName));
excludes.push(...this._gatherExcludes(subTable));
}
}
return excludes;
}
_gatherProps(table, excludes) {
const flattened = [];
for (let index = 0; index < table.props.length; ++index) {
const prop = table.props[index];
if ((prop.flags & props_1.SPROP_INSIDEARRAY) !== 0 ||
(prop.flags & props_1.SPROP_EXCLUDE) !== 0 ||
isPropExcluded(excludes, table, prop)) {
continue;
}
if (prop.type === 6 /* PropType.DataTable */) {
const subTable = (0, assert_exists_1.default)(this._findTableByName(prop.dtName));
const childProps = this._gatherProps(subTable, excludes);
if ((prop.flags & props_1.SPROP_COLLAPSIBLE) === 0) {
for (const fp of childProps) {
fp.collapsible = false;
}
}
flattened.push(...childProps);
}
else {
flattened.push({
prop,
table,
decode: (0, props_1.makeDecoder)(prop, prop.type === 5 /* PropType.Array */ ? table.props[index - 1] : undefined),
collapsible: true
});
}
}
// collapsible props should come after non-collapsible
return flattened.sort(({ collapsible: a }, { collapsible: b }) => (a ? 1 : 0) - (b ? 1 : 0));
}
_flattenDataTable(table) {
const flattenedProps = this._gatherProps(table, this._gatherExcludes(table));
const prioritySet = new Set(flattenedProps.map(fp => fp.prop.priority));
prioritySet.add(64);
const priorities = Array.from(prioritySet).sort((a, b) => a - b);
let start = 0;
// On this surface this looks like a sort by priority (or min(64, priority)
// for CHANGES_OFTEN props). It's not a stable sort so it can't just be
// replaced with JS Array#sort
for (const priority of priorities) {
// eslint-disable-next-line no-constant-condition
while (true) {
let currentProp;
for (currentProp = start; currentProp < flattenedProps.length; ++currentProp) {
const prop = flattenedProps[currentProp].prop;
if (prop.priority === priority ||
(priority === 64 && (prop.flags & props_1.SPROP_CHANGES_OFTEN) !== 0)) {
if (start !== currentProp) {
const temp = flattenedProps[start];
flattenedProps[start] = flattenedProps[currentProp];
flattenedProps[currentProp] = temp;
}
start++;
break;
}
}
if (currentProp === flattenedProps.length) {
break;
}
}
}
return flattenedProps;
}
_findTableByName(name) {
return this.dataTables.find(table => table.netTableName === name);
}
_addEntity(index, classId, serialNum, existingEntity, entityBaseline) {
const baseline = entityBaseline || this.staticBaselines[classId];
if (!baseline) {
throw new Error(`no baseline for entity ${index} (class ID ${classId})`);
}
const props = cloneProps(baseline);
// If we already have this entity, start fresh with baseline props
if ((existingEntity === null || existingEntity === void 0 ? void 0 : existingEntity.serialNum) === serialNum) {
existingEntity.props = props;
return existingEntity;
}
// Delete the entity if the serial numbers mismatch
if (existingEntity) {
this._removeEntity(index, true);
}
const klass = this._serverClassConstructor.get(classId) || networkable_1.Networkable;
const entity = new klass(this._demo, index, classId, serialNum, props);
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
this.entities.set(index, entity);
return entity;
}
_removeEntity(index, immediate) {
const entity = this.entities.get(index);
if (!entity) {
return;
}
// It's possible that the entity is already marked for deletion.
// This is because entities are deleted at the end of the dem_packet,
// after the game events fire.
if (!immediate && entity.deleting) {
return;
}
this.emit("beforeremove", { entity, immediate });
if (immediate) {
this.entities.delete(index);
this.emit("remove", { index });
}
else {
entity.deleting = true;
this.markedForDeletion.push(index);
}
}
_parseEntityUpdate(entityBitBuffer, classId) {
const serverClass = this.serverClasses[classId];
const newWay = entityBitBuffer.readOneBit();
let lastIndex = -1;
const fieldIndices = [];
// eslint-disable-next-line no-constant-condition
while (true) {
lastIndex = readFieldIndex(entityBitBuffer, lastIndex, newWay);
if (lastIndex === -1) {
break;
}
fieldIndices.push(lastIndex);
}
const updatedProps = new Array(fieldIndices.length);
for (let i = 0; i < fieldIndices.length; ++i) {
const propIndex = fieldIndices[i];
const flattenedProp = serverClass.flattenedProps[propIndex];
assert(flattenedProp);
updatedProps[i] = {
prop: flattenedProp,
value: flattenedProp.decode(entityBitBuffer)
};
}
return updatedProps;
}
_readNewEntity(entityBitBuffer, entity) {
const updates = this._parseEntityUpdate(entityBitBuffer, entity.classId);
const recordChanges = this.listenerCount("change") > 0;
const changes = recordChanges
? new Array(updates.length)
: [];
for (let i = 0; i < updates.length; ++i) {
const update = updates[i];
const tableName = update.prop.table.netTableName;
const varName = update.prop.prop.varName;
const table = entity.props[tableName];
const oldValue = table && varName in table ? table[varName] : undefined;
entity.updateProp(tableName, varName, update.value);
if (recordChanges) {
changes[i] = {
tableName,
varName,
oldValue,
newValue: update.value
};
}
}
if (recordChanges) {
this.emit("change", {
entity,
changes
});
}
}
_updatesToPropObject(target, updates) {
for (const update of updates) {
const tableName = update.prop.table.netTableName;
const varName = update.prop.prop.varName;
target[tableName] = Object.assign(target[tableName] || {}, {
[varName]: update.value
});
}
return target;
}
_handleTempEntities(msg) {
const entityBitBuffer = bitbuffer_1.BitStream.from(msg.entityData);
let lastClassId = -1;
let lastProps = null;
// Reliable tempents are sent with 0 entries, but really they have 1
const numEntries = msg.numEntries === 0 ? 1 : msg.numEntries;
for (let i = 0; i < numEntries; ++i) {
let fireDelay = 0.0;
if (entityBitBuffer.readOneBit()) {
fireDelay = entityBitBuffer.readSBits(8) / 100.0;
}
if (entityBitBuffer.readOneBit()) {
lastClassId = entityBitBuffer.readUBits(this.serverClassBits) - 1;
const updates = this._parseEntityUpdate(entityBitBuffer, lastClassId);
lastProps = this._updatesToPropObject({}, updates);
}
else {
// delta against last temp entity
assert(lastClassId !== -1, "Delta with no baseline");
const updates = this._parseEntityUpdate(entityBitBuffer, lastClassId);
lastProps = this._updatesToPropObject(cloneProps((0, assert_exists_1.default)(lastProps)), updates);
}
this.emit("tempent", {
delay: fireDelay,
classId: lastClassId,
serverClass: this.serverClasses[lastClassId],
props: lastProps
});
}
}
_handlePacketEntities(msg) {
// Take a copy of the transmitted entities from the delta frame
// Otherwise start with a blank slate
const baseTransmitEntities = (0, assert_exists_1.default)(msg.isDelta
? this._frames.get(msg.deltaFrom)
: immutable.Set(), `delta from unknown frame ${msg.deltaFrom}`);
if (!msg.isDelta) {
// Clear out old entities - this is a full update
for (const entityIndex of Array.from(this.entities.keys())) {
this._removeEntity(entityIndex, true);
}
// Remove all frames - we won't be using them
this._frames = immutable.Map();
// Clear all entity baselines
for (const baseline of this._entityBaselines) {
baseline.clear();
}
}
const newFrame = baseTransmitEntities.withMutations(mutableFrame => this._readPacketEntities(msg, mutableFrame));
this._frames = this._frames.set(this._currentServerTick, newFrame);
this.transmitEntities = newFrame;
// Delete old frames that we no longer need to reference
if (msg.isDelta) {
const oldFrames = (0, iter_tools_1.filter)(tick => tick < msg.deltaFrom, this._frames.keys());
this._frames = this._frames.removeAll(oldFrames);
}
}
_readPacketEntities(msg, frame) {
const entityBitBuffer = bitbuffer_1.BitStream.from(msg.entityData);
let entityIndex = -1;
for (let i = 0; i < msg.updatedEntries; ++i) {
entityIndex += 1 + entityBitBuffer.readUBitVar();
assert(entityIndex < consts.MAX_EDICTS, "newEntity >= MAX_EDICTS");
if (entityBitBuffer.readOneBit()) {
assert(msg.isDelta, "entity leaving PVS on full update");
frame.remove(entityIndex);
if (entityBitBuffer.readOneBit()) {
// 0b11: FHDR_LEAVEPVS | FHDR_DELETE
this._removeEntity(entityIndex, false);
}
else {
// 0b10: FHDR_LEAVEPVS
}
// eslint-disable-next-line no-dupe-else-if
}
else if (entityBitBuffer.readOneBit()) {
// 0b01: FHDR_ENTERPVS
frame.add(entityIndex);
const classId = entityBitBuffer.readUBits(this.serverClassBits);
const serialNum = entityBitBuffer.readUBits(consts.NUM_NETWORKED_EHANDLE_SERIAL_NUMBER_BITS);
const existingBaseline = this._entityBaselines[msg.baseline].get(entityIndex);
const entityBaselineProps = msg.isDelta && (existingBaseline === null || existingBaseline === void 0 ? void 0 : existingBaseline.classId) === classId
? existingBaseline.props
: undefined;
const existingEntity = this.entities.get(entityIndex);
const entity = this._addEntity(entityIndex, classId, serialNum, existingEntity, entityBaselineProps);
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
this._readNewEntity(entityBitBuffer, entity);
if (entity !== existingEntity) {
const eventVars = { entity };
this.emit("create", eventVars);
// Still emit 'postcreate' for backwards compatibility
this.emit("postcreate", eventVars);
}
// Update the OTHER baseline with the merged result of `old baseline + new props`
if (msg.updateBaseline) {
this._entityBaselines[msg.baseline ? 0 : 1].set(entityIndex, {
classId,
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
props: cloneProps(entity.props)
});
}
}
else {
// 0b00: DeltaEnt
const entity = (0, assert_exists_1.default)(this.entities.get(entityIndex), `missing client entity ${entityIndex}`);
assert(frame.contains(entityIndex), `delta on dormant entity ${entityIndex}`);
this._readNewEntity(entityBitBuffer, entity);
}
}
// Read deletions
if (msg.isDelta) {
entityIndex = -1;
const deletions = entityBitBuffer.readUBitVar();
for (let i = 0; i < deletions; ++i) {
entityIndex += entityBitBuffer.readUBitVar();
// Entity wasn't dealt with in packet, but has been deleted
frame.remove(entityIndex);
this._removeEntity(entityIndex, false);
}
}
}
_parseInstanceBaseline(baselineBuf, classId) {
const classBaseline = {};
for (const bl of this._parseEntityUpdate(baselineBuf, classId)) {
const tableName = bl.prop.table.netTableName;
const varName = bl.prop.prop.varName;
const table = classBaseline[tableName];
if (table === undefined) {
classBaseline[tableName] = { [varName]: bl.value };
}
else {
table[varName] = bl.value;
}
}
return classBaseline;
}
_handleUserInfoUpdate(clientSlot, oldPlayerInfo, playerInfo) {
if (oldPlayerInfo != null) {
this._userIdToEntity.delete(oldPlayerInfo.userId);
this._steam64IdToEntity.delete(oldPlayerInfo.xuid.toString());
this._accountNumberToEntity.delete(oldPlayerInfo.friendsId);
}
if (playerInfo != null) {
this._userIdToEntity.set(playerInfo.userId, clientSlot + 1);
this._steam64IdToEntity.set(playerInfo.xuid.toString(), clientSlot + 1);
this._accountNumberToEntity.set(playerInfo.friendsId, clientSlot + 1);
}
}
_handleInstanceBaselineUpdate(event) {
if (!event.userData)
return;
const classId = parseInt(event.entry, 10);
const baselineBuf = bitbuffer_1.BitStream.from(event.userData);
if (!this.serverClasses[classId]) {
this.pendingBaselines[classId] = baselineBuf;
return;
}
const baseline = this._parseInstanceBaseline(baselineBuf, classId);
this.staticBaselines[classId] = baseline;
this.emit("baselineupdate", {
classId,
serverClass: this.serverClasses[classId],
baseline
});
}
_handleStringTableUpdate(event) {
if (event.table.name === "userinfo") {
this._handleUserInfoUpdate(event.entryIndex, event.oldUserData, event.userData);
}
else if (event.table.name === "instancebaseline") {
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
this._handleInstanceBaselineUpdate(event);
}
}
}
exports.Entities = Entities;
},{"./assert-exists":2,"./consts":3,"./entities/baseentity":8,"./entities/gamerules":9,"./entities/networkable":11,"./entities/player":12,"./entities/projectile":13,"./entities/team":14,"./entities/weapon":15,"./ext/bitbuffer":18,"./net":22,"./props":23,"assert":73,"events":84,"immutable":87,"iter-tools":473,"long":712}],8:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseEntity = void 0;
const networkable_1 = require("./networkable");
/**
* Represents an in-game entity.
*/
class BaseEntity extends networkable_1.Networkable {
/**
* Position of this entity in the game world.
* @returns World-space coordinates
*/
get position() {
const cellWidth = 1 << this.getProp("DT_BaseEntity", "m_cellbits");
const cellX = this.getProp("DT_BaseEntity", "m_cellX");
const cellY = this.getProp("DT_BaseEntity", "m_cellY");
const cellZ = this.getProp("DT_BaseEntity", "m_cellZ");
const cellOffset = this.getProp("DT_BaseEntity", "m_vecOrigin");
return {
x: cellX * cellWidth - 16384 + cellOffset.x,
y: cellY * cellWidth - 16384 + cellOffset.y,
z: cellZ * cellWidth - 16384 + cellOffset.z
};
}
/**
* @returns Entity which this entity is moving with, if any
*/
get moveParent() {
// UNSAFE: cast here as move parent will always be a proper entity
return this._demo.entities.getByHandle(this.getProp("DT_BaseEntity", "moveparent"));
}
/**
* @returns Owning entity, if any
*/
get owner() {
// UNSAFE: cast here as owner will always be a proper entity
return this._demo.entities.getByHandle(this.getProp("DT_BaseEntity", "m_hOwnerEntity"));
}
/**
* @returns Team number (0: Unassigned, 1: Spectator, 2: Terrorist, 3: Counter-Terrorist)
*/
get teamNumber() {
return this.getProp("DT_BaseEntity", "m_iTeamNum");
}
/**
* @returns Team if assigned, null if unassigned.
*/
get team() {
const teamNum = this.teamNumber;
if (teamNum === 0) {
return null;
}
return this._demo.entities.teams[teamNum];
}
/**
* @returns Name of the model that should be rendered for this entity. (e.g. 'models/Weapons/w_eq_smokegrenade_thrown.mdl')
*/
get modelName() {
const modelprecache = this._demo.stringTables.findTableByName("modelprecache");
if (!modelprecache) {
return null;
}
return modelprecache.entries[this.getProp("DT_BaseEntity", "m_nModelIndex")].entry;
}
}
exports.BaseEntity = BaseEntity;
},{"./networkable":11}],9:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GameRules = void 0;
const networkable_1 = require("./networkable");
/**
* Represents the game rules.
*/
class GameRules extends networkable_1.Networkable {
/**
* @returns Is the game currently in 'warmup' mode?
*/
get isWarmup() {
return this.getProp("DT_CSGameRules", "m_bWarmupPeriod");
}
/**
* @deprecated Use `GameRules#roundsPlayed` instead.
*/
get roundNumber() {
return this.roundsPlayed;
}
/**
* This value is incremented when the scores are updated at round end.
* If you need to keep track of the current round number, store this value
* at each `round_start`.
*
* @returns Total number of rounds played.
*/
get roundsPlayed() {
return this.getProp("DT_CSGameRules", "m_totalRoundsPlayed");
}
/**
* @returns 'first', 'second', 'halftime' or 'postgame'
*/
get phase() {
const gamePhases = {
2: "first",
3: "second",
4: "halftime",
5: "postgame"
};
const phase = this.getProp("DT_CSGameRules", "m_gamePhase");
return gamePhases[phase];
}
}
exports.GameRules = GameRules;
},{"./networkable":11}],10:[function(require,module,exports){
"use strict";
// DO NOT MODIFY!
// Auto-generated by ./generators/itemdefs.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.paintKitIndexMap = exports.itemDefinitionIndexMap = void 0;
exports.itemDefinitionIndexMap = {
"1": {
className: "weapon_deagle",
itemName: "Desert Eagle"
},
"2": {
className: "weapon_elite",
itemName: "Dual Berettas"
},
"3": {
className: "weapon_fiveseven",
itemName: "Five-SeveN"
},
"4": {
className: "weapon_glock",
itemName: "Glock-18"
},
"7": {
className: "weapon_ak47",
itemName: "AK-47"
},
"8": {
className: "weapon_aug",
itemName: "AUG"
},
"9": {
className: "weapon_awp",
itemName: "AWP"
},
"10": {
className: "weapon_famas",
itemName: "FAMAS"
},
"11": {
className: "weapon_g3sg1",
itemName: "G3SG1"
},
"13": {
className: "weapon_galilar",
itemName: "Galil AR"
},
"14": {
className: "weapon_m249",
itemName: "M249"
},
"16": {
className: "weapon_m4a1",
itemName: "M4A4"
},
"17": {
className: "weapon_mac10",
itemName: "MAC-10"
},
"19": {
className: "weapon_p90",
itemName: "P90"
},
"20": {
className: "weapon_zone_repulsor",
itemName: "Repulsor Device"
},
"23": {
className: "weapon_mp5sd",
itemName: "MP5-SD"
},
"24": {
className: "weapon_ump45",
itemName: "UMP-45"
},
"25": {
className: "weapon_xm1014",
itemName: "XM1014"
},
"26": {
className: "weapon_bizon",
itemName: "PP-Bizon"
},
"27": {
className: "weapon_mag7",
itemName: "MAG-7"
},
"28": {
className: "weapon_negev",
itemName: "Negev"
},
"29": {
className: "weapon_sawedoff",
itemName: "Sawed-Off"
},
"30": {
className: "weapon_tec9",
itemName: "Tec-9"
},
"31": {
className: "weapon_taser",
itemName: "Zeus x27"
},
"32": {
className: "weapon_hkp2000",
itemName: "P2000"
},
"33": {
className: "weapon_mp7",
itemName: "MP7"
},
"34": {
className: "weapon_mp9",
itemName: "MP9"
},
"35": {
className: "weapon_nova",
itemName: "Nova"
},
"36": {
className: "weapon_p250",
itemName: "P250"
},
"37": {
className: "weapon_shield",
itemName: "Riot Shield"
},
"38": {
className: "weapon_scar20",
itemName: "SCAR-20"
},
"39": {
className: "weapon_sg556",
itemName: "SG 553"
},
"40": {
className: "weapon_ssg08",
itemName: "SSG 08"
},
"41": {
className: "weapon_knifegg",
itemName: "Knife"
},
"42": {
className: "weapon_knife",
itemName: "Knife"
},
"43": {
className: "weapon_flashbang",
itemName: "Flashbang"
},
"44": {
className: "weapon_hegrenade",
itemName: "High Explosive Grenade"
},
"45": {
className: "weapon_smokegrenade",
itemName: "Smoke Grenade"
},
"46": {
className: "weapon_molotov",
itemName: "Molotov"
},
"47": {
className: "weapon_decoy",
itemName: "Decoy Grenade"
},
"48": {
className: "weapon_incgrenade",
itemName: "Incendiary Grenade"
},
"49": {
className: "weapon_c4",
itemName: "C4 Explosive"
},
"57": {
className: "weapon_healthshot",
itemName: "Medi-Shot"
},
"59": {
className: "weapon_knife_t",
itemName: "Knife"
},
"60": {
className: "weapon_m4a1_silencer",
itemName: "M4A1-S"
},
"61": {
className: "weapon_usp_silencer",
itemName: "USP-S"
},
"63": {
className: "weapon_cz75a",
itemName: "CZ75-Auto"
},
"64": {
className: "weapon_revolver",
itemName: "R8 Revolver"
},
"68": {
className: "weapon_tagrenade",
itemName: "Tactical Awareness Grenade"
},
"69": {
className: "weapon_fists",
itemName: "Bare Hands"
},
"70": {
className: "weapon_breachcharge",
itemName: "Breach Charge"
},
"72": {
className: "weapon_tablet",
itemName: "Tablet"
},
"75": {
className: "weapon_axe",
itemName: "Axe"
},
"76": {
className: "weapon_hammer",
itemName: "Hammer"
},
"78": {
className: "weapon_spanner",
itemName: "Wrench"
},
"80": {
className: "weapon_knife_ghost",
itemName: "Knife"
},
"81": {
className: "weapon_firebomb",
itemName: "Fire Bomb"
},
"82": {
className: "weapon_diversion",
itemName: "Diversion Device"
},
"83": {
className: "weapon_frag_grenade",
itemName: "Frag Grenade"
},
"84": {
className: "weapon_snowball",
itemName: "Snowball"
},
"85": {
className: "weapon_bumpmine",
itemName: "Bump Mine"
},
"500": {
className: "weapon_bayonet",
itemName: "Bayonet"
},
"503": {
className: "weapon_knife_css",
itemName: "Classic Knife"
},
"505": {
className: "weapon_knife_flip",
itemName: "Flip Knife"
},
"506": {
className: "weapon_knife_gut",
itemName: "Gut Knife"
},
"507": {
className: "weapon_knife_karambit",
itemName: "Karambit"
},
"508": {
className: "weapon_knife_m9_bayonet",
itemName: "M9 Bayonet"
},
"509": {
className: "weapon_knife_tactical",
itemName: "Huntsman Knife"
},
"512": {
className: "weapon_knife_falchion",
itemName: "Falchion Knife"
},
"514": {
className: "weapon_knife_survival_bowie",
itemName: "Bowie Knife"
},
"515": {
className: "weapon_knife_butterfly",
itemName: "Butterfly Knife"
},
"516": {
className: "weapon_knife_push",
itemName: "Shadow Daggers"
},
"517": {
className: "weapon_knife_cord",
itemName: "Paracord Knife"
},
"518": {
className: "weapon_knife_canis",
itemName: "Survival Knife"
},
"519": {
className: "weapon_knife_ursus",
itemName: "Ursus Knife"
},
"520": {
className: "weapon_knife_gypsy_jackknife",
itemName: "Navaja Knife"
},
"521": {
className: "weapon_knife_outdoor",
itemName: "Nomad Knife"
},
"522": {
className: "weapon_knife_stiletto",
itemName: "Stiletto Knife"
},
"523": {
className: "weapon_knife_widowmaker",
itemName: "Talon Knife"
},
"525": {
className: "weapon_knife_skeleton",
itemName: "Skeleton Knife"
}
};
exports.paintKitIndexMap = {
"0": {
name: "default",
tag: "-"
},
"2": {
name: "so_olive",
tag: "Groundwater"
},
"3": {
name: "so_red",
tag: "Candy Apple"
},
"5": {
name: "hy_ddpat",
tag: "Forest DDPAT"
},
"6": {
name: "hy_arctic",
tag: "Arctic Camo"
},
"8": {
name: "hy_desert",
tag: "Desert Storm"
},
"9": {
name: "hy_tiger",
tag: "Bengal Tiger"
},
"10": {
name: "hy_copperhead",
tag: "Copperhead"
},
"11": {
name: "hy_skulls",
tag: "Skulls"
},
"12": {
name: "hy_webs",
tag: "Crimson Web"
},
"13": {
name: "hy_splatter",
tag: "Blue Streak"
},
"14": {
name: "hy_ak47lam",
tag: "Red Laminate"
},
"15": {
name: "hy_gelpen",
tag: "Gunsmoke"
},
"16": {
name: "hy_v_tiger",
tag: "Jungle Tiger"
},
"17": {
name: "hy_ddpat_urb",
tag: "Urban DDPAT"
},
"20": {
name: "hy_zombie",
tag: "Virus"
},
"21": {
name: "hy_granite",
tag: "Granite Marbleized"
},
"22": {
name: "sp_spray",
tag: "Contrast Spray"
},
"25": {
name: "sp_leaves",
tag: "Forest Leaves"
},
"26": {
name: "sp_short_tape",
tag: "Lichen Dashed"
},
"27": {
name: "sp_tape",
tag: "Bone Mask"
},
"28": {
name: "an_navy",
tag: "Anodized Navy"
},
"30": {
name: "sp_snake",
tag: "Snake Camo"
},
"32": {
name: "an_silver",
tag: "Silver"
},
"33": {
name: "an_red",
tag: "Hot Rod"
},
"34": {
name: "am_urban",
tag: "Metallic DDPAT"
},
"36": {
name: "am_ossify",
tag: "Ossified"
},
"37": {
name: "aa_flames",
tag: "Blaze"
},
"38": {
name: "aa_fade",
tag: "Fade"
},
"39": {
name: "so_yellow",
tag: "Bulldozer"
},
"40": {
name: "so_night",
tag: "Night"
},
"41": {
name: "aq_copper",
tag: "Copper"
},
"42": {
name: "aq_blued",
tag: "Blue Steel"
},
"43": {
name: "aq_forced",
tag: "Stained"
},
"44": {
name: "aq_oiled",
tag: "Case Hardened"
},
"46": {
name: "so_pmc",
tag: "Contractor"
},
"47": {
name: "so_space_marine",
tag: "Colony"
},
"48": {
name: "am_dragon_glock",
tag: "Dragon Tattoo"
},
"51": {
name: "am_lightning_awp",
tag: "Lightning Strike"
},
"59": {
name: "am_zebra",
tag: "Slaughter"
},
"60": {
name: "am_zebra_dark",
tag: "Dark Water"
},
"61": {
name: "aa_vertigo",
tag: "Hypnotic"
},
"62": {
name: "cu_spring_nova",
tag: "Bloomstick"
},
"67": {
name: "am_slither_p90",
tag: "Cold Blooded"
},
"70": {
name: "am_carbon_fiber",
tag: "Carbon Fiber"
},
"71": {
name: "am_scorpion_p2000",
tag: "Scorpion"
},
"72": {
name: "sp_mesh_tan",
tag: "Safari Mesh"
},
"73": {
name: "hy_feathers_aug",
tag: "Wings"
},
"74": {
name: "hy_arctic_contrast",
tag: "Polar Camo"
},
"75": {
name: "hy_blizzard",
tag: "Blizzard Marbleized"
},
"76": {
name: "hy_forest_winter",
tag: "Winter Forest"
},
"77": {
name: "hy_forest_boreal",
tag: "Boreal Forest"
},
"78": {
name: "hy_forest_night",
tag: "Forest Night"
},
"83": {
name: "hy_ddpat_orange",
tag: "Orange DDPAT"
},
"84": {
name: "hy_ddpat_pink",
tag: "Pink DDPAT"
},
"90": {
name: "hy_mottled_sand",
tag: "Mudder"
},
"92": {
name: "hy_reef",
tag: "Cyanospatter"
},
"93": {
name: "so_caramel",
tag: "Caramel"
},
"95": {
name: "so_grassland",
tag: "Grassland"
},
"96": {
name: "so_moss",
tag: "Blue Spruce"
},
"98": {
name: "so_purple",
tag: "Ultraviolet"
},
"99": {
name: "so_sand",
tag: "Sand Dune"
},
"100": {
name: "so_stormfront",
tag: "Storm"
},
"101": {
name: "so_tornado",
tag: "Tornado"
},
"102": {
name: "so_whiteout",
tag: "Whiteout"
},
"104": {
name: "sp_leaves_grassland",
tag: "Grassland Leaves"
},
"107": {
name: "sp_mesh_arctic_contrast",
tag: "Polar Mesh"
},
"110": {
name: "sp_mesh_forest_fire",
tag: "Condemned"
},
"111": {
name: "sp_mesh_glacier",
tag: "Glacier Mesh"
},
"116": {
name: "sp_mesh_sand",
tag: "Sand Mesh"
},
"119": {
name: "sp_spray_desert_sage",
tag: "Sage Spray"
},
"122": {
name: "sp_spray_jungle",
tag: "Jungle Spray"
},
"124": {
name: "sp_spray_sand",
tag: "Sand Spray"
},
"125": {
name: "cu_xray_p250",
tag: "X-Ray"
},
"135": {
name: "sp_tape_dots_urban",
tag: "Urban Perforated"
},
"136": {
name: "sp_tape_dots_waves",
tag: "Waves Perforated"
},
"141": {
name: "sp_tape_orange",
tag: "Orange Peel"
},
"143": {
name: "sp_tape_urban",
tag: "Urban Masked"
},
"147": {
name: "sp_tape_short_jungle",
tag: "Jungle Dashed"
},
"148": {
name: "sp_tape_short_sand",
tag: "Sand Dashed"
},
"149": {
name: "sp_tape_short_urban",
tag: "Urban Dashed"
},
"151": {
name: "so_jungle",
tag: "Jungle"
},
"153": {
name: "so_tangerine",
tag: "Demolition"
},
"154": {
name: "cu_broken_path_famas",
tag: "Afterimage"
},
"155": {
name: "cu_bullet_rain_m4a1",
tag: "Bullet Rain"
},
"156": {
name: "cu_catskulls_p90",
tag: "Death by Kitty"
},
"157": {
name: "sp_palm",
tag: "Palm"
},
"158": {
name: "cu_walnut_nova",
tag: "Walnut"
},
"159": {
name: "aq_brass",
tag: "Brass"
},
"162": {
name: "sp_splash_p250",
tag: "Splash"
},
"164": {
name: "hy_hunter_modern",
tag: "Modern Hunter"
},
"165": {
name: "hy_hunter_blaze_pink",
tag: "Splash Jam"
},
"166": {
name: "hy_hunter_blaze_orange",
tag: "Blaze Orange"
},
"167": {
name: "sp_nukestripe_orange",
tag: "Radiation Hazard"
},
"168": {
name: "sp_nukestripe_green",
tag: "Nuclear Threat"
},
"169": {
name: "sp_nukestripe_maroon",
tag: "Fallout Warning"
},
"170": {
name: "sp_zebracam",
tag: "Predator"
},
"171": {
name: "sp_nukestripe_brown",
tag: "Irradiated Alert"
},
"172": {
name: "hy_ak47lam_bw",
tag: "Black Laminate"
},
"174": {
name: "hy_blam_simple",
tag: "BOOM"
},
"175": {
name: "sp_dapple",
tag: "Scorched"
},
"176": {
name: "sp_zebracam_bw",
tag: "Faded Zebra"
},
"177": {
name: "hy_icosahedron",
tag: "Memento"
},
"178": {
name: "hy_doomkitty",
tag: "Doomkitty"
},
"179": {
name: "sp_nukestripe_green_tec9",
tag: "Nuclear Threat"
},
"180": {
name: "cu_fireserpent_ak47_bravo",
tag: "Fire Serpent"
},
"181": {
name: "cu_favela_awp",
tag: "Corticera"
},
"182": {
name: "cu_dragon_p90_bravo",
tag: "Emerald Dragon"
},
"183": {
name: "hy_siege_bravo",
tag: "Overgrowth"
},
"184": {
name: "cu_favela_p2000",
tag: "Corticera"
},
"185": {
name: "am_scales_bravo",
tag: "Golden Koi"
},
"186": {
name: "sp_spray_waves_bravo",
tag: "Wave Spray"
},
"187": {
name: "sp_star_bravo",
tag: "Zirka"
},
"188": {
name: "aq_etched_mac10_bravo",
tag: "Graven"
},
"189": {
name: "hy_ocean_bravo",
tag: "Bright Water"
},
"190": {
name: "cu_season_elites_bravo",
tag: "Black Limba"
},
"191": {
name: "hy_seaside_bravo",
tag: "Tempest"
},
"192": {
name: "hy_crumple_bravo",
tag: "Shattered"
},
"193": {
name: "sp_skull_diagram_bravo",
tag: "Bone Pile"
},
"194": {
name: "sp_spitfire_famas_bravo",
tag: "Spitfire"
},
"195": {
name: "hy_bluepolygon_bravo",
tag: "Demeter"
},
"196": {
name: "an_emerald_bravo",
tag: "Emerald"
},
"197": {
name: "an_navy_bravo",
tag: "Anodized Navy"
},
"198": {
name: "sp_hazard_bravo",
tag: "Hazard"
},
"199": {
name: "sp_tape_dots_bravo",
tag: "Dry Season"
},
"200": {
name: "hy_mayan_dreams_bravo",
tag: "Mayan Dreams"
},
"201": {
name: "sp_palm_bravo",
tag: "Palm"
},
"202": {
name: "hy_ddpat_jungle_bravo",
tag: "Jungle DDPAT"
},
"203": {
name: "aq_steel_bravo",
tag: "Rust Coat"
},
"204": {
name: "hy_ali_tile_bravo",
tag: "Mosaico"
},
"205": {
name: "so_jungle_bravo",
tag: "Jungle"
},
"206": {
name: "so_tornado_bravo",
tag: "Tornado"
},
"207": {
name: "hy_crumple_dark_bravo",
tag: "Facets"
},
"208": {
name: "so_sand_bravo",
tag: "Sand Dune"
},
"209": {
name: "so_olive_bravo",
tag: "Groundwater"
},
"210": {
name: "an_gunmetal_bravo",
tag: "Anodized Gunmetal"
},
"211": {
name: "am_ossify_blue_p2000_bravo",
tag: "Ocean Foam"
},
"212": {
name: "am_crumple_bravo",
tag: "Graphite"
},
"213": {
name: "am_ossify_blue",
tag: "Ocean Foam"
},
"214": {
name: "am_crumple",
tag: "Graphite"
},
"215": {
name: "cu_xray_m4",
tag: "X-Ray"
},
"216": {
name: "an_titanium30v",
tag: "Blue Titanium"
},
"217": {
name: "hy_redtiger",
tag: "Blood Tiger"
},
"218": {
name: "hy_bluehex",
tag: "Hexane"
},
"219": {
name: "hy_redhex",
tag: "Hive"
},
"220": {
name: "am_ossify_red",
tag: "Hemoglobin"
},
"221": {
name: "am_electric_red",
tag: "Serum"
},
"222": {
name: "cu_shark",
tag: "Blood in the Water"
},
"223": {
name: "hy_flowers",
tag: "Nightshade"
},
"224": {
name: "hy_water_crest",
tag: "Water Sigil"
},
"225": {
name: "sp_camo_wood_blue",
tag: "Ghost Camo"
},
"226": {
name: "hy_ak47lam_blue",
tag: "Blue Laminate"
},
"227": {
name: "hy_hive",
tag: "Electric Hive"
},
"228": {
name: "hy_modspots",
tag: "Blind Spot"
},
"229": {
name: "sp_zebracam_blue",
tag: "Azure Zebra"
},
"230": {
name: "am_ddpatdense_silver",
tag: "Steel Disruption"
},
"231": {
name: "am_ddpatdense_peacock",
tag: "Cobalt Disruption"
},
"232": {
name: "hy_webs_darker",
tag: "Crimson Web"
},
"233": {
name: "sp_palm_shadow",
tag: "Tropical Storm"
},
"234": {
name: "sp_twigs",
tag: "Ash Wood"
},
"235": {
name: "hy_varicamo",
tag: "VariCamo"
},
"236": {
name: "hy_varicamo_night",
tag: "Night Ops"
},
"237": {
name: "hy_varicamo_urban",
tag: "Urban Rubble"
},
"238": {
name: "hy_varicamo_blue",
tag: "VariCamo Blue"
},
"240": {
name: "hy_varicamo_desert",
tag: "CaliCamo"
},
"241": {
name: "sp_mesh_slashes",
tag: "Hunting Blind"
},
"242": {
name: "sp_mesh_army",
tag: "Army Mesh"
},
"243": {
name: "sp_mesh_python",
tag: "Gator Mesh"
},
"244": {
name: "sp_mesh_hot_and_cold",
tag: "Teardown"
},
"245": {
name: "sp_spray_army",
tag: "Army Recon"
},
"246": {
name: "aa_fade_metallic",
tag: "Amber Fade"
},
"247": {
name: "aq_damascus_sg553",
tag: "Damascus Steel"
},
"248": {
name: "am_crystallized",
tag: "Red Quartz"
},
"249": {
name: "am_crystallized_blue",
tag: "Cobalt Quartz"
},
"250": {
name: "hy_varicamo_red",
tag: "Full Stop"
},
"251": {
name: "hy_snakeskin",
tag: "Pit Viper"
},
"252": {
name: "am_crystallized_silver",
tag: "Silver Quartz"
},
"253": {
name: "aa_fade_grassland",
tag: "Acid Fade"
},
"254": {
name: "so_orange_accents",
tag: "Nitro"
},
"255": {
name: "cu_m4_asimov",
tag: "Asiimov"
},
"256": {
name: "cu_sawedoff_octopump",
tag: "The Kraken"
},
"257": {
name: "cu_m4a1-s_elegant",
tag: "Guardian"
},
"258": {
name: "cu_p250_refined",
tag: "Mehndi"
},
"259": {
name: "cu_awp_cobra",
tag: "Redline"
},
"260": {
name: "cu_famas_pulse",
tag: "Pulse"
},
"261": {
name: "hy_marina_sunrise",
tag: "Marina"
},
"262": {
name: "am_thorny_rose_mp9",
tag: "Rose Iron"
},
"263": {
name: "cu_skull_nova",
tag: "Rising Skull"
},
"264": {
name: "cu_sandstorm",
tag: "Sandstorm"
},
"265": {
name: "hy_kami",
tag: "Kami"
},
"266": {
name: "aq_obsidian",
tag: "Magma"
},
"267": {
name: "am_turqoise_halftone",
tag: "Cobalt Halftone"
},
"268": {
name: "am_diamond_plate",
tag: "Tread Plate"
},
"269": {
name: "am_fuschia",
tag: "The Fuschia Is Now"
},
"270": {
name: "aq_etched_cz75",
tag: "Victoria"
},
"271": {
name: "am_p250_beaded_paint",
tag: "Undertow"
},
"272": {
name: "am_fluted_tec9",
tag: "Titanium Bit"
},
"273": {
name: "aq_engraved_deagle",
tag: "Heirloom"
},
"274": {
name: "am_copper_flecks",
tag: "Copper Galaxy"
},
"275": {
name: "hy_poly_camo",
tag: "Red FragCam"
},
"276": {
name: "so_panther",
tag: "Panther"
},
"277": {
name: "aq_usp_stainless",
tag: "Stainless"
},
"278": {
name: "hy_craquelure",
tag: "Blue Fissure"
},
"279": {
name: "cu_awp_asimov",
tag: "Asiimov"
},
"280": {
name: "cu_aug_chameleonaire",
tag: "Chameleon"
},
"281": {
name: "cu_ump_corporal",
tag: "Corporal"
},
"282": {
name: "cu_ak47_cobra",
tag: "Redline"
},
"283": {
name: "cu_p90_trigon",
tag: "Trigon"
},
"284": {
name: "cu_mac10_redhot",
tag: "Heat"
},
"285": {
name: "sp_negev_turq_terrain",
tag: "Terrain"
},
"286": {
name: "cu_nova_antique",
tag: "Antique"
},
"287": {
name: "cu_sg553_pulse",
tag: "Pulse"
},
"288": {
name: "an_famas_sgt",
tag: "Sergeant"
},
"289": {
name: "cu_tec9_sandstorm",
tag: "Sandstorm"
},
"290": {
name: "cu_usp_elegant",
tag: "Guardian"
},
"291": {
name: "cu_mag7_heaven",
tag: "Heaven Guard"
},
"293": {
name: "hy_nerodia",
tag: "Death Rattle"
},
"294": {
name: "so_green",
tag: "Green Apple"
},
"295": {
name: "cu_money",
tag: "Franklin"
},
"296": {
name: "am_crystallized_dark",
tag: "Meteorite"
},
"297": {
name: "so_orca",
tag: "Tuxedo"
},
"298": {
name: "am_army_shine",
tag: "Army Sheen"
},
"299": {
name: "am_oval_hex",
tag: "Caged Steel"
},
"300": {
name: "cu_pinstripe_ak47",
tag: "Emerald Pinstripe"
},
"301": {
name: "am_m4a1-s_alloy_orange",
tag: "Atomic Alloy"
},
"302": {
name: "cu_ak47_rubber",
tag: "Vulcan"
},
"303": {
name: "cu_tec9_asiimov",
tag: "Isaac"
},
"304": {
name: "cu_ssg08_immortal",
tag: "Slashed"
},
"305": {
name: "cu_aug_progressiv",
tag: "Torque"
},
"306": {
name: "cu_bizon_antique",
tag: "Antique"
},
"307": {
name: "cu_retribution",
tag: "Retribution"
},
"308": {
name: "hy_galil_kami",
tag: "Kami"
},
"309": {
name: "cu_m4a1_howling",
tag: "Howl"
},
"310": {
name: "cu_mac10_decay",
tag: "Curse"
},
"311": {
name: "cu_p90_scorpius",
tag: "Desert Warfare"
},
"312": {
name: "cu_scar_cyrex",
tag: "Cyrex"
},
"313": {
name: "cu_usp_spitfire",
tag: "Orion"
},
"314": {
name: "cu_xm1014_heaven_guard",
tag: "Heaven Guard"
},
"315": {
name: "am_nitrogen",
tag: "Poison Dart"
},
"316": {
name: "cu_panther_ak47",
tag: "Jaguar"
},
"317": {
name: "cu_bratatat_negev",
tag: "Bratatat"
},
"318": {
name: "cu_usp_sandpapered",
tag: "Road Rash"
},
"319": {
name: "hy_ssg08_marker",
tag: "Detour"
},
"320": {
name: "hy_snakeskin_red",
tag: "Red Python"
},
"321": {
name: "cu_m4a1-s_silence",
tag: "Master Piece"
},
"322": {
name: "so_orange_accents2",
tag: "Nitro"
},
"323": {
name: "aq_steel",
tag: "Rust Coat"
},
"325": {
name: "am_royal",
tag: "Chalice"
},
"326": {
name: "am_metals",
tag: "Knight"
},
"327": {
name: "am_chainmail",
tag: "Chainmail"
},
"328": {
name: "aq_handcannon",
tag: "Hand Cannon"
},
"329": {
name: "am_metal_inlay",
tag: "Dark Age"
},
"330": {
name: "hy_vines",
tag: "Briar"
},
"332": {
name: "hy_indigo_usp",
tag: "Royal Blue"
},
"333": {
name: "so_indigo_and_grey",
tag: "Indigo"
},
"334": {
name: "am_gyrate",
tag: "Twist"
},
"335": {
name: "an_royalbleed",
tag: "Module"
},
"336": {
name: "cu_titanstorm",
tag: "Desert-Strike"
},
"337": {
name: "cu_korupt",
tag: "Tatter"
},
"338": {
name: "cu_p2000_pulse",
tag: "Pulse"
},
"339": {
name: "cu_kaiman",
tag: "Caiman"
},
"340": {
name: "cu_well_traveled_ak47",
tag: "Jet Set"
},
"341": {
name: "cu_green_leather_ak47",
tag: "First Class"
},
"342": {
name: "cu_brown_leather_p90",
tag: "Leather"
},
"343": {
name: "cu_luggage_mac10",
tag: "Commuter"
},
"344": {
name: "cu_medieval_dragon_awp",
tag: "Dragon Lore"
},
"345": {
name: "cu_green_leather_sawedoff",
tag: "First Class"
},
"346": {
name: "cu_luggage_p2000",
tag: "Coach Class"
},
"347": {
name: "aq_pilot_deagle",
tag: "Pilot"
},
"348": {
name: "cu_leather_xm1014",
tag: "Red Leather"
},
"349": {
name: "cu_bizon-osiris",
tag: "Osiris"
},
"350": {
name: "cu_c75a-tiger",
tag: "Tigris"
},
"351": {
name: "cu_deagle_aureus",
tag: "Conspiracy"
},
"352": {
name: "aq_57_feathers",
tag: "Fowl Play"
},
"353": {
name: "cu_glock-liquescent",
tag: "Water Elemental"
},
"354": {
name: "cu_mp7-commander",
tag: "Urban Hazard"
},
"355": {
name: "cu_negev_titanstorm",
tag: "Desert-Strike"
},
"356": {
name: "cu_nova_koi",
tag: "Koi"
},
"357": {
name: "cu_p2000_ivory",
tag: "Ivory"
},
"358": {
name: "cu_bittersweet",
tag: "Supernova"
},
"359": {
name: "cu_p90-asiimov",
tag: "Asiimov"
},
"360": {
name: "cu_m4a1s_cyrex",
tag: "Cyrex"
},
"361": {
name: "aq_leviathan",
tag: "Abyss"
},
"362": {
name: "hy_lines_orange",
tag: "Labyrinth"
},
"363": {
name: "cu_luggage_sg553",
tag: "Traveler"
},
"364": {
name: "cu_luggage_usp-s",
tag: "Business Class"
},
"365": {
name: "hy_plaid1",
tag: "Olive Plaid"
},
"366": {
name: "hy_plaid2",
tag: "Green Plaid"
},
"367": {
name: "am_nuclear_pattern1_glock",
tag: "Reactor"
},
"368": {
name: "hy_nuclear_pattern2_mp9",
tag: "Setting Sun"
},
"369": {
name: "sp_nuclear_pattern3_negev",
tag: "Nuclear Waste"
},
"370": {
name: "am_nuclear_skulls1_xm1014",
tag: "Bone Machine"
},
"371": {
name: "am_nuclear_skulls2_famas",
tag: "Styx"
},
"372": {
name: "am_nuclear_skulls3_mac10",
tag: "Nuclear Garden"
},
"373": {
name: "hy_nuclear_skulls4_p250",
tag: "Contamination"
},
"374": {
name: "hy_nuclear_skulls5_tec9",
tag: "Toxic"
},
"375": {
name: "sp_nukestripe_orange_aug",
tag: "Radiation Hazard"
},
"376": {
name: "so_grey_nuclear_green_bizon",
tag: "Chemical Green"
},
"377": {
name: "so_grey_nuclear_orange_five_seven",
tag: "Hot Shot"
},
"378": {
name: "sp_nukestripe_maroon_sg553",
tag: "Fallout Warning"
},
"379": {
name: "cu_cerbrus_galil",
tag: "Cerberus"
},
"380": {
name: "cu_tribute_ak47",
tag: "Wasteland Rebel"
},
"381": {
name: "aq_glock_coiled",
tag: "Grinder"
},
"382": {
name: "am_g3sg1_murky",
tag: "Murky"
},
"383": {
name: "aq_m4a1s_basilisk",
tag: "Basilisk"
},
"384": {
name: "cu_m4a4_griffin",
tag: "Griffin"
},
"385": {
name: "sp_mag7_firebitten",
tag: "Firestarter"
},
"386": {
name: "cu_mp9_chevron",
tag: "Dart"
},
"387": {
name: "cu_fiveseven_urban_hazard",
tag: "Urban Hazard"
},
"388": {
name: "aq_p250_cartel",
tag: "Cartel"
},
"389": {
name: "cu_p2000_fire_elemental",
tag: "Fire Elemental"
},
"390": {
name: "aq_sawedoff_blackgold",
tag: "Highwayman"
},
"391": {
name: "cu_scar20_intervention",
tag: "Cardiac"
},
"392": {
name: "sp_ump45_d-visions",
tag: "Delusion"
},
"393": {
name: "cu_xm1014_caritas",
tag: "Tranquility"
},
"394": {
name: "aq_ak47_cartel",
tag: "Cartel"
},
"395": {
name: "am_awp_glory",
tag: "Man-o'-war"
},
"396": {
name: "cu_elites_urbanstorm",
tag: "Urban Shock"
},
"397": {
name: "aq_deagle_naga",
tag: "Naga"
},
"398": {
name: "cu_galil_abrasion",
tag: "Chatterbox"
},
"399": {
name: "cu_glock_deathtoll",
tag: "Catacombs"
},
"400": {
name: "cu_m4a4_ancestral",
tag: "龍王 (Dragon King)"
},
"401": {
name: "cu_m249_sektor",
tag: "System Lock"
},
"402": {
name: "am_mac10_malachite",
tag: "Malachite"
},
"403": {
name: "cu_mp9_deadly_poison",
tag: "Deadly Poison"
},
"404": {
name: "cu_p250_mandala",
tag: "Muertos"
},
"405": {
name: "cu_sawedoff_deva",
tag: "Serenity"
},
"406": {
name: "aq_scar20_leak",
tag: "Grotto"
},
"407": {
name: "aq_xm1014_sigla",
tag: "Quicksilver"
},
"409": {
name: "an_tiger_orange",
tag: "Tiger Tooth"
},
"410": {
name: "aq_damascus",
tag: "Damascus Steel"
},
"411": {
name: "aq_damascus_90",
tag: "Damascus Steel"
},
"413": {
name: "am_marble_fade",
tag: "Marble Fade"
},
"414": {
name: "aq_steel_knife",
tag: "Rust Coat"
},
"415": {
name: "am_ruby_marbleized",
tag: "Doppler"
},
"416": {
name: "am_sapphire_marbleized",
tag: "Doppler"
},
"417": {
name: "am_blackpearl_marbleized",
tag: "Doppler"
},
"418": {
name: "am_doppler_phase1",
tag: "Doppler"
},
"419": {
name: "am_doppler_phase2",
tag: "Doppler"
},
"420": {
name: "am_doppler_phase3",
tag: "Doppler"
},
"421": {
name: "am_doppler_phase4",
tag: "Doppler"
},
"422": {
name: "cu_ak47_mastery",
tag: "Elite Build"
},
"423": {
name: "aq_mp7_ultramodern",
tag: "Armor Core"
},
"424": {
name: "aq_awp_twine",
tag: "Worm God"
},
"425": {
name: "am_bronze_sparkle",
tag: "Bronze Deco"
},
"426": {
name: "aq_p250_contour",
tag: "Valence"
},
"427": {
name: "cu_fiveseven_banana",
tag: "Monkey Business"
},
"428": {
name: "cu_galil_eco",
tag: "Eco"
},
"429": {
name: "aq_famas_jinn",
tag: "Djinn"
},
"430": {
name: "cu_m4a1_hyper_beast",
tag: "Hyper Beast"
},
"431": {
name: "cu_mag7_redhot",
tag: "Heat"
},
"432": {
name: "am_negev_glory",
tag: "Man-o'-war"
},
"433": {
name: "cu_mac10_neonrider",
tag: "Neon Rider"
},
"434": {
name: "cu_sawedoff_origami",
tag: "Origami"
},
"435": {
name: "cu_cz75_precision",
tag: "Pole Position"
},
"436": {
name: "am_ump_racer",
tag: "Grand Prix"
},
"437": {
name: "am_aqua_flecks",
tag: "Twilight Galaxy"
},
"438": {
name: "cu_chronos_g3sg1",
tag: "Chronos"
},
"439": {
name: "hy_hades",
tag: "Hades"
},
"440": {
name: "hy_icarus",
tag: "Icarus Fell"
},
"441": {
name: "cu_labyrinth",
tag: "Minotaur's Labyrinth"
},
"442": {
name: "sp_labyrinth",
tag: "Asterion"
},
"443": {
name: "sp_labyrinth2",
tag: "Pathfinder"
},
"444": {
name: "sp_labyrinth3",
tag: "Daedalus"
},
"445": {
name: "an_red_m4a1s",
tag: "Hot Rod"
},
"446": {
name: "cu_medusa_awp",
tag: "Medusa"
},
"447": {
name: "gs_mother_of_pearl_elite",
tag: "Duelist"
},
"448": {
name: "aa_pandora",
tag: "Pandora's Box"
},
"449": {
name: "cu_poseidon",
tag: "Poseidon"
},
"450": {
name: "hy_zodiac1",
tag: "Moon in Libra"
},
"451": {
name: "hy_zodiac2",
tag: "Sun in Leo"
},
"452": {
name: "hy_zodiac3",
tag: "Shipping Forecast"
},
"453": {
name: "an_emerald",
tag: "Emerald"
},
"454": {
name: "so_khaki_green",
tag: "Para Green"
},
"455": {
name: "cu_anime_aug",
tag: "Akihabara Accept"
},
"456": {
name: "am_bamboo_jungle",
tag: "Hydroponic"
},
"457": {
name: "hy_bamboo_jungle_ink",
tag: "Bamboo Print"
},
"458": {
name: "hy_bamboo_jungle_black",
tag: "Bamboo Shadow"
},
"459": {
name: "hy_bamboo_jungle",
tag: "Bamboo Forest"
},
"460": {
name: "am_geometric_steps",
tag: "Aqua Terrace"
},
"462": {
name: "hy_geometric_steps_green",
tag: "Counter Terrace"
},
"463": {
name: "hy_geometric_steps_yellow",
tag: "Terrace"
},
"464": {
name: "hy_kimono_diamonds",
tag: "Neon Kimono"
},
"465": {
name: "hy_kimono_diamonds_orange",
tag: "Orange Kimono"
},
"466": {
name: "hy_kimono_diamonds_red",
tag: "Crimson Kimono"
},
"467": {
name: "sp_kimono_diamonds",
tag: "Mint Kimono"
},
"468": {
name: "am_seastorm",
tag: "Midnight Storm"
},
"469": {
name: "am_seastorm_blood",
tag: "Sunset Storm 壱"
},
"470": {
name: "am_seastorm_shojo",
tag: "Sunset Storm 弐"
},
"471": {
name: "am_kimono_sunrise",
tag: "Daybreak"
},
"472": {
name: "so_keycolors",
tag: "Impact Drill"
},
"473": {
name: "so_aqua",
tag: "Seabird"
},
"474": {
name: "cu_ak47_courage_alt",
tag: "Aquamarine Revenge"
},
"475": {
name: "cu_awp_hyper_beast",
tag: "Hyper Beast"
},
"476": {
name: "cu_cz75a_chastizer",
tag: "Yellow Jacket"
},
"477": {
name: "am_famas_dots",
tag: "Neural Net"
},
"478": {
name: "cu_galilar_particles",
tag: "Rocket Pop"
},
"479": {
name: "aq_glock18_flames_blue",
tag: "Bunsen Burner"
},
"480": {
name: "cu_m4a4_evil_daimyo",
tag: "Evil Daimyo"
},
"481": {
name: "cu_mp7_nemsis",
tag: "Nemesis"
},
"482": {
name: "am_mp9_nitrogen",
tag: "Ruby Poison Dart"
},
"483": {
name: "cu_negev_annihilator",
tag: "Loudmouth"
},
"484": {
name: "cu_nova_ranger",
tag: "Ranger"
},
"485": {
name: "aq_p2000_boom",
tag: "Handgun"
},
"486": {
name: "cu_p90_mastery",
tag: "Elite Build"
},
"487": {
name: "cu_sg553_cyrex",
tag: "Cyrex"
},
"488": {
name: "cu_ump45_uproar",
tag: "Riot"
},
"489": {
name: "cu_usp_progressiv",
tag: "Torque"
},
"490": {
name: "cu_ak47_winter_sport",
tag: "Frontside Misty"
},
"491": {
name: "cu_dualberretta_dragons",
tag: "Dualing Dragons"
},
"492": {
name: "cu_famas_lenta",
tag: "Survivor Z"
},
"493": {
name: "gs_g3sg1_flux_purple",
tag: "Flux"
},
"494": {
name: "gs_galil_nightwing",
tag: "Stone Cold"
},
"495": {
name: "gs_glock18_wrathys",
tag: "Wraiths"
},
"496": {
name: "gs_m249_nebula_crusader",
tag: "Nebula Crusader"
},
"497": {
name: "gs_m4a1s_snakebite_gold",
tag: "Golden Coil"
},
"498": {
name: "cu_mac10_alekhya_duo",
tag: "Rangeen"
},
"499": {
name: "cu_mag7_myrcene",
tag: "Cobalt Core"
},
"500": {
name: "cu_mp7_classified",
tag: "Special Delivery"
},
"501": {
name: "hy_p250_crackshot",
tag: "Wingshot"
},
"502": {
name: "gs_scar20_peacemaker03",
tag: "Green Marine"
},
"503": {
name: "cu_ssg08_technicality",
tag: "Big Iron"
},
"504": {
name: "cu_usp_kill_confirmed",
tag: "Kill Confirmed"
},
"505": {
name: "aq_xm1014_scumbria",
tag: "Scumbria"
},
"506": {
name: "cu_ak47_point_disarray",
tag: "Point Disarray"
},
"507": {
name: "am_aug_jumble",
tag: "Ricochet"
},
"508": {
name: "cu_bizon_noxious",
tag: "Fuel Rod"
},
"509": {
name: "aq_deagle_corinthian",
tag: "Corinthian"
},
"510": {
name: "cu_fiveseven_retrobution",
tag: "Retrobution"
},
"511": {
name: "cu_g3sg1_executioner",
tag: "The Executioner"
},
"512": {
name: "gs_m4a4_royal_squire",
tag: "Royal Paladin"
},
"514": {
name: "cu_negev_impact",
tag: "Power Loader"
},
"515": {
name: "am_p2000_imperial_red",
tag: "Imperial"
},
"516": {
name: "cu_p90_shapewood",
tag: "Shapewood"
},
"517": {
name: "gs_sawedoff_necromancer",
tag: "Yorick"
},
"518": {
name: "hy_scar20_jungler",
tag: "Outbreak"
},
"519": {
name: "gs_sg553_tiger_moth",
tag: "Tiger Moth"
},
"520": {
name: "cu_tec9_avalanche",
tag: "Avalanche"
},
"521": {
name: "aq_xm1014_hot_rod",
tag: "Teclu Burner"
},
"522": {
name: "aa_fade_revolver",
tag: "Fade"
},
"523": {
name: "aa_fade_metallic_revolver",
tag: "Amber Fade"
},
"524": {
name: "gs_ak47_supercharged",
tag: "Fuel Injector"
},
"525": {
name: "cu_awp_mastery",
tag: "Elite Build"
},
"526": {
name: "cu_bizon_citizen",
tag: "Photic Zone"
},
"527": {
name: "aq_deserteagle_kumichodragon",
tag: "Kumicho Dragon"
},
"528": {
name: "aq_dualberettas_cartel",
tag: "Cartel"
},
"529": {
name: "aq_famas_contour",
tag: "Valence"
},
"530": {
name: "cu_fiveseven_augmented",
tag: "Triumvirate"
},
"532": {
name: "gs_glock18_award",
tag: "Royal Legion"
},
"533": {
name: "gs_m4a4_pioneer",
tag: "The Battlestar"
},
"534": {
name: "am_mac10_electricity",
tag: "Lapis Gator"
},
"535": {
name: "gs_mag7_praetorian",
tag: "Praetorian"
},
"536": {
name: "sp_mp7_impire",
tag: "Impire"
},
"537": {
name: "cu_nova_hyperbeast",
tag: "Hyper Beast"
},
"538": {
name: "cu_ssg08_necropos",
tag: "Necropos"
},
"539": {
name: "gs_tec9_jambiya",
tag: "Jambiya"
},
"540": {
name: "gs_usp_voltage",
tag: "Lead Conduit"
},
"541": {
name: "cu_aug_swallows",
tag: "Fleet Flock"
},
"542": {
name: "cu_bizon_Curse",
tag: "Judgement of Anubis"
},
"543": {
name: "gs_cz75a_redastor",
tag: "Red Astor"
},
"544": {
name: "gs_dualberettas_ventilators",
tag: "Ventilators"
},
"545": {
name: "sp_g3sg1_militiaorange",
tag: "Orange Crash"
},
"546": {
name: "gs_galilar_incenerator",
tag: "Firefight"
},
"547": {
name: "cu_m249_spectre",
tag: "Spectre"
},
"548": {
name: "cu_m4a1s_soultaker",
tag: "Chantico's Fire"
},
"549": {
name: "am_mp9_bioleak",
tag: "Bioleak"
},
"550": {
name: "hy_p2000_oceani",
tag: "Oceanic"
},
"551": {
name: "cu_p250_asiimov",
tag: "Asiimov"
},
"552": {
name: "gs_sawedoff_fubar",
tag: "Fubar"
},
"553": {
name: "cu_sg553_atlas",
tag: "Atlas"
},
"554": {
name: "gs_ssg08_armacore",
tag: "Ghost Crusader"
},
"555": {
name: "am_tec9_redblast",
tag: "Re-Entry"
},
"556": {
name: "cu_ump45_primalsaber",
tag: "Primal Saber"
},
"557": {
name: "cu_xm1014_spectrum",
tag: "Black Tie"
},
"558": {
name: "cu_bayonet_lore",
tag: "Lore"
},
"559": {
name: "cu_flip_lore",
tag: "Lore"
},
"560": {
name: "cu_gut_lore",
tag: "Lore"
},
"561": {
name: "cu_karam_lore",
tag: "Lore"
},
"562": {
name: "cu_m9_bay_lore",
tag: "Lore"
},
"563": {
name: "cu_bayonet_stonewash",
tag: "Black Laminate"
},
"564": {
name: "cu_flip_stonewash",
tag: "Black Laminate"
},
"565": {
name: "cu_gut_stonewash",
tag: "Black Laminate"
},
"566": {
name: "cu_karam_stonewash",
tag: "Black Laminate"
},
"567": {
name: "cu_m9_bay_stonewash",
tag: "Black Laminate"
},
"568": {
name: "am_emerald_marbleized",
tag: "Gamma Doppler"
},
"569": {
name: "am_gamma_doppler_phase1",
tag: "Gamma Doppler"
},
"570": {
name: "am_gamma_doppler_phase2",
tag: "Gamma Doppler"
},
"571": {
name: "am_gamma_doppler_phase3",
tag: "Gamma Doppler"
},
"572": {
name: "am_gamma_doppler_phase4",
tag: "Gamma Doppler"
},
"573": {
name: "gs_bayonet_autotronic",
tag: "Autotronic"
},
"574": {
name: "gs_flip_autotronic",
tag: "Autotronic"
},
"575": {
name: "gs_gut_autotronic",
tag: "Autotronic"
},
"576": {
name: "gs_karam_autotronic",
tag: "Autotronic"
},
"577": {
name: "gs_m9_bay_autotronic",
tag: "Autotronic"
},
"578": {
name: "hy_ocean_knife",
tag: "Bright Water"
},
"579": {
name: "hy_ocean_knife_90",
tag: "Bright Water"
},
"580": {
name: "am_marked_up",
tag: "Freehand"
},
"581": {
name: "am_marked_up_90",
tag: "Freehand"
},
"582": {
name: "am_marked_up_fine",
tag: "Freehand"
},
"583": {
name: "gs_aug_aristocrat",
tag: "Aristocrat"
},
"584": {
name: "gs_awp_phobos",
tag: "Phobos"
},
"585": {
name: "cu_five_seven_daimyo",
tag: "Violent Daimyo"
},
"586": {
name: "cu_glock_wasteland_rebel",
tag: "Wasteland Rebel"
},
"587": {
name: "gs_m4a1_mecha_industries",
tag: "Mecha Industries"
},
"588": {
name: "cu_m4a4_desolate_space",
tag: "Desolate Space"
},
"589": {
name: "aq_mac_10_alien_camo",
tag: "Carnivore"
},
"590": {
name: "aq_nova_sci_fi",
tag: "Exo"
},
"591": {
name: "gs_p2000_imperial_dragon",
tag: "Imperial Dragon"
},
"592": {
name: "gs_p250_metal_panels",
tag: "Iron Clad"
},
"593": {
name: "gs_p90_full_throttle",
tag: "Chopper"
},
"594": {
name: "gs_pp_bizon_harvester",
tag: "Harvester"
},
"595": {
name: "cu_r8_cybersport",
tag: "Reboot"
},
"596": {
name: "cu_sawed_off_lime",
tag: "Limelight"
},
"597": {
name: "gs_scar20_bloodsport",
tag: "Bloodsport"
},
"598": {
name: "cu_sg553_aerial",
tag: "Aerial"
},
"599": {
name: "am_tec_9_sea_salt",
tag: "Ice Cap"
},
"600": {
name: "cu_ak47_anarchy",
tag: "Neon Revolution"
},
"601": {
name: "gs_aug_syd_mead",
tag: "Syd Mead"
},
"602": {
name: "gs_cz75_tread",
tag: "Imprint"
},
"603": {
name: "aq_desert_eagle_constable",
tag: "Directive"
},
"604": {
name: "gs_famas_rally",
tag: "Roll Cage"
},
"605": {
name: "aq_five_seven_scumbria",
tag: "Scumbria"
},
"606": {
name: "gs_g3sg1_ventilator",
tag: "Ventilator"
},
"607": {
name: "cu_glock18_weasel",
tag: "Weasel"
},
"608": {
name: "cu_mag7_tribal",
tag: "Petroglyph"
},
"609": {
name: "cu_mp9_narcis",
tag: "Airlock"
},
"610": {
name: "hy_negev_dazzle",
tag: "Dazzle"
},
"611": {
name: "cu_p90_grimm",
tag: "Grim"
},
"612": {
name: "gs_scar20_powercore",
tag: "Powercore"
},
"613": {
name: "cu_sg556_triarch",
tag: "Triarch"
},
"614": {
name: "gs_tec9_supercharged",
tag: "Fuel Injector"
},
"615": {
name: "cu_ump45_metritera",
tag: "Briefing"
},
"616": {
name: "hy_xm1014_fractal_blue",
tag: "Slipstream"
},
"617": {
name: "am_blackpearl_marbleized_b",
tag: "Doppler"
},
"618": {
name: "am_doppler_phase2_b",
tag: "Doppler"
},
"619": {
name: "am_sapphire_marbleized_b",
tag: "Doppler"
},
"620": {
name: "cu_purple_huntsman",
tag: "Ultraviolet"
},
"621": {
name: "so_purple_falchion",
tag: "Ultraviolet"
},
"622": {
name: "am_czv2_mf",
tag: "Polymer"
},
"623": {
name: "aq_glock_dark-fall",
tag: "Ironwork"
},
"624": {
name: "cu_ssg08_dragonfire_scope",
tag: "Dragonfire"
},
"625": {
name: "gs_dual_berettas_golden_venice",
tag: "Royal Consorts"
},
"626": {
name: "gs_famas_mecha",
tag: "Mecha Industries"
},
"627": {
name: "gs_final_pooldeadv2",
tag: "Cirrus"
},
"628": {
name: "gs_g3sg1_viper_yellow",
tag: "Stinger"
},
"629": {
name: "cu_galil_ar-camo",
tag: "Black Sand"
},
"630": {
name: "aa_hide-mp9",
tag: "Sand Scale"
},
"631": {
name: "cu_m4a1_flashback",
tag: "Flashback"
},
"632": {
name: "gs_m4a4_sector",
tag: "Buzz Kill"
},
"633": {
name: "am_mag7_malform",
tag: "Sonar"
},
"634": {
name: "am_nova_sand",
tag: "Gila"
},
"635": {
name: "gs_p2000-sport",
tag: "Turf"
},
"636": {
name: "gs_p90_shallow_grave",
tag: "Shallow Grave"
},
"637": {
name: "cu_usp_cyrex",
tag: "Cyrex"
},
"638": {
name: "cu_wp_sawedoff",
tag: "Wasteland Princess"
},
"639": {
name: "gs_ak47_bloodsport",
tag: "Bloodsport"
},
"640": {
name: "cu_awp_psychopath",
tag: "Fever Dream"
},
"641": {
name: "hy_bizon_torn_green",
tag: "Jungle Slipstream"
},
"642": {
name: "cu_blueprint_scar",
tag: "Blueprint"
},
"643": {
name: "gs_cz_snakes_purple",
tag: "Xiangliu"
},
"644": {
name: "gs_m4a1_decimator",
tag: "Decimator"
},
"645": {
name: "cu_desert_eagle_corroden",
tag: "Oxide Blaze"
},
"646": {
name: "cu_fiveseven_vein",
tag: "Capillary"
},
"647": {
name: "sp_galil_wave",
tag: "Crimson Tsunami"
},
"648": {
name: "sp_m249_frog_original",
tag: "Emerald Poison Dart"
},
"649": {
name: "sp_mp7_tribal_yellow",
tag: "Akoben"
},
"650": {
name: "am_p250_sputnik",
tag: "Ripple"
},
"651": {
name: "aa_mac10_the_last_dive",
tag: "Last Dive"
},
"652": {
name: "gs_ump_abyss",
tag: "Scaffold"
},
"653": {
name: "cu_usps_noir",
tag: "Neo-Noir"
},
"654": {
name: "aq_xm_leaf_fade",
tag: "Seasons"
},
"655": {
name: "aq_sawedoff_zander2",
tag: "Zander"
},
"656": {
name: "gs_ak_colony01_red",
tag: "Orbit Mk01"
},
"657": {
name: "cu_usps_blueprint",
tag: "Blueprint"
},
"658": {
name: "gs_dualberettas_cobra",
tag: "Cobra Strike"
},
"659": {
name: "sp_famas_macabre",
tag: "Macabre"
},
"660": {
name: "cu_fiveseven_hyperbeast",
tag: "Hyper Beast"
},
"661": {
name: "cu_galil_candychaos",
tag: "Sugar Rush"
},
"662": {
name: "cu_awp_hannya",
tag: "Oni Taiji"
},
"663": {
name: "cu_m4a1s_metritera",
tag: "Briefing"
},
"664": {
name: "cu_m4a4_hellfire",
tag: "Hellfire"
},
"665": {
name: "am_mac10_aloha",
tag: "Aloha"
},
"666": {
name: "am_mag7_caustic",
tag: "Hard Water"
},
"667": {
name: "cu_p2000_hunter",
tag: "Woodsman"
},
"668": {
name: "cu_p250_axiom",
tag: "Red Rock"
},
"669": {
name: "hy_p90_barebones_blue",
tag: "Death Grip"
},
"670": {
name: "cu_ssg08_deathshead",
tag: "Death's Head"
},
"671": {
name: "aq_tec9_chalk_pattern",
tag: "Cut Out"
},
"672": {
name: "aq_ump45_flameflower",
tag: "Metal Flowers"
},
"673": {
name: "aq_sawed-off_flower",
tag: "Morris"
},
"674": {
name: "cu_aug_orange_triangle",
tag: "Triqua"
},
"675": {
name: "gs_ak47_empress",
tag: "The Empress"
},
"676": {
name: "cu_bizon_all_in",
tag: "High Roller"
},
"677": {
name: "gs_g3sg1_cetme_redux",
tag: "Hunter"
},
"678": {
name: "cu_p250_cybercroc",
tag: "See Ya Later"
},
"679": {
name: "cu_mp9_goo",
tag: "Goo"
},
"680": {
name: "cu_glock_indigo",
tag: "Off World"
},
"681": {
name: "gs_m4a1_shatter",
tag: "Leaded Glass"
},
"682": {
name: "am_mac10_oceani",
tag: "Oceanic"
},
"683": {
name: "gs_r8_llamacannon",
tag: "Llama Cannon"
},
"684": {
name: "cu_tec9_cracked_opal",
tag: "Cracked Opal"
},
"685": {
name: "hy_scar20_jungle_slipstream",
tag: "Jungle Slipstream"
},
"686": {
name: "gs_sg553_phantom",
tag: "Phantom"
},
"687": {
name: "gs_cz75_tacticat",
tag: "Tacticat"
},
"688": {
name: "cu_ump45_x-ray_machine",
tag: "Exposure"
},
"689": {
name: "aq_xm1014_ziggy_anarchy",
tag: "Ziggy"
},
"690": {
name: "gs_aug_stymphalian_birds",
tag: "Stymphalian"
},
"691": {
name: "gs_awp_death",
tag: "Mortis"
},
"692": {
name: "cu_bizon_riot",
tag: "Night Riot"
},
"693": {
name: "gs_fiveseven_hot_rod_violet",
tag: "Flame Test"
},
"694": {
name: "aa_glock_18_urban_moon_fever",
tag: "Moonrise"
},
"695": {
name: "cu_m4a4_neo_noir",
tag: "Neo-Noir"
},
"696": {
name: "gs_mp7_bloodsport",
tag: "Bloodsport"
},
"697": {
name: "cu_mp9_black_sand",
tag: "Black Sand"
},
"698": {
name: "sp_negev_lionfish",
tag: "Lionfish"
},
"699": {
name: "gs_nova_anchorite",
tag: "Wild Six"
},
"700": {
name: "cu_p2000_urban_hazard",
tag: "Urban Hazard"
},
"701": {
name: "gs_revolver_tread",
tag: "Grip"
},
"702": {
name: "sp_sg533_aloha",
tag: "Aloha"
},
"703": {
name: "aq_mag7_swag7",
tag: "SWAG-7"
},
"704": {
name: "cu_ump45_white_fang",
tag: "Arctic Wolf"
},
"705": {
name: "cu_usp_cut",
tag: "Cortex"
},
"706": {
name: "cu_xm1014_oxide_blaze",
tag: "Oxide Blaze"
},
"707": {
name: "cu_ak_neon_rider",
tag: "Neon Rider"
},
"708": {
name: "hy_aug_torn_orange",
tag: "Amber Slipstream"
},
"709": {
name: "cu_cz75_eco",
tag: "Eco"
},
"710": {
name: "sp_elites_winter_raider",
tag: "Shred"
},
"711": {
name: "gs_deagle_aggressor",
tag: "Code Red"
},
"712": {
name: "gs_g3sg1_buccaneer",
tag: "High Seas"
},
"713": {
name: "gs_glock_thunder_dust",
tag: "Warhawk"
},
"714": {
name: "cu_m4a1s_nightmare",
tag: "Nightmare"
},
"715": {
name: "cu_mp9_vein",
tag: "Capillary"
},
"716": {
name: "cu_nova_toy_soldier",
tag: "Toy Soldier"
},
"717": {
name: "gs_p90_tread",
tag: "Traction"
},
"718": {
name: "am_awp_pawpaw",
tag: "PAW"
},
"719": {
name: "gs_powercore_mp7",
tag: "Powercore"
},
"720": {
name: "cu_sawedoff_devourer",
tag: "Devourer"
},
"721": {
name: "cu_r8_survivalist",
tag: "Survivalist"
},
"722": {
name: "cu_tec9_snake",
tag: "Snek-9"
},
"723": {
name: "cu_famas_owl_orange",
tag: "Eye of Athena"
},
"724": {
name: "cu_ak_island_floral",
tag: "Wild Lotus"
},
"725": {
name: "hy_bloom_red",
tag: "Day Lily"
},
"726": {
name: "sp_bloom_orange",
tag: "Sunset Lily"
},
"727": {
name: "am_bloom_blue",
tag: "Midnight Lily"
},
"728": {
name: "sp_bud_green",
tag: "Teal Blossom"
},
"729": {
name: "hy_bud_red",
tag: "Crimson Blossom"
},
"730": {
name: "sp_bud_blue",
tag: "Dark Blossom"
},
"731": {
name: "hy_leaf_green",
tag: "Banana Leaf"
},
"732": {
name: "hy_leaf_blue",
tag: "Synth Leaf"
},
"733": {
name: "sp_leaf_orange",
tag: "Rust Leaf"
},
"734": {
name: "cu_mp9_island_floral",
tag: "Wild Lily"
},
"735": {
name: "sp_nightstripe",
tag: "Night Stripe"
},
"736": {
name: "gs_awp_enamel",
tag: "The Prince"
},
"737": {
name: "gs_mag7_glass",
tag: "Cinquedea"
},
"738": {
name: "hy_murano_orange",
tag: "Orange Murano"
},
"739": {
name: "am_murano_violet",
tag: "Violet Murano"
},
"740": {
name: "hy_murano_blue",
tag: "Navy Murano"
},
"741": {
name: "am_ren_dark",
tag: "Dark Filigree"
},
"742": {
name: "am_ren_red",
tag: "Red Filigree"
},
"743": {
name: "hy_ren_orange",
tag: "Orange Filigree"
},
"744": {
name: "am_veneto_red",
tag: "Baroque Red"
},
"745": {
name: "hy_veneto_purple",
tag: "Baroque Purple"
},
"746": {
name: "am_veneto2",
tag: "Baroque Orange"
},
"747": {
name: "cu_dual_elites_rally",
tag: "Twin Turbo"
},
"748": {
name: "gs_mac10_checker",
tag: "Calf Skin"
},
"749": {
name: "gs_p250_checker",
tag: "Vino Primo"
},
"750": {
name: "cu_sg553_rally",
tag: "Integrale"
},
"751": {
name: "gs_ssg08_checker",
tag: "Hand Brake"
},
"752": {
name: "aa_fade_mp7",
tag: "Fade"
},
"753": {
name: "sp_tape_short_rally",
tag: "Dirt Drop"
},
"754": {
name: "aq_steel_inferno",
tag: "Rust Coat"
},
"755": {
name: "hy_splatter3",
tag: "Slide"
},
"756": {
name: "gs_awp_gungnir",
tag: "Gungnir"
},
"757": {
name: "am_jorm_green",
tag: "Emerald Jörmungandr"
},
"758": {
name: "am_jorm_orange",
tag: "Flame Jörmungandr"
},
"759": {
name: "am_jorm_blue",
tag: "Astral Jörmungandr"
},
"760": {
name: "am_knots_silver",
tag: "Frost Borre"
},
"761": {
name: "am_knots_brown",
tag: "Copper Borre"
},
"762": {
name: "so_rune_stone",
tag: "Red Stone"
},
"763": {
name: "gs_negev_thor",
tag: "Mjölnir"
},
"764": {
name: "gs_deagle_fennec",
tag: "Fennec Fox"
},
"765": {
name: "aa_desert_bloom_bright",
tag: "Desert Blossom"
},
"775": {
name: "hy_blueprint_white",
tag: "Facility Sketch"
},
"776": {
name: "hy_blueprint_aqua",
tag: "Facility Negative"
},
"777": {
name: "hy_blueprint_red",
tag: "Facility Draft"
},
"778": {
name: "hy_blueprint_bluered",
tag: "Facility Dark"
},
"779": {
name: "am_circuitboard_orange",
tag: "Random Access"
},
"780": {
name: "am_circuitboard_silver",
tag: "Mainframe"
},
"781": {
name: "am_circuitboard_aqua",
tag: "Co-Processor"
},
"782": {
name: "am_circuitboard_green",
tag: "Motherboard"
},
"783": {
name: "hy_ducts_yellow",
tag: "Bulkhead"
},
"784": {
name: "hy_ducts_green",
tag: "Coolant"
},
"785": {
name: "hy_ducts_grey",
tag: "Mandrel"
},
"786": {
name: "hy_ducts_blue",
tag: "Exchanger"
},
"787": {
name: "hy_nuclear_hotorange",
tag: "Core Breach"
},
"788": {
name: "hy_nuclear_skulls_redblue",
tag: "Acheron"
},
"789": {
name: "am_nuclear_skulls_green",
tag: "Nuclear Garden"
},
"790": {
name: "hy_nuclear_skulls_aqua",
tag: "Cold Fusion"
},
"791": {
name: "gs_tec9_envoy",
tag: "Remote Control"
},
"792": {
name: "gs_m4a1s_operator",
tag: "Control Panel"
},
"793": {
name: "hy_red_hex",
tag: "Converter"
},
"794": {
name: "sp_mesh_safetyblack",
tag: "Sweeper"
},
"795": {
name: "hy_mesh_safetyorange",
tag: "Safety Net"
},
"796": {
name: "sp_mesh_safetyred",
tag: "Check Engine"
},
"797": {
name: "aa_vertigo_red",
tag: "Brake Light"
},
"798": {
name: "so_orange_accents3",
tag: "Nitro"
},
"799": {
name: "aa_vertigo_blue",
tag: "High Beam"
},
"800": {
name: "hy_labrat_mp5",
tag: "Lab Rats"
},
"801": {
name: "cu_ak47_asiimov",
tag: "Asiimov"
},
"802": {
name: "cu_ump_arrows",
tag: "Momentum"
},
"803": {
name: "cu_awp_neonoir",
tag: "Neo-Noir"
},
"804": {
name: "gs_mp9_colony01",
tag: "Modest Threat"
},
"805": {
name: "gs_deagle_mecha",
tag: "Mecha Industries"
},
"806": {
name: "gs_g3sg1_savage",
tag: "Scavenger"
},
"807": {
name: "hy_galil_signal_red",
tag: "Signal"
},
"808": {
name: "cu_glock18_corroden",
tag: "Oxide Blaze"
},
"809": {
name: "gs_nova_hunter_brute",
tag: "Wood Fired"
},
"810": {
name: "gs_mp5_festival_drip",
tag: "Phosphor"
},
"811": {
name: "gs_m4a4_chopper_ghost",
tag: "Magnesium"
},
"812": {
name: "gs_mac10_exo_pipes",
tag: "Pipe Down"
},
"813": {
name: "aa_p250_gravediggers",
tag: "Nevermore"
},
"814": {
name: "cu_sawedoff_black_sand",
tag: "Black Sand"
},
"815": {
name: "gs_sg553_over_heated",
tag: "Danger Close"
},
"816": {
name: "gs_tec9_fubar",
tag: "Fubar"
},
"817": {
name: "cu_usp_flashback",
tag: "Flashback"
},
"818": {
name: "am_ddpat_purple",
tag: "Purple DDPAT"
},
"819": {
name: "gs_awp_hydra",
tag: "Desert Hydra"
},
"820": {
name: "am_mirage_flowers_metalic",
tag: "Music Box"
},
"821": {
name: "am_moro_textile_bright",
tag: "Elegant Vines"
},
"822": {
name: "am_navy_shine",
tag: "Navy Sheen"
},
"823": {
name: "gs_aug_sand_storm",
tag: "Sand Storm"
},
"824": {
name: "sp_dry_wood",
tag: "Drift Wood"
},
"825": {
name: "sp_desert_skulls_dawn",
tag: "Drought"
},
"826": {
name: "sp_mirage_flowers_tan",
tag: "Sienna Damask"
},
"827": {
name: "sp_moro_carving_burnt",
tag: "Humidor"
},
"828": {
name: "sp_moro_textile_green_vine",
tag: "Verdant Growth"
},
"829": {
name: "hy_lizard_skin",
tag: "Anolis"
},
"835": {
name: "sp_famas_ghost_insects",
tag: "Crypsis"
},
"836": {
name: "cu_ak47_aztec",
tag: "Uncharted"
},
"837": {
name: "cu_five_seven_angry",
tag: "Angry Mob"
},
"838": {
name: "cu_awp_viper",
tag: "Atheris"
},
"839": {
name: "cu_tec9_bamboo",
tag: "Bamboozle"
},
"840": {
name: "gs_mac10_fish_bait",
tag: "Whitefish"
},
"841": {
name: "gs_deagle_exo",
tag: "Light Rail"
},
"842": {
name: "sp_galil_akoben",
tag: "Akoben"
},
"843": {
name: "cu_revolver_oppressor",
tag: "Skull Crusher"
},
"844": {
name: "gs_m4a4_emperor",
tag: "The Emperor"
},
"845": {
name: "cu_aug_momentum",
tag: "Momentum"
},
"846": {
name: "gs_mp5sd_astromatic",
tag: "Gauss"
},
"847": {
name: "cu_mp7_racketeer",
tag: "Mischief"
},
"848": {
name: "aq_p250_verdigris",
tag: "Verdigris"
},
"849": {
name: "cu_p90_offworld",
tag: "Off World"
},
"850": {
name: "cu_xm1014_incinerator",
tag: "Incinegator"
},
"851": {
name: "aa_ump45_moonrise_sunset",
tag: "Moonrise"
},
"852": {
name: "am_doppler_phase1_widow",
tag: "Doppler"
},
"853": {
name: "am_doppler_phase2_widow",
tag: "Doppler"
},
"854": {
name: "am_doppler_phase3_widow",
tag: "Doppler"
},
"855": {
name: "am_doppler_phase4_widow",
tag: "Doppler"
},
"856": {
name: "am_marble_fade_widow",
tag: "Marble Fade"
},
"857": {
name: "aq_damascus_prisma",
tag: "Damascus Steel"
},
"858": {
name: "aq_damascus_widow",
tag: "Damascus Steel"
},
"859": {
name: "am_crystallized_green",
tag: "Emerald Quartz"
},
"860": {
name: "hy_gelpen_dark",
tag: "Pyre"
},
"861": {
name: "sp_asgard_wall",
tag: "Barricade"
},
"862": {
name: "am_crystallized_dark_green",
tag: "Moss Quartz"
},
"863": {
name: "sp_knots_blue",
tag: "Night Borre"
},
"864": {
name: "so_red_sg553",
tag: "Candy Apple"
},
"865": {
name: "hy_canals_tile",
tag: "Stone Mosaico"
},
"866": {
name: "sp_spray_water",
tag: "Canal Spray"
},
"867": {
name: "am_stained_glass",
tag: "Stained Glass"
},
"868": {
name: "hy_flowers_stmarc",
tag: "Sea Calico"
},
"869": {
name: "sp_palm_sunset",
tag: "Sundown"
},
"870": {
name: "sp_palm_green",
tag: "Jungle Thicket"
},
"871": {
name: "sp_twigs_beach",
tag: "Surfwood"
},
"872": {
name: "hy_bamboo_stmarc",
tag: "Bamboo Garden"
},
"873": {
name: "so_aqua_stmarc",
tag: "Seabird"
},
"879": {
name: "aa_fade_ump",
tag: "Fade"
},
"880": {
name: "hy_desert_bloom",
tag: "Parched"
},
"884": {
name: "cu_bizon_road_warrior",
tag: "Embargo"
},
"885": {
name: "gs_ak47_nibbler",
tag: "Rat Rod"
},
"886": {
name: "cu_aug_whitefang",
tag: "Arctic Wolf"
},
"887": {
name: "cu_awp_virus",
tag: "Containment Breach"
},
"888": {
name: "gs_mp5_etch",
tag: "Acid Wash"
},
"889": {
name: "gs_tec9_decimator",
tag: "Decimator"
},
"890": {
name: "cu_nova_featherswing",
tag: "Plume"
},
"891": {
name: "cu_g3sg1_blacksand",
tag: "Black Sand"
},
"892": {
name: "gs_r8_memento",
tag: "Memento"
},
"893": {
name: "cu_mp7_replica",
tag: "Neon Ply"
},
"894": {
name: "cu_p2000_obsidian",
tag: "Obsidian"
},
"895": {
name: "gs_dual_elites_rose",
tag: "Balance"
},
"896": {
name: "sp_scar20_striker_dust",
tag: "Torn"
},
"897": {
name: "cu_sg553_reactor",
tag: "Colony IV"
},
"898": {
name: "gs_mac10_stalker",
tag: "Stalker"
},
"899": {
name: "cu_ssg08_tickler",
tag: "Bloodshot"
},
"900": {
name: "gs_m249_warbird_veteran",
tag: "Warbird"
},
"902": {
name: "aq_m249_aztec",
tag: "Aztec"
},
"903": {
name: "gs_dual_elites_classic",
tag: "Elite 1.6"
},
"904": {
name: "cu_famas_nuke_tension",
tag: "Decommissioned"
},
"905": {
name: "cu_tec9_flash",
tag: "Flash Out"
},
"906": {
name: "cu_fiveseven_gsg9",
tag: "Buddy"
},
"907": {
name: "gs_p250_inferno",
tag: "Inferno"
},
"908": {
name: "gs_mac10_dust_crate",
tag: "Classic Crate"
},
"909": {
name: "gs_mag7_popdog",
tag: "Popdog"
},
"910": {
name: "cu_mp9_hydra",
tag: "Hydra"
},
"911": {
name: "cu_p90_nostalgia",
tag: "Nostalgia"
},
"913": {
name: "am_aug_death_by_doggy",
tag: "Death by Puppy"
},
"914": {
name: "cu_scar_assault",
tag: "Assault"
},
"915": {
name: "gs_mp5_fbi",
tag: "Agent"
},
"916": {
name: "cu_ump_bomb",
tag: "Plastique"
},
"917": {
name: "cu_awp_wildfire",
tag: "Wildfire"
},
"918": {
name: "cu_glock_hero",
tag: "Sacrifice"
},
"919": {
name: "gs_famas_legacy_gold",
tag: "Commemoration"
},
"920": {
name: "hy_veneto_tan",
tag: "Boroque Sand"
},
"921": {
name: "gs_ak47_gold_arabesque",
tag: "Gold Arabesque"
},
"922": {
name: "am_lizard_red",
tag: "Orange Anolis"
},
"923": {
name: "gs_mp5_neon_flektarn",
tag: "Oxide Oasis"
},
"924": {
name: "hy_brush_camo_tan",
tag: "Desert Brush"
},
"925": {
name: "hy_ddpat_desert",
tag: "Desert DDPAT"
},
"926": {
name: "hy_ddpat_urban_red",
tag: "Red DDPAT"
},
"927": {
name: "hy_dry_wood",
tag: "Spalted Wood"
},
"928": {
name: "hy_desert_multicam",
tag: "Black & Tan"
},
"929": {
name: "hy_torn_camo_paints",
tag: "Quick Sand"
},
"930": {
name: "sp_moro_carving_lightblue",
tag: "New Roots"
},
"931": {
name: "sp_moro_carving_yellow",
tag: "Old Roots"
},
"932": {
name: "sp_moro_textile_purple_yellow",
tag: "Withered Vine"
},
"933": {
name: "sp_palm_night",
tag: "Midnight Palm"
},
"934": {
name: "sp_desert_skulls",
tag: "Bleached"
},
"935": {
name: "sp_zebracam_red",
tag: "Prey"
},
"941": {
name: "cu_ak-47_phantom_disruptor",
tag: "Phantom Disruptor"
},
"942": {
name: "gs_aug_thunderstorm",
tag: "Tom Cat"
},
"943": {
name: "cu_awp_vein",
tag: "Capillary"
},
"944": {
name: "cu_cz75_cerakote",
tag: "Distressed"
},
"945": {
name: "cu_deagle_replica",
tag: "Blue Ply"
},
"946": {
name: "cu_m4a1s_csgo2048",
tag: "Player Two"
},
"947": {
name: "cu_mac10_nacre",
tag: "Disco Tech"
},
"948": {
name: "gs_mag7_justice",
tag: "Justice"
},
"949": {
name: "cu_mp5_desert_strike",
tag: "Desert Strike"
},
"950": {
name: "cu_negev_prototype",
tag: "Prototype"
},
"951": {
name: "aq_p2000_acid_clover",
tag: "Acid Etched"
},
"952": {
name: "gs_r8_leviathan",
tag: "Bone Forged"
},
"953": {
name: "cu_sawedoff_apocalypto",
tag: "Apocalypto"
},
"954": {
name: "gs_scar20_enforcer",
tag: "Enforcer"
},
"955": {
name: "cu_sg553_darkwing",
tag: "Darkwing"
},
"956": {
name: "cu_ssg08_fever_dream",
tag: "Fever Dream"
},
"957": {
name: "cu_glock18_warmaiden",
tag: "Bullet Queen"
},
"958": {
name: "cu_negev_ultralight",
tag: "Ultralight"
},
"959": {
name: "cu_ak47_anubis",
tag: "Legion of Anubis"
},
"960": {
name: "aq_p2000_lost_world",
tag: "Gnarled"
},
"961": {
name: "cu_mag7_monster_call",
tag: "Monster Call"
},
"962": {
name: "cu_deag_printstream",
tag: "Printstream"
},
"963": {
name: "cu_glock_eyecontact",
tag: "Vogue"
},
"964": {
name: "gs_tec9_guerilla",
tag: "Brother"
},
"965": {
name: "cu_mac10_isoonna",
tag: "Allure"
},
"966": {
name: "gs_sg553_rusty",
tag: "Ol' Rusty"
},
"967": {
name: "cu_ssg08_mainframe",
tag: "Mainframe 001"
},
"968": {
name: "cu_p250_cassette",
tag: "Cassette"
},
"969": {
name: "gs_p90_container",
tag: "Freight"
},
"970": {
name: "cu_xm1014_amulet_blue",
tag: "Entombed"
},
"971": {
name: "cu_m4a4_queenfairy",
tag: "Tooth Fairy"
},
"972": {
name: "gs_galil_phoenix",
tag: "Connexion"
},
"973": {
name: "gs_bizon_hellraider",
tag: "Runic"
},
"974": {
name: "gs_mp5sd_wasteland_legacy",
tag: "Kitbash"
},
"975": {
name: "gs_awp_exoskeleton",
tag: "Exoskeleton"
},
"976": {
name: "gs_cz75_vendetta",
tag: "Vendetta"
},
"977": {
name: "hy_p90_dino_rampage",
tag: "Cocoa Rampage"
},
"978": {
name: "gs_dual_elites_dezastre",
tag: "Dezastre"
},
"979": {
name: "cu_five_seven_diary",
tag: "Fairy Tale"
},
"980": {
name: "gs_g3sg1_disrupt",
tag: "Digital Mesh"
},
"981": {
name: "gs_galil_vandal",
tag: "Vandal"
},
"982": {
name: "cu_p250_infect",
tag: "Contaminant"
},
"983": {
name: "cu_m249_deep_relief",
tag: "Deep Relief"
},
"984": {
name: "cu_m4a1s_printstream",
tag: "Printstream"
},
"985": {
name: "cu_m4a4_cyberpunk",
tag: "Cyber Security"
},
"986": {
name: "gs_mp5_conditionzero",
tag: "Condition Zero"
},
"987": {
name: "cu_nova_polymer",
tag: "Clear Polymer"
},
"988": {
name: "cu_glock_noir",
tag: "Neo-Noir"
},
"989": {
name: "cu_ssg08_chromatic",
tag: "Parallax"
},
"990": {
name: "gs_ump_gold_bismuth",
tag: "Gold Bismuth"
},
"991": {
name: "cu_usp_krokos",
tag: "Monster Mashup"
},
"992": {
name: "am_numbers_bronze",
tag: "The Bronze"
},
"993": {
name: "cu_csgo_camo",
tag: "Global Offensive"
},
"994": {
name: "am_authority_brown",
tag: "Charter"
},
"995": {
name: "am_intelligence_grey",
tag: "Surveillance"
},
"996": {
name: "am_intelligence_orange",
tag: "Threat Detected"
},
"997": {
name: "am_numbers_red_blue",
tag: "Dispatch"
},
"998": {
name: "hy_numbers_green",
tag: "Switch Board"
},
"999": {
name: "am_numbers_magenta",
tag: "Prime Conspiracy"
},
"1000": {
name: "cu_jaguar_p90",
tag: "Run and Hide"
},
"1001": {
name: "cu_m4a1_snake",
tag: "Welcome to the Jungle"
},
"1002": {
name: "aa_fade_red_blue",
tag: "Berries And Cherries"
},
"1003": {
name: "cu_ump_crime_scene",
tag: "Crime Scene"
},
"1004": {
name: "cu_ak_xray",
tag: "X-Ray"
},
"1005": {
name: "am_heist_plans_green",
tag: "Heist"
},
"1006": {
name: "am_heist_plans_purple",
tag: "Night Heist"
},
"1007": {
name: "am_heist_plans_yellow",
tag: "Vault Heist"
},
"1008": {
name: "hy_houndstooth_brown",
tag: "Houndstooth"
},
"1009": {
name: "gs_mac10_snake",
tag: "Hot Snakes"
},
"1010": {
name: "hy_phoenix_tags_lilac",
tag: "Phoenix Chalk"
},
"1011": {
name: "am_phoenix_tags_blue",
tag: "Phoenix Marker"
},
"1012": {
name: "hy_phoenix_tags_red",
tag: "Phoenix Stencil"
},
"1013": {
name: "sp_phoenix_tags_purple",
tag: "Phoenix Blacklight"
},
"1014": {
name: "hy_tigers_tan",
tag: "Clay Ambush"
},
"1015": {
name: "am_tigers_brown",
tag: "Tiger Pit"
},
"1016": {
name: "cu_money_glock",
tag: "Franklin"
},
"1017": {
name: "am_m4a1s_bluesmoke",
tag: "Blue Phosphor"
},
"1018": {
name: "cu_ak_jaguar",
tag: "Panthera onca"
},
"1019": {
name: "am_black_panther",
tag: "Panther Camo"
},
"1020": {
name: "aa_ancient_brown",
tag: "Ancient Earth"
},
"1021": {
name: "am_ancient_warm",
tag: "Ancient Lore"
},
"1022": {
name: "aa_ruins_green",
tag: "Lush Ruins"
},
"1023": {
name: "hy_drywood_green",
tag: "Tall Grass"
},
"1024": {
name: "hy_ancient_tiles_peach",
tag: "Blast From the Past"
},
"1025": {
name: "am_gold_brick",
tag: "Gold Brick"
},
"1026": {
name: "aa_awp_fade",
tag: "Fade"
},
"1027": {
name: "am_intelligence_magenta",
tag: "Target Acquired"
},
"1028": {
name: "hy_authority_purple",
tag: "Magna Carta"
},
"1029": {
name: "am_tigers_blue",
tag: "Silk Tiger"
},
"1030": {
name: "hy_p250_tiger",
tag: "Bengal Tiger"
},
"1031": {
name: "sp_ancient_bright",
tag: "Ancient Visions"
},
"1032": {
name: "hy_ruins_red",
tag: "Dusk Ruins"
},
"1033": {
name: "am_jade",
tag: "Carved Jade"
},
"1034": {
name: "am_ancient_wine",
tag: "Ancient Ritual"
},
"1035": {
name: "gs_ak47_professional",
tag: "Slate"
},
"1036": {
name: "cu_cz75_whirlwind",
tag: "Circaetus"
},
"1037": {
name: "cu_mp9_food_chain",
tag: "Food Chain"
},
"1038": {
name: "cu_galil_chroma_pink",
tag: "Chromatic Aberration"
},
"1039": {
name: "gs_glock_polymer",
tag: "Clear Polymer"
},
"1040": {
name: "gs_usps_hangedman",
tag: "The Traitor"
},
"1041": {
name: "cu_m4a4_love",
tag: "In Living Color"
},
"1042": {
name: "gs_m249_combine",
tag: "O.S.I.P.R."
},
"1043": {
name: "cu_negev_devtexture",
tag: "dev_texture"
},
"1044": {
name: "gs_p250_cybershell",
tag: "Cyber Shell"
},
"1045": {
name: "cu_mac10_portable",
tag: "Button Masher"
},
"1046": {
name: "aq_xm1014_punk",
tag: "XOXO"
},
"1047": {
name: "gs_r8_rustking",
tag: "Junk Yard"
},
"1048": {
name: "gs_sg553_deathmetal",
tag: "Heavy Metal"
},
"1049": {
name: "am_ump45_electrowave",
tag: "Oscillator"
},
"1050": {
name: "cu_deag_trigger_discipline",
tag: "Trigger Discipline"
},
"1051": {
name: "sp_nova_wind_dispersal",
tag: "Windblown"
},
"1052": {
name: "cu_ssg08_scorpion",
tag: "Death Strike"
},
"1053": {
name: "am_nuclear_pattern4_famas",
tag: "Meltdown"
},
"1055": {
name: "aa_spacerace_orange",
tag: "Space Race"
},
"1056": {
name: "sp_spacerace_blue",
tag: "Sputnik"
},
"1058": {
name: "hy_technowar_rwb",
tag: "POP AWP"
},
"1059": {
name: "sp_technowar_red",
tag: "Fizzy POP"
},
"1060": {
name: "hy_trainarchitect_green",
tag: "Spring Twilly"
},
"1061": {
name: "hy_trainarchitect",
tag: "Autumn Twilly"
},
"1063": {
name: "gs_m4a4_coalition",
tag: "The Coalition"
},
"1064": {
name: "gs_train_cz75",
tag: "Syndicate"
},
"1065": {
name: "so_whiteout_riptide",
tag: "Whiteout"
},
"1066": {
name: "aa_wiring_yellow",
tag: "Faulty Wiring"
},
"1067": {
name: "cu_mac10_propaganda",
tag: "Propaganda"
},
"1070": {
name: "hy_ak47lam_green",
tag: "Green Laminate"
},
"1071": {
name: "sp_galil_caution",
tag: "CAUTION!"
},
"1072": {
name: "hy_geometric_steps_pearl",
tag: "Prism Terrace"
},
"1073": {
name: "gs_m4a1_vertigo",
tag: "Imminent Danger"
},
"1074": {
name: "hy_vertigogeo",
tag: "Schematic"
},
"1075": {
name: "hy_vertigospray_blue",
tag: "Strats"
},
"1076": {
name: "hy_vertigoillusion",
tag: "Framework"
},
"1077": {
name: "hy_vertigoillusion_yellow",
tag: "Interlock"
},
"1078": {
name: "sp_tire_tread_blue",
tag: "Blue Tire"
},
"1079": {
name: "sp_tire_tread_red",
tag: "Red Tire"
},
"1080": {
name: "hy_vertigospray",
tag: "Infrastructure"
},
"1081": {
name: "aa_vertigogeo_neon",
tag: "Digital Architect"
},
"1082": {
name: "cu_vertigo_fiveseven",
tag: "Fall Hazard"
},
"1083": {
name: "aa_wiring",
tag: "Breaker Box"
},
"1084": {
name: "cu_sg553_caution",
tag: "Hazard Pay"
},
"1085": {
name: "aa_engine_performance",
tag: "Mechanism"
},
"1086": {
name: "sp_engine_dirty",
tag: "Oil Change"
},
"1087": {
name: "gs_ak47_abstract",
tag: "Leet Museo"
},
"1088": {
name: "gs_aug_plague",
tag: "Plague"
},
"1089": {
name: "gs_mag7_bismuth",
tag: "BI83 Spectrum"
},
"1090": {
name: "cu_deagle_kitch",
tag: "Ocean Drive"
},
"1091": {
name: "gs_dual_berettas_tread",
tag: "Tread"
},
"1092": {
name: "cu_famas_spectron",
tag: "ZX Spectron"
},
"1093": {
name: "gs_five_seven_efusion",
tag: "Boost Protocol"
},
"1094": {
name: "aa_mp9_fuji_pink",
tag: "Mount Fuji"
},
"1095": {
name: "cu_g3sg1_tacticalmap",
tag: "Keeping Tabs"
},
"1096": {
name: "cu_mp7_khaki",
tag: "Guerrilla"
},
"1097": {
name: "gs_m4_flowers",
tag: "Spider Lily"
},
"1098": {
name: "cu_mac10_toybox",
tag: "Toybox"
},
"1099": {
name: "gs_bizon_flasher",
tag: "Lumen"
},
"1100": {
name: "cu_glock_snackattack",
tag: "Snack Attack"
},
"1101": {
name: "cu_ssg_overtake",
tag: "Turbo Peek"
},
"1102": {
name: "cu_usp_black_lotus",
tag: "Black Lotus"
},
"1103": {
name: "gs_xm1014_watchdog",
tag: "Watchdog"
},
"1104": {
name: "cu_bowie_lore",
tag: "Lore"
},
"1105": {
name: "cu_butterfly_lore",
tag: "Lore"
},
"1106": {
name: "cu_falchion_lore",
tag: "Lore"
},
"1107": {
name: "cu_huntsman_lore",
tag: "Lore"
},
"1108": {
name: "cu_push_lore",
tag: "Lore"
},
"1109": {
name: "gs_bowie_black_laminate",
tag: "Black Laminate"
},
"1110": {
name: "gs_butterfly_black_laminate",
tag: "Black Laminate"
},
"1111": {
name: "gs_falchion_black_laminate",
tag: "Black Laminate"
},
"1112": {
name: "gs_huntsman_black_laminate",
tag: "Black Laminate"
},
"1113": {
name: "gs_push_black_laminate",
tag: "Black Laminate"
},
"1114": {
name: "gs_bowie_autotronic",
tag: "Autotronic"
},
"1115": {
name: "gs_butterfly_autotronic",
tag: "Autotronic"
},
"1116": {
name: "gs_falchion_autotronic",
tag: "Autotronic"
},
"1117": {
name: "gs_huntsman_autotronic",
tag: "Autotronic"
},
"1118": {
name: "gs_push_autotronic",
tag: "Autotronic"
},
"1119": {
name: "am_emerald_marbleized_glock",
tag: "Gamma Doppler"
},
"1120": {
name: "am_gamma_doppler_phase1_glock",
tag: "Gamma Doppler"
},
"1121": {
name: "am_gamma_doppler_phase2_glock",
tag: "Gamma Doppler"
},
"1122": {
name: "am_gamma_doppler_phase3_glock",
tag: "Gamma Doppler"
},
"1123": {
name: "am_gamma_doppler_phase4_glock",
tag: "Gamma Doppler"
},
"1125": {
name: "cu_bizon_spacecat",
tag: "Space Cat"
},
"1126": {
name: "cu_elites_beware",
tag: "Melondrama"
},
"1127": {
name: "gs_famas_rapid_eyes",
tag: "Rapid Eye Movement"
},
"1128": {
name: "cu_fiveseven_alpha_omega",
tag: "Scrawl"
},
"1129": {
name: "cu_g3sg1_glade",
tag: "Dream Glade"
},
"1130": {
name: "gs_m4a1s_insomnia",
tag: "Night Terror"
},
"1131": {
name: "cu_mac10_pixie",
tag: "Ensnared"
},
"1132": {
name: "cu_mag7_predictor",
tag: "Foresight"
},
"1133": {
name: "cu_mp7_fear",
tag: "Abyssal Apparition"
},
"1134": {
name: "gs_mp9_starlight",
tag: "Starlight Protector"
},
"1135": {
name: "am_xm_zombie_offensive",
tag: "Zombie Offensive"
},
"1136": {
name: "cu_usp_to_hell",
tag: "Ticket to Hell"
},
"1137": {
name: "gs_mp5_kid_necronomicon",
tag: "Necro Jr."
},
"1138": {
name: "cu_p2k_flying_dream",
tag: "Lifted Spirits"
},
"1139": {
name: "sp_scar_chickenfight",
tag: "Poultrygeist"
},
"1140": {
name: "cu_sawedoff_ouija",
tag: "Spirit Board"
},
"1141": {
name: "cu_ak47_nightwish",
tag: "Nightwish"
},
"1142": {
name: "cu_usp_printstream",
tag: "Printstream"
},
"1143": {
name: "cu_ak47_cogthings",
tag: "Ice Coaled"
},
"1144": {
name: "cu_awp_chroma_pink",
tag: "Chromatic Aberration"
},
"1145": {
name: "gs_revolver_purple_elite",
tag: "Crazy 8"
},
"1146": {
name: "gs_famas_corp_meow",
tag: "Meow 36"
},
"1147": {
name: "cu_galil_destroyer",
tag: "Destroyer"
},
"1148": {
name: "cu_m249_downvote",
tag: "Downtown"
},
"1149": {
name: "cu_m4a4_elite_tactical",
tag: "Poly Mag"
},
"1150": {
name: "cu_mac10_monkeyflage",
tag: "Monkeyflage"
},
"1151": {
name: "cu_sg553_cyber_dragon",
tag: "Dragon Tech"
},
"1152": {
name: "cu_negev_clear_sky",
tag: "Drop Me"
},
"1153": {
name: "gs_p250_visions",
tag: "Visions"
},
"1154": {
name: "gs_p90_tangled",
tag: "Vent Rush"
},
"1155": {
name: "cu_sawedoff_kisslove",
tag: "Kiss♥Love"
},
"1156": {
name: "cu_dual_elites_evil_flora",
tag: "Flora Carnivora"
},
"1157": {
name: "gs_ump_roadblock",
tag: "Roadblock"
},
"1158": {
name: "gs_glock_elite_camo",
tag: "Winterized"
},
"10006": {
name: "bloodhound_black_silver",
tag: "Charred"
},
"10007": {
name: "bloodhound_snakeskin_brass",
tag: "Snakebite"
},
"10008": {
name: "bloodhound_metallic",
tag: "Bronzed"
},
"10009": {
name: "handwrap_leathery",
tag: "Leather"
},
"10010": {
name: "handwrap_camo_grey",
tag: "Spruce DDPAT"
},
"10013": {
name: "slick_black",
tag: "Lunar Weave"
},
"10015": {
name: "slick_military",
tag: "Convoy"
},
"10016": {
name: "slick_red",
tag: "Crimson Weave"
},
"10018": {
name: "sporty_light_blue",
tag: "Superconductor"
},
"10019": {
name: "sporty_military",
tag: "Arid"
},
"10021": {
name: "handwrap_red_slaughter",
tag: "Slaughter"
},
"10024": {
name: "motorcycle_basic_black",
tag: "Eclipse"
},
"10026": {
name: "motorcycle_mint_triangle",
tag: "Spearmint"
},
"10027": {
name: "motorcycle_mono_boom",
tag: "Boom!"
},
"10028": {
name: "motorcycle_triangle_blue",
tag: "Cool Mint"
},
"10030": {
name: "specialist_ddpat_green_camo",
tag: "Forest DDPAT"
},
"10033": {
name: "specialist_kimono_diamonds_red",
tag: "Crimson Kimono"
},
"10034": {
name: "specialist_emerald_web",
tag: "Emerald Web"
},
"10035": {
name: "specialist_orange_white",
tag: "Foundation"
},
"10036": {
name: "handwrap_fabric_orange_camo",
tag: "Badlands"
},
"10037": {
name: "sporty_purple",
tag: "Pandora's Box"
},
"10038": {
name: "sporty_green",
tag: "Hedge Maze"
},
"10039": {
name: "bloodhound_guerrilla",
tag: "Guerrilla"
},
"10040": {
name: "slick_snakeskin_yellow",
tag: "Diamondback"
},
"10041": {
name: "slick_snakeskin_white",
tag: "King Snake"
},
"10042": {
name: "slick_plaid_purple",
tag: "Imperial Plaid"
},
"10043": {
name: "slick_stitched_black_orange",
tag: "Overtake"
},
"10044": {
name: "slick_stitched_green_grey",
tag: "Racing Green"
},
"10045": {
name: "sporty_poison_frog_blue_white",
tag: "Amphibious"
},
"10046": {
name: "sporty_poison_frog_red_green",
tag: "Bronze Morph"
},
"10047": {
name: "sporty_black_webbing_yellow",
tag: "Omega"
},
"10048": {
name: "sporty_blue_pink",
tag: "Vice"
},
"10049": {
name: "motorcycle_choco_boom",
tag: "POW!"
},
"10050": {
name: "motorcycle_basic_green_orange",
tag: "Turtle"
},
"10051": {
name: "motorcycle_yellow_camo",
tag: "Transport"
},
"10052": {
name: "motorcycle_trigrid_blue",
tag: "Polygon"
},
"10053": {
name: "handwrap_leathery_fabric_blue_skulls",
tag: "Cobalt Skulls"
},
"10054": {
name: "handwrap_leathery_fabric_geometric_blue",
tag: "Overprint"
},
"10055": {
name: "handwrap_leathery_ducttape",
tag: "Duct Tape"
},
"10056": {
name: "handwrap_leathery_fabric_green_camo",
tag: "Arboreal"
},
"10057": {
name: "bloodhound_hydra_black_green",
tag: "Emerald"
},
"10058": {
name: "bloodhound_hydra_green_leather_mesh_brass",
tag: "Mangrove"
},
"10059": {
name: "bloodhound_hydra_snakeskin_brass",
tag: "Rattler"
},
"10060": {
name: "bloodhound_hydra_case_hardened",
tag: "Case Hardened"
},
"10061": {
name: "specialist_webs_red",
tag: "Crimson Web"
},
"10062": {
name: "specialist_forest_brown",
tag: "Buckshot"
},
"10063": {
name: "specialist_fade",
tag: "Fade"
},
"10064": {
name: "specialist_winterhex",
tag: "Mogul"
},
"10065": {
name: "specialist_marble_fade",
tag: "Marble Fade"
},
"10066": {
name: "specialist_ricksaw_camo",
tag: "Lt. Commander"
},
"10067": {
name: "specialist_tiger_orange",
tag: "Tiger Strike"
},
"10068": {
name: "specialist_fbi",
tag: "Field Agent"
},
"10069": {
name: "slick_rezan",
tag: "Rezan the Red"
},
"10070": {
name: "slick_jaguar_white",
tag: "Snow Leopard"
},
"10071": {
name: "slick_jaguar_yellow",
tag: "Queen Jaguar"
},
"10072": {
name: "slick_stitched_black_white",
tag: "Black Tie"
},
"10073": {
gitextract_thm8rtfk/
├── .devcontainer/
│ └── devcontainer.json
├── .eslintignore
├── .eslintrc.json
├── .gitattributes
├── .github/
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ └── bug.yml
│ └── workflows/
│ ├── ci.yml
│ └── generation.yml
├── .gitignore
├── .prettierignore
├── .prettierrc.json
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── RELEASE_NOTES.md
├── browser/
│ ├── app.js
│ └── bundle.js
├── dist/
│ ├── assert-exists.d.ts
│ ├── assert-exists.js
│ ├── consts.d.ts
│ ├── consts.js
│ ├── convars.d.ts
│ ├── convars.js
│ ├── crosshair.d.ts
│ ├── crosshair.js
│ ├── crosshair.test.d.ts
│ ├── crosshair.test.js
│ ├── demo.d.ts
│ ├── demo.js
│ ├── entities/
│ │ ├── baseentity.d.ts
│ │ ├── baseentity.js
│ │ ├── gamerules.d.ts
│ │ ├── gamerules.js
│ │ ├── itemdefs.d.ts
│ │ ├── itemdefs.js
│ │ ├── networkable.d.ts
│ │ ├── networkable.js
│ │ ├── player.d.ts
│ │ ├── player.js
│ │ ├── projectile.d.ts
│ │ ├── projectile.js
│ │ ├── team.d.ts
│ │ ├── team.js
│ │ ├── weapon.d.ts
│ │ └── weapon.js
│ ├── entities.d.ts
│ ├── entities.js
│ ├── entityhandle.d.ts
│ ├── entityhandle.js
│ ├── eventtypes.d.ts
│ ├── eventtypes.js
│ ├── ext/
│ │ ├── bitbuffer.d.ts
│ │ └── bitbuffer.js
│ ├── gameevent.d.ts
│ ├── gameevent.js
│ ├── gameevents.d.ts
│ ├── gameevents.js
│ ├── generators/
│ │ ├── eventtypes.d.ts
│ │ ├── eventtypes.js
│ │ ├── itemdefs.d.ts
│ │ ├── itemdefs.js
│ │ ├── sendtabletypes.d.ts
│ │ ├── sendtabletypes.js
│ │ ├── usermessagetypes.d.ts
│ │ └── usermessagetypes.js
│ ├── icekey.d.ts
│ ├── icekey.js
│ ├── index.d.ts
│ ├── index.js
│ ├── keyvalues.d.ts
│ ├── keyvalues.js
│ ├── net.d.ts
│ ├── net.js
│ ├── props.d.ts
│ ├── props.js
│ ├── protobufs/
│ │ ├── cstrike15_gcmessages.d.ts
│ │ ├── cstrike15_gcmessages.js
│ │ ├── cstrike15_usermessages.d.ts
│ │ ├── cstrike15_usermessages.js
│ │ ├── engine_gcmessages.d.ts
│ │ ├── engine_gcmessages.js
│ │ ├── google/
│ │ │ └── protobuf/
│ │ │ ├── descriptor.d.ts
│ │ │ └── descriptor.js
│ │ ├── netmessages.d.ts
│ │ ├── netmessages.js
│ │ ├── steammessages.d.ts
│ │ └── steammessages.js
│ ├── replaykeys.d.ts
│ ├── replaykeys.js
│ ├── replaykeys.test.d.ts
│ ├── replaykeys.test.js
│ ├── sendtabletypes.d.ts
│ ├── sendtabletypes.js
│ ├── sharecode.d.ts
│ ├── sharecode.js
│ ├── stringtables.d.ts
│ ├── stringtables.js
│ ├── supplements/
│ │ ├── grenadetrajectory.d.ts
│ │ ├── grenadetrajectory.js
│ │ ├── itempurchase.d.ts
│ │ ├── itempurchase.js
│ │ ├── molotovdetonate.d.ts
│ │ ├── molotovdetonate.js
│ │ ├── supplementinfo.d.ts
│ │ └── supplementinfo.js
│ ├── syncdto.d.ts
│ ├── syncdto.js
│ ├── usermessages.d.ts
│ ├── usermessages.js
│ ├── usermessagetypes.d.ts
│ └── usermessagetypes.js
├── docs/
│ ├── .nojekyll
│ ├── CNAME
│ ├── assets/
│ │ ├── highlight.css
│ │ ├── main.js
│ │ ├── search.js
│ │ └── style.css
│ ├── classes/
│ │ ├── BaseEntity.html
│ │ ├── BitStream.html
│ │ ├── BitView.html
│ │ ├── ConVars.html
│ │ ├── DemoFile.html
│ │ ├── Entities.html
│ │ ├── GameEvent.html
│ │ ├── GameEvents.html
│ │ ├── GameRules.html
│ │ ├── Networkable.html
│ │ ├── Player.html
│ │ ├── Projectile.html
│ │ ├── StringTables.html
│ │ ├── Team.html
│ │ ├── UserMessages.html
│ │ └── Weapon.html
│ ├── enums/
│ │ ├── CrosshairStyle.html
│ │ ├── LifeState.html
│ │ └── TeamNumber.html
│ ├── functions/
│ │ ├── annotateEvent.html
│ │ ├── decodeCrosshairCode.html
│ │ ├── decodeShareCode.html
│ │ ├── extractPublicEncryptionKey.html
│ │ ├── parseBinaryKeyValues.html
│ │ └── parseHeader.html
│ ├── index.html
│ ├── interfaces/
│ │ ├── Angle2D.html
│ │ ├── CAI_BaseNPC.html
│ │ ├── CAK47.html
│ │ ├── CBRC4Target.html
│ │ ├── CBaseAnimating.html
│ │ ├── CBaseAnimatingOverlay.html
│ │ ├── CBaseAttributableItem.html
│ │ ├── CBaseButton.html
│ │ ├── CBaseCSGrenade.html
│ │ ├── CBaseCSGrenadeProjectile.html
│ │ ├── CBaseCombatCharacter.html
│ │ ├── CBaseCombatWeapon.html
│ │ ├── CBaseDoor.html
│ │ ├── CBaseEntity.html
│ │ ├── CBaseFlex.html
│ │ ├── CBaseGrenade.html
│ │ ├── CBaseParticleEntity.html
│ │ ├── CBasePlayer.html
│ │ ├── CBasePropDoor.html
│ │ ├── CBaseTeamObjectiveResource.html
│ │ ├── CBaseTempEntity.html
│ │ ├── CBaseToggle.html
│ │ ├── CBaseTrigger.html
│ │ ├── CBaseVPhysicsTrigger.html
│ │ ├── CBaseViewModel.html
│ │ ├── CBaseWeaponWorldModel.html
│ │ ├── CBeam.html
│ │ ├── CBeamSpotlight.html
│ │ ├── CBoneFollower.html
│ │ ├── CBreachCharge.html
│ │ ├── CBreachChargeProjectile.html
│ │ ├── CBreakableProp.html
│ │ ├── CBreakableSurface.html
│ │ ├── CBumpMine.html
│ │ ├── CBumpMineProjectile.html
│ │ ├── CC4.html
│ │ ├── CCSGameRulesProxy.html
│ │ ├── CCSPlayer.html
│ │ ├── CCSPlayerResource.html
│ │ ├── CCSRagdoll.html
│ │ ├── CCSTeam.html
│ │ ├── CCascadeLight.html
│ │ ├── CChicken.html
│ │ ├── CColorCorrection.html
│ │ ├── CColorCorrectionVolume.html
│ │ ├── CDEagle.html
│ │ ├── CDangerZone.html
│ │ ├── CDangerZoneController.html
│ │ ├── CDecoyGrenade.html
│ │ ├── CDecoyProjectile.html
│ │ ├── CDrone.html
│ │ ├── CDronegun.html
│ │ ├── CDynamicLight.html
│ │ ├── CDynamicProp.html
│ │ ├── CEconEntity.html
│ │ ├── CEconWearable.html
│ │ ├── CEmbers.html
│ │ ├── CEntityDissolve.html
│ │ ├── CEntityFlame.html
│ │ ├── CEntityFreezing.html
│ │ ├── CEntityParticleTrail.html
│ │ ├── CEnvAmbientLight.html
│ │ ├── CEnvDOFController.html
│ │ ├── CEnvDetailController.html
│ │ ├── CEnvGasCanister.html
│ │ ├── CEnvParticleScript.html
│ │ ├── CEnvProjectedTexture.html
│ │ ├── CEnvQuadraticBeam.html
│ │ ├── CEnvScreenEffect.html
│ │ ├── CEnvScreenOverlay.html
│ │ ├── CEnvTonemapController.html
│ │ ├── CEnvWind.html
│ │ ├── CFEPlayerDecal.html
│ │ ├── CFireCrackerBlast.html
│ │ ├── CFireSmoke.html
│ │ ├── CFireTrail.html
│ │ ├── CFish.html
│ │ ├── CFists.html
│ │ ├── CFlashbang.html
│ │ ├── CFogController.html
│ │ ├── CFootstepControl.html
│ │ ├── CFuncAreaPortalWindow.html
│ │ ├── CFuncBrush.html
│ │ ├── CFuncConveyor.html
│ │ ├── CFuncLadder.html
│ │ ├── CFuncMonitor.html
│ │ ├── CFuncMoveLinear.html
│ │ ├── CFuncOccluder.html
│ │ ├── CFuncReflectiveGlass.html
│ │ ├── CFuncRotating.html
│ │ ├── CFuncSmokeVolume.html
│ │ ├── CFuncTrackTrain.html
│ │ ├── CFunc_Dust.html
│ │ ├── CFunc_LOD.html
│ │ ├── CGameRulesProxy.html
│ │ ├── CGrassBurn.html
│ │ ├── CHEGrenade.html
│ │ ├── CHandleTest.html
│ │ ├── CHostage.html
│ │ ├── CHostageCarriableProp.html
│ │ ├── CIncendiaryGrenade.html
│ │ ├── CInferno.html
│ │ ├── CInfoLadderDismount.html
│ │ ├── CInfoMapRegion.html
│ │ ├── CInfoOverlayAccessor.html
│ │ ├── CItemCash.html
│ │ ├── CItemDogtags.html
│ │ ├── CItem_Healthshot.html
│ │ ├── CKnife.html
│ │ ├── CKnifeGG.html
│ │ ├── CLightGlow.html
│ │ ├── CMapVetoPickController.html
│ │ ├── CMaterialModifyControl.html
│ │ ├── CMelee.html
│ │ ├── CMolotovGrenade.html
│ │ ├── CMolotovProjectile.html
│ │ ├── CMovieDisplay.html
│ │ ├── CParadropChopper.html
│ │ ├── CParticleFire.html
│ │ ├── CParticlePerformanceMonitor.html
│ │ ├── CParticleSystem.html
│ │ ├── CPhysBox.html
│ │ ├── CPhysBoxMultiplayer.html
│ │ ├── CPhysMagnet.html
│ │ ├── CPhysPropAmmoBox.html
│ │ ├── CPhysPropLootCrate.html
│ │ ├── CPhysPropRadarJammer.html
│ │ ├── CPhysPropWeaponUpgrade.html
│ │ ├── CPhysicsProp.html
│ │ ├── CPhysicsPropMultiplayer.html
│ │ ├── CPlantedC4.html
│ │ ├── CPlasma.html
│ │ ├── CPlayerPing.html
│ │ ├── CPlayerResource.html
│ │ ├── CPointCamera.html
│ │ ├── CPointCommentaryNode.html
│ │ ├── CPointWorldText.html
│ │ ├── CPoseController.html
│ │ ├── CPostProcessController.html
│ │ ├── CPrecipitation.html
│ │ ├── CPrecipitationBlocker.html
│ │ ├── CPredictedViewModel.html
│ │ ├── CPropCounter.html
│ │ ├── CPropDoorRotating.html
│ │ ├── CPropJeep.html
│ │ ├── CPropVehicleDriveable.html
│ │ ├── CProp_Hallucination.html
│ │ ├── CRagdollManager.html
│ │ ├── CRagdollProp.html
│ │ ├── CRagdollPropAttached.html
│ │ ├── CRopeKeyframe.html
│ │ ├── CSCAR17.html
│ │ ├── CSceneEntity.html
│ │ ├── CSensorGrenade.html
│ │ ├── CSensorGrenadeProjectile.html
│ │ ├── CShadowControl.html
│ │ ├── CSlideshowDisplay.html
│ │ ├── CSmokeGrenade.html
│ │ ├── CSmokeGrenadeProjectile.html
│ │ ├── CSmokeStack.html
│ │ ├── CSnowball.html
│ │ ├── CSnowballPile.html
│ │ ├── CSnowballProjectile.html
│ │ ├── CSpatialEntity.html
│ │ ├── CSpotlightEnd.html
│ │ ├── CSprite.html
│ │ ├── CSpriteOriented.html
│ │ ├── CSpriteTrail.html
│ │ ├── CStatueProp.html
│ │ ├── CSteamJet.html
│ │ ├── CSun.html
│ │ ├── CSunlightShadowControl.html
│ │ ├── CSurvivalSpawnChopper.html
│ │ ├── CTEArmorRicochet.html
│ │ ├── CTEBSPDecal.html
│ │ ├── CTEBaseBeam.html
│ │ ├── CTEBeamEntPoint.html
│ │ ├── CTEBeamEnts.html
│ │ ├── CTEBeamFollow.html
│ │ ├── CTEBeamLaser.html
│ │ ├── CTEBeamPoints.html
│ │ ├── CTEBeamRing.html
│ │ ├── CTEBeamRingPoint.html
│ │ ├── CTEBeamSpline.html
│ │ ├── CTEBloodSprite.html
│ │ ├── CTEBloodStream.html
│ │ ├── CTEBreakModel.html
│ │ ├── CTEBubbleTrail.html
│ │ ├── CTEBubbles.html
│ │ ├── CTEClientProjectile.html
│ │ ├── CTEDecal.html
│ │ ├── CTEDust.html
│ │ ├── CTEDynamicLight.html
│ │ ├── CTEEffectDispatch.html
│ │ ├── CTEEnergySplash.html
│ │ ├── CTEExplosion.html
│ │ ├── CTEFireBullets.html
│ │ ├── CTEFizz.html
│ │ ├── CTEFootprintDecal.html
│ │ ├── CTEFoundryHelpers.html
│ │ ├── CTEGaussExplosion.html
│ │ ├── CTEGlowSprite.html
│ │ ├── CTEImpact.html
│ │ ├── CTEKillPlayerAttachments.html
│ │ ├── CTELargeFunnel.html
│ │ ├── CTEMetalSparks.html
│ │ ├── CTEMuzzleFlash.html
│ │ ├── CTEParticleSystem.html
│ │ ├── CTEPhysicsProp.html
│ │ ├── CTEPlantBomb.html
│ │ ├── CTEPlayerAnimEvent.html
│ │ ├── CTEPlayerDecal.html
│ │ ├── CTEProjectedDecal.html
│ │ ├── CTERadioIcon.html
│ │ ├── CTEShatterSurface.html
│ │ ├── CTEShowLine.html
│ │ ├── CTESmoke.html
│ │ ├── CTESparks.html
│ │ ├── CTESprite.html
│ │ ├── CTESpriteSpray.html
│ │ ├── CTEWorldDecal.html
│ │ ├── CTablet.html
│ │ ├── CTeam.html
│ │ ├── CTeamplayRoundBasedRulesProxy.html
│ │ ├── CTesla.html
│ │ ├── CTestTraceline.html
│ │ ├── CTest_ProxyToggle_Networkable.html
│ │ ├── CTriggerPlayerMovement.html
│ │ ├── CTriggerSoundOperator.html
│ │ ├── CVGuiScreen.html
│ │ ├── CVoteController.html
│ │ ├── CWaterBullet.html
│ │ ├── CWaterLODControl.html
│ │ ├── CWeaponAWP.html
│ │ ├── CWeaponAug.html
│ │ ├── CWeaponBaseItem.html
│ │ ├── CWeaponBizon.html
│ │ ├── CWeaponCSBase.html
│ │ ├── CWeaponCSBaseGun.html
│ │ ├── CWeaponCycler.html
│ │ ├── CWeaponElite.html
│ │ ├── CWeaponFamas.html
│ │ ├── CWeaponFiveSeven.html
│ │ ├── CWeaponG3SG1.html
│ │ ├── CWeaponGalil.html
│ │ ├── CWeaponGalilAR.html
│ │ ├── CWeaponGlock.html
│ │ ├── CWeaponHKP2000.html
│ │ ├── CWeaponM249.html
│ │ ├── CWeaponM3.html
│ │ ├── CWeaponM4A1.html
│ │ ├── CWeaponMAC10.html
│ │ ├── CWeaponMP5Navy.html
│ │ ├── CWeaponMP7.html
│ │ ├── CWeaponMP9.html
│ │ ├── CWeaponMag7.html
│ │ ├── CWeaponNOVA.html
│ │ ├── CWeaponNegev.html
│ │ ├── CWeaponP228.html
│ │ ├── CWeaponP250.html
│ │ ├── CWeaponP90.html
│ │ ├── CWeaponSCAR20.html
│ │ ├── CWeaponSG550.html
│ │ ├── CWeaponSG552.html
│ │ ├── CWeaponSG556.html
│ │ ├── CWeaponSSG08.html
│ │ ├── CWeaponSawedoff.html
│ │ ├── CWeaponScout.html
│ │ ├── CWeaponShield.html
│ │ ├── CWeaponTMP.html
│ │ ├── CWeaponTaser.html
│ │ ├── CWeaponTec9.html
│ │ ├── CWeaponUMP45.html
│ │ ├── CWeaponUSP.html
│ │ ├── CWeaponXM1014.html
│ │ ├── CWeaponZoneRepulsor.html
│ │ ├── CWorld.html
│ │ ├── CWorldVguiText.html
│ │ ├── DT_AI_BaseNPC.html
│ │ ├── DT_AnimTimeMustBeFirst.html
│ │ ├── DT_Animationlayer.html
│ │ ├── DT_AttributeContainer.html
│ │ ├── DT_AttributeList.html
│ │ ├── DT_BCCLocalPlayerExclusive.html
│ │ ├── DT_BCCNonLocalPlayerExclusive.html
│ │ ├── DT_BRC4Target.html
│ │ ├── DT_BaseAnimating.html
│ │ ├── DT_BaseAnimatingOverlay.html
│ │ ├── DT_BaseAttributableItem.html
│ │ ├── DT_BaseBeam.html
│ │ ├── DT_BaseButton.html
│ │ ├── DT_BaseCSGrenade.html
│ │ ├── DT_BaseCSGrenadeProjectile.html
│ │ ├── DT_BaseCombatCharacter.html
│ │ ├── DT_BaseCombatWeapon.html
│ │ ├── DT_BaseDoor.html
│ │ ├── DT_BaseEntity.html
│ │ ├── DT_BaseFlex.html
│ │ ├── DT_BaseGrenade.html
│ │ ├── DT_BaseParticleEntity.html
│ │ ├── DT_BasePlayer.html
│ │ ├── DT_BasePropDoor.html
│ │ ├── DT_BaseTeamObjectiveResource.html
│ │ ├── DT_BaseTempEntity.html
│ │ ├── DT_BaseToggle.html
│ │ ├── DT_BaseTrigger.html
│ │ ├── DT_BaseVPhysicsTrigger.html
│ │ ├── DT_BaseViewModel.html
│ │ ├── DT_BaseWeaponWorldModel.html
│ │ ├── DT_Beam.html
│ │ ├── DT_BeamSpotlight.html
│ │ ├── DT_BoneFollower.html
│ │ ├── DT_BreachChargeProjectile.html
│ │ ├── DT_BreakableProp.html
│ │ ├── DT_BreakableSurface.html
│ │ ├── DT_BumpMineProjectile.html
│ │ ├── DT_CChicken.html
│ │ ├── DT_CFish.html
│ │ ├── DT_CHostage.html
│ │ ├── DT_CSGameRules.html
│ │ ├── DT_CSGameRulesProxy.html
│ │ ├── DT_CSLocalPlayerExclusive.html
│ │ ├── DT_CSNonLocalPlayerExclusive.html
│ │ ├── DT_CSPlayer.html
│ │ ├── DT_CSPlayerResource.html
│ │ ├── DT_CSRagdoll.html
│ │ ├── DT_CSTeam.html
│ │ ├── DT_CSTeamExclusive.html
│ │ ├── DT_CascadeLight.html
│ │ ├── DT_CollisionProperty.html
│ │ ├── DT_ColorCorrection.html
│ │ ├── DT_ColorCorrectionVolume.html
│ │ ├── DT_DangerZone.html
│ │ ├── DT_DangerZoneController.html
│ │ ├── DT_DecoyGrenade.html
│ │ ├── DT_DecoyProjectile.html
│ │ ├── DT_DetailController.html
│ │ ├── DT_Drone.html
│ │ ├── DT_Dronegun.html
│ │ ├── DT_DustTrail.html
│ │ ├── DT_DynamicLight.html
│ │ ├── DT_DynamicProp.html
│ │ ├── DT_EconEntity.html
│ │ ├── DT_EffectData.html
│ │ ├── DT_Embers.html
│ │ ├── DT_EntityDissolve.html
│ │ ├── DT_EntityFlame.html
│ │ ├── DT_EntityFreezing.html
│ │ ├── DT_EntityParticleTrail.html
│ │ ├── DT_EntityParticleTrailInfo.html
│ │ ├── DT_EnvAmbientLight.html
│ │ ├── DT_EnvDOFController.html
│ │ ├── DT_EnvGasCanister.html
│ │ ├── DT_EnvParticleScript.html
│ │ ├── DT_EnvProjectedTexture.html
│ │ ├── DT_EnvScreenEffect.html
│ │ ├── DT_EnvScreenOverlay.html
│ │ ├── DT_EnvTonemapController.html
│ │ ├── DT_EnvWind.html
│ │ ├── DT_EnvWindShared.html
│ │ ├── DT_FEPlayerDecal.html
│ │ ├── DT_FireCrackerBlast.html
│ │ ├── DT_FireSmoke.html
│ │ ├── DT_FireTrail.html
│ │ ├── DT_Flashbang.html
│ │ ├── DT_FogController.html
│ │ ├── DT_FootstepControl.html
│ │ ├── DT_FuncAreaPortalWindow.html
│ │ ├── DT_FuncBrush.html
│ │ ├── DT_FuncConveyor.html
│ │ ├── DT_FuncLadder.html
│ │ ├── DT_FuncMonitor.html
│ │ ├── DT_FuncMoveLinear.html
│ │ ├── DT_FuncOccluder.html
│ │ ├── DT_FuncReflectiveGlass.html
│ │ ├── DT_FuncRotating.html
│ │ ├── DT_FuncSmokeVolume.html
│ │ ├── DT_FuncTrackTrain.html
│ │ ├── DT_Func_Dust.html
│ │ ├── DT_Func_LOD.html
│ │ ├── DT_GameRulesProxy.html
│ │ ├── DT_GrassBurn.html
│ │ ├── DT_HEGrenade.html
│ │ ├── DT_HandleTest.html
│ │ ├── DT_HostageCarriableProp.html
│ │ ├── DT_IncendiaryGrenade.html
│ │ ├── DT_Inferno.html
│ │ ├── DT_InfoLadderDismount.html
│ │ ├── DT_InfoMapRegion.html
│ │ ├── DT_InfoOverlayAccessor.html
│ │ ├── DT_ItemCash.html
│ │ ├── DT_ItemDogtags.html
│ │ ├── DT_Item_Healthshot.html
│ │ ├── DT_LightGlow.html
│ │ ├── DT_Local.html
│ │ ├── DT_LocalActiveWeaponData.html
│ │ ├── DT_LocalPlayerExclusive.html
│ │ ├── DT_LocalWeaponData.html
│ │ ├── DT_MapVetoPickController.html
│ │ ├── DT_MaterialModifyControl.html
│ │ ├── DT_MolotovGrenade.html
│ │ ├── DT_MolotovProjectile.html
│ │ ├── DT_MovieDisplay.html
│ │ ├── DT_MovieExplosion.html
│ │ ├── DT_OverlayVars.html
│ │ ├── DT_ParadropChopper.html
│ │ ├── DT_ParticleFire.html
│ │ ├── DT_ParticlePerformanceMonitor.html
│ │ ├── DT_ParticleSmokeGrenade.html
│ │ ├── DT_ParticleSystem.html
│ │ ├── DT_PhysBox.html
│ │ ├── DT_PhysBoxMultiplayer.html
│ │ ├── DT_PhysMagnet.html
│ │ ├── DT_PhysPropAmmoBox.html
│ │ ├── DT_PhysPropLootCrate.html
│ │ ├── DT_PhysPropRadarJammer.html
│ │ ├── DT_PhysPropWeaponUpgrade.html
│ │ ├── DT_PhysicsProp.html
│ │ ├── DT_PhysicsPropMultiplayer.html
│ │ ├── DT_PlantedC4.html
│ │ ├── DT_Plasma.html
│ │ ├── DT_PlayerPing.html
│ │ ├── DT_PlayerResource.html
│ │ ├── DT_PlayerState.html
│ │ ├── DT_PointCamera.html
│ │ ├── DT_PointCommentaryNode.html
│ │ ├── DT_PointWorldText.html
│ │ ├── DT_PoseController.html
│ │ ├── DT_PostProcessController.html
│ │ ├── DT_Precipitation.html
│ │ ├── DT_PrecipitationBlocker.html
│ │ ├── DT_PredictedViewModel.html
│ │ ├── DT_PropCounter.html
│ │ ├── DT_PropDoorRotating.html
│ │ ├── DT_PropJeep.html
│ │ ├── DT_PropVehicleDriveable.html
│ │ ├── DT_Prop_Hallucination.html
│ │ ├── DT_ProxyToggle.html
│ │ ├── DT_ProxyToggle_ProxiedData.html
│ │ ├── DT_QuadraticBeam.html
│ │ ├── DT_Ragdoll.html
│ │ ├── DT_RagdollManager.html
│ │ ├── DT_Ragdoll_Attached.html
│ │ ├── DT_RetakeGameRules.html
│ │ ├── DT_RocketTrail.html
│ │ ├── DT_RopeKeyframe.html
│ │ ├── DT_SceneEntity.html
│ │ ├── DT_ScriptCreatedAttribute.html
│ │ ├── DT_ScriptCreatedItem.html
│ │ ├── DT_SensorGrenade.html
│ │ ├── DT_SensorGrenadeProjectile.html
│ │ ├── DT_ServerAnimationData.html
│ │ ├── DT_ShadowControl.html
│ │ ├── DT_SlideshowDisplay.html
│ │ ├── DT_SmokeGrenade.html
│ │ ├── DT_SmokeGrenadeProjectile.html
│ │ ├── DT_SmokeStack.html
│ │ ├── DT_SmokeTrail.html
│ │ ├── DT_Snowball.html
│ │ ├── DT_SnowballPile.html
│ │ ├── DT_SnowballProjectile.html
│ │ ├── DT_SpatialEntity.html
│ │ ├── DT_SporeExplosion.html
│ │ ├── DT_SporeTrail.html
│ │ ├── DT_SpotlightEnd.html
│ │ ├── DT_Sprite.html
│ │ ├── DT_SpriteOriented.html
│ │ ├── DT_SpriteTrail.html
│ │ ├── DT_StatueProp.html
│ │ ├── DT_SteamJet.html
│ │ ├── DT_Sun.html
│ │ ├── DT_SunlightShadowControl.html
│ │ ├── DT_SurvivalGameRules.html
│ │ ├── DT_SurvivalSpawnChopper.html
│ │ ├── DT_TEArmorRicochet.html
│ │ ├── DT_TEBSPDecal.html
│ │ ├── DT_TEBeamEntPoint.html
│ │ ├── DT_TEBeamEnts.html
│ │ ├── DT_TEBeamFollow.html
│ │ ├── DT_TEBeamLaser.html
│ │ ├── DT_TEBeamPoints.html
│ │ ├── DT_TEBeamRing.html
│ │ ├── DT_TEBeamRingPoint.html
│ │ ├── DT_TEBeamSpline.html
│ │ ├── DT_TEBloodSprite.html
│ │ ├── DT_TEBloodStream.html
│ │ ├── DT_TEBreakModel.html
│ │ ├── DT_TEBubbleTrail.html
│ │ ├── DT_TEBubbles.html
│ │ ├── DT_TEClientProjectile.html
│ │ ├── DT_TEDecal.html
│ │ ├── DT_TEDust.html
│ │ ├── DT_TEDynamicLight.html
│ │ ├── DT_TEEffectDispatch.html
│ │ ├── DT_TEEnergySplash.html
│ │ ├── DT_TEExplosion.html
│ │ ├── DT_TEFireBullets.html
│ │ ├── DT_TEFizz.html
│ │ ├── DT_TEFootprintDecal.html
│ │ ├── DT_TEFoundryHelpers.html
│ │ ├── DT_TEGaussExplosion.html
│ │ ├── DT_TEGlowSprite.html
│ │ ├── DT_TEImpact.html
│ │ ├── DT_TEKillPlayerAttachments.html
│ │ ├── DT_TELargeFunnel.html
│ │ ├── DT_TEMetalSparks.html
│ │ ├── DT_TEMuzzleFlash.html
│ │ ├── DT_TEParticleSystem.html
│ │ ├── DT_TEPhysicsProp.html
│ │ ├── DT_TEPlantBomb.html
│ │ ├── DT_TEPlayerAnimEvent.html
│ │ ├── DT_TEPlayerDecal.html
│ │ ├── DT_TEProjectedDecal.html
│ │ ├── DT_TERadioIcon.html
│ │ ├── DT_TEShatterSurface.html
│ │ ├── DT_TEShowLine.html
│ │ ├── DT_TESmoke.html
│ │ ├── DT_TESparks.html
│ │ ├── DT_TESprite.html
│ │ ├── DT_TESpriteSpray.html
│ │ ├── DT_TEWorldDecal.html
│ │ ├── DT_Team.html
│ │ ├── DT_TeamplayRoundBasedRules.html
│ │ ├── DT_TeamplayRoundBasedRulesProxy.html
│ │ ├── DT_Tesla.html
│ │ ├── DT_TestTraceline.html
│ │ ├── DT_TriggerPlayerMovement.html
│ │ ├── DT_TriggerSoundOperator.html
│ │ ├── DT_VGuiScreen.html
│ │ ├── DT_VoteController.html
│ │ ├── DT_WORLD.html
│ │ ├── DT_WaterBullet.html
│ │ ├── DT_WaterLODControl.html
│ │ ├── DT_WeaponAK47.html
│ │ ├── DT_WeaponAWP.html
│ │ ├── DT_WeaponAug.html
│ │ ├── DT_WeaponBaseItem.html
│ │ ├── DT_WeaponBizon.html
│ │ ├── DT_WeaponBreachCharge.html
│ │ ├── DT_WeaponBumpMine.html
│ │ ├── DT_WeaponC4.html
│ │ ├── DT_WeaponCSBase.html
│ │ ├── DT_WeaponCSBaseGun.html
│ │ ├── DT_WeaponCycler.html
│ │ ├── DT_WeaponDEagle.html
│ │ ├── DT_WeaponElite.html
│ │ ├── DT_WeaponFamas.html
│ │ ├── DT_WeaponFists.html
│ │ ├── DT_WeaponFiveSeven.html
│ │ ├── DT_WeaponG3SG1.html
│ │ ├── DT_WeaponGalil.html
│ │ ├── DT_WeaponGalilAR.html
│ │ ├── DT_WeaponGlock.html
│ │ ├── DT_WeaponHKP2000.html
│ │ ├── DT_WeaponKnife.html
│ │ ├── DT_WeaponKnifeGG.html
│ │ ├── DT_WeaponM249.html
│ │ ├── DT_WeaponM3.html
│ │ ├── DT_WeaponM4A1.html
│ │ ├── DT_WeaponMAC10.html
│ │ ├── DT_WeaponMP5Navy.html
│ │ ├── DT_WeaponMP7.html
│ │ ├── DT_WeaponMP9.html
│ │ ├── DT_WeaponMag7.html
│ │ ├── DT_WeaponMelee.html
│ │ ├── DT_WeaponNOVA.html
│ │ ├── DT_WeaponNegev.html
│ │ ├── DT_WeaponP228.html
│ │ ├── DT_WeaponP250.html
│ │ ├── DT_WeaponP90.html
│ │ ├── DT_WeaponSCAR17.html
│ │ ├── DT_WeaponSCAR20.html
│ │ ├── DT_WeaponSG550.html
│ │ ├── DT_WeaponSG552.html
│ │ ├── DT_WeaponSG556.html
│ │ ├── DT_WeaponSSG08.html
│ │ ├── DT_WeaponSawedoff.html
│ │ ├── DT_WeaponScout.html
│ │ ├── DT_WeaponShield.html
│ │ ├── DT_WeaponTMP.html
│ │ ├── DT_WeaponTablet.html
│ │ ├── DT_WeaponTaser.html
│ │ ├── DT_WeaponTec9.html
│ │ ├── DT_WeaponUMP45.html
│ │ ├── DT_WeaponUSP.html
│ │ ├── DT_WeaponXM1014.html
│ │ ├── DT_WeaponZoneRepulsor.html
│ │ ├── DT_WearableItem.html
│ │ ├── DT_WorldVguiText.html
│ │ ├── DustTrail.html
│ │ ├── IBaselineUpdateEvent.html
│ │ ├── ICrosshairInfo.html
│ │ ├── IDemoEndEvent.html
│ │ ├── IDemoStartEvent.html
│ │ ├── IDemoWarningEvent.html
│ │ ├── IEntityBeforeRemoveEvent.html
│ │ ├── IEntityChangeEvent.html
│ │ ├── IEntityCreationEvent.html
│ │ ├── IEntityPropChange.html
│ │ ├── IEntityRemoveEvent.html
│ │ ├── IEventAchievementEarned.html
│ │ ├── IEventAnnouncePhaseEnd.html
│ │ ├── IEventBeginNewMatch.html
│ │ ├── IEventBombBegindefuse.html
│ │ ├── IEventBombBeginplant.html
│ │ ├── IEventBombDefused.html
│ │ ├── IEventBombDropped.html
│ │ ├── IEventBombExploded.html
│ │ ├── IEventBombPickup.html
│ │ ├── IEventBombPlanted.html
│ │ ├── IEventBotTakeover.html
│ │ ├── IEventBuytimeEnded.html
│ │ ├── IEventChoppersIncomingWarning.html
│ │ ├── IEventCsGameDisconnected.html
│ │ ├── IEventCsMatchEndRestart.html
│ │ ├── IEventCsPreRestart.html
│ │ ├── IEventCsRoundFinalBeep.html
│ │ ├── IEventCsRoundStartBeep.html
│ │ ├── IEventCsWinPanelMatch.html
│ │ ├── IEventCsWinPanelRound.html
│ │ ├── IEventDecoyDetonate.html
│ │ ├── IEventDecoyStarted.html
│ │ ├── IEventDefuserDropped.html
│ │ ├── IEventDefuserPickup.html
│ │ ├── IEventDmBonusWeaponStart.html
│ │ ├── IEventEndmatchCmmStartRevealItems.html
│ │ ├── IEventEndmatchMapvoteSelectingMap.html
│ │ ├── IEventFirstbombsIncomingWarning.html
│ │ ├── IEventFlashbangDetonate.html
│ │ ├── IEventGameNewmap.html
│ │ ├── IEventHegrenadeDetonate.html
│ │ ├── IEventHltvChat.html
│ │ ├── IEventHltvStatus.html
│ │ ├── IEventHostageHurt.html
│ │ ├── IEventHostageKilled.html
│ │ ├── IEventHostageRescued.html
│ │ ├── IEventHostageRescuedAll.html
│ │ ├── IEventInfernoExpire.html
│ │ ├── IEventInfernoStartburn.html
│ │ ├── IEventItemEquip.html
│ │ ├── IEventItemFound.html
│ │ ├── IEventItemPickup.html
│ │ ├── IEventItemRemove.html
│ │ ├── IEventItemsGifted.html
│ │ ├── IEventOtherDeath.html
│ │ ├── IEventPlayerBlind.html
│ │ ├── IEventPlayerChangename.html
│ │ ├── IEventPlayerChat.html
│ │ ├── IEventPlayerConnect.html
│ │ ├── IEventPlayerConnectFull.html
│ │ ├── IEventPlayerDeath.html
│ │ ├── IEventPlayerDisconnect.html
│ │ ├── IEventPlayerFalldamage.html
│ │ ├── IEventPlayerFootstep.html
│ │ ├── IEventPlayerHurt.html
│ │ ├── IEventPlayerInfo.html
│ │ ├── IEventPlayerJump.html
│ │ ├── IEventPlayerSpawn.html
│ │ ├── IEventPlayerTeam.html
│ │ ├── IEventRoundAnnounceFinal.html
│ │ ├── IEventRoundAnnounceLastRoundHalf.html
│ │ ├── IEventRoundAnnounceMatchPoint.html
│ │ ├── IEventRoundAnnounceMatchStart.html
│ │ ├── IEventRoundAnnounceWarmup.html
│ │ ├── IEventRoundEnd.html
│ │ ├── IEventRoundFreezeEnd.html
│ │ ├── IEventRoundMvp.html
│ │ ├── IEventRoundOfficiallyEnded.html
│ │ ├── IEventRoundPoststart.html
│ │ ├── IEventRoundPrestart.html
│ │ ├── IEventRoundStart.html
│ │ ├── IEventRoundTimeWarning.html
│ │ ├── IEventSeasoncoinLevelup.html
│ │ ├── IEventServerCvar.html
│ │ ├── IEventServerSpawn.html
│ │ ├── IEventSmokegrenadeDetonate.html
│ │ ├── IEventSmokegrenadeExpired.html
│ │ ├── IEventSurvivalParadropBreak.html
│ │ ├── IEventSurvivalParadropSpawn.html
│ │ ├── IEventTeamplayBroadcastAudio.html
│ │ ├── IEventTournamentReward.html
│ │ ├── IEventWeaponFire.html
│ │ ├── IEventWeaponFireOnEmpty.html
│ │ ├── IEventWeaponOutofammo.html
│ │ ├── IEventWeaponReload.html
│ │ ├── IEventWeaponZoom.html
│ │ ├── IFlattenedSendProp.html
│ │ ├── INonSpecificGameEventAchievementEarned.html
│ │ ├── INonSpecificGameEventAnnouncePhaseEnd.html
│ │ ├── INonSpecificGameEventBeginNewMatch.html
│ │ ├── INonSpecificGameEventBombBegindefuse.html
│ │ ├── INonSpecificGameEventBombBeginplant.html
│ │ ├── INonSpecificGameEventBombDefused.html
│ │ ├── INonSpecificGameEventBombDropped.html
│ │ ├── INonSpecificGameEventBombExploded.html
│ │ ├── INonSpecificGameEventBombPickup.html
│ │ ├── INonSpecificGameEventBombPlanted.html
│ │ ├── INonSpecificGameEventBotTakeover.html
│ │ ├── INonSpecificGameEventBuytimeEnded.html
│ │ ├── INonSpecificGameEventChoppersIncomingWarning.html
│ │ ├── INonSpecificGameEventCsGameDisconnected.html
│ │ ├── INonSpecificGameEventCsMatchEndRestart.html
│ │ ├── INonSpecificGameEventCsPreRestart.html
│ │ ├── INonSpecificGameEventCsRoundFinalBeep.html
│ │ ├── INonSpecificGameEventCsRoundStartBeep.html
│ │ ├── INonSpecificGameEventCsWinPanelMatch.html
│ │ ├── INonSpecificGameEventCsWinPanelRound.html
│ │ ├── INonSpecificGameEventDecoyDetonate.html
│ │ ├── INonSpecificGameEventDecoyStarted.html
│ │ ├── INonSpecificGameEventDefuserDropped.html
│ │ ├── INonSpecificGameEventDefuserPickup.html
│ │ ├── INonSpecificGameEventDmBonusWeaponStart.html
│ │ ├── INonSpecificGameEventEndmatchCmmStartRevealItems.html
│ │ ├── INonSpecificGameEventEndmatchMapvoteSelectingMap.html
│ │ ├── INonSpecificGameEventFirstbombsIncomingWarning.html
│ │ ├── INonSpecificGameEventFlashbangDetonate.html
│ │ ├── INonSpecificGameEventGameNewmap.html
│ │ ├── INonSpecificGameEventHegrenadeDetonate.html
│ │ ├── INonSpecificGameEventHltvChat.html
│ │ ├── INonSpecificGameEventHltvStatus.html
│ │ ├── INonSpecificGameEventHostageHurt.html
│ │ ├── INonSpecificGameEventHostageKilled.html
│ │ ├── INonSpecificGameEventHostageRescued.html
│ │ ├── INonSpecificGameEventHostageRescuedAll.html
│ │ ├── INonSpecificGameEventInfernoExpire.html
│ │ ├── INonSpecificGameEventInfernoStartburn.html
│ │ ├── INonSpecificGameEventItemEquip.html
│ │ ├── INonSpecificGameEventItemFound.html
│ │ ├── INonSpecificGameEventItemPickup.html
│ │ ├── INonSpecificGameEventItemRemove.html
│ │ ├── INonSpecificGameEventItemsGifted.html
│ │ ├── INonSpecificGameEventOtherDeath.html
│ │ ├── INonSpecificGameEventPlayerBlind.html
│ │ ├── INonSpecificGameEventPlayerChangename.html
│ │ ├── INonSpecificGameEventPlayerChat.html
│ │ ├── INonSpecificGameEventPlayerConnect.html
│ │ ├── INonSpecificGameEventPlayerConnectFull.html
│ │ ├── INonSpecificGameEventPlayerDeath.html
│ │ ├── INonSpecificGameEventPlayerDisconnect.html
│ │ ├── INonSpecificGameEventPlayerFalldamage.html
│ │ ├── INonSpecificGameEventPlayerFootstep.html
│ │ ├── INonSpecificGameEventPlayerHurt.html
│ │ ├── INonSpecificGameEventPlayerInfo.html
│ │ ├── INonSpecificGameEventPlayerJump.html
│ │ ├── INonSpecificGameEventPlayerSpawn.html
│ │ ├── INonSpecificGameEventPlayerTeam.html
│ │ ├── INonSpecificGameEventRoundAnnounceFinal.html
│ │ ├── INonSpecificGameEventRoundAnnounceLastRoundHalf.html
│ │ ├── INonSpecificGameEventRoundAnnounceMatchPoint.html
│ │ ├── INonSpecificGameEventRoundAnnounceMatchStart.html
│ │ ├── INonSpecificGameEventRoundAnnounceWarmup.html
│ │ ├── INonSpecificGameEventRoundEnd.html
│ │ ├── INonSpecificGameEventRoundFreezeEnd.html
│ │ ├── INonSpecificGameEventRoundMvp.html
│ │ ├── INonSpecificGameEventRoundOfficiallyEnded.html
│ │ ├── INonSpecificGameEventRoundPoststart.html
│ │ ├── INonSpecificGameEventRoundPrestart.html
│ │ ├── INonSpecificGameEventRoundStart.html
│ │ ├── INonSpecificGameEventRoundTimeWarning.html
│ │ ├── INonSpecificGameEventSeasoncoinLevelup.html
│ │ ├── INonSpecificGameEventServerCvar.html
│ │ ├── INonSpecificGameEventServerSpawn.html
│ │ ├── INonSpecificGameEventSmokegrenadeDetonate.html
│ │ ├── INonSpecificGameEventSmokegrenadeExpired.html
│ │ ├── INonSpecificGameEventSurvivalParadropBreak.html
│ │ ├── INonSpecificGameEventSurvivalParadropSpawn.html
│ │ ├── INonSpecificGameEventTeamplayBroadcastAudio.html
│ │ ├── INonSpecificGameEventTournamentReward.html
│ │ ├── INonSpecificGameEventWeaponFire.html
│ │ ├── INonSpecificGameEventWeaponFireOnEmpty.html
│ │ ├── INonSpecificGameEventWeaponOutofammo.html
│ │ ├── INonSpecificGameEventWeaponReload.html
│ │ ├── INonSpecificGameEventWeaponZoom.html
│ │ ├── IPlayerInfo.html
│ │ ├── IPlayerRoundStats.html
│ │ ├── IPropUpdate.html
│ │ ├── IServerClass.html
│ │ ├── IStringTable.html
│ │ ├── IStringTableEntry.html
│ │ ├── IStringTableUpdateEvent.html
│ │ ├── ITempEntEvent.html
│ │ ├── IUserCmd.html
│ │ ├── MovieExplosion.html
│ │ ├── NetworkableConstructor.html
│ │ ├── ParticleSmokeGrenade.html
│ │ ├── RocketTrail.html
│ │ ├── SmokeTrail.html
│ │ ├── SporeExplosion.html
│ │ ├── SporeTrail.html
│ │ ├── UnknownEntityProps.html
│ │ ├── Vector.html
│ │ ├── _LPT_m_AnimOverlay_15.html
│ │ ├── _LPT_m_Attributes_32.html
│ │ ├── _LPT_m_hActorList_16.html
│ │ ├── _ST_m_AnimOverlay_15.html
│ │ ├── _ST_m_Attributes_32.html
│ │ ├── _ST_m_hActorList_16.html
│ │ ├── m_DangerZones.html
│ │ ├── m_EquippedLoadoutItemDefIndices.html
│ │ ├── m_GGProgressiveWeaponKillUpgradeOrderCT.html
│ │ ├── m_GGProgressiveWeaponKillUpgradeOrderT.html
│ │ ├── m_GGProgressiveWeaponOrderCT.html
│ │ ├── m_GGProgressiveWeaponOrderT.html
│ │ ├── m_RawPanelBitVec.html
│ │ ├── m_SpawnTileState.html
│ │ ├── m_SurvivalGameRuleDecisionTypes.html
│ │ ├── m_SurvivalGameRuleDecisionValues.html
│ │ ├── m_TeamRespawnWaveTimes.html
│ │ ├── m_arrFeaturedGiftersAccounts.html
│ │ ├── m_arrFeaturedGiftersGifts.html
│ │ ├── m_arrProhibitedItemIndices.html
│ │ ├── m_arrTournamentActiveCasterAccounts.html
│ │ ├── m_bAlive.html
│ │ ├── m_bBlocked.html
│ │ ├── m_bCPIsVisible.html
│ │ ├── m_bConnected.html
│ │ ├── m_bControllingBot.html
│ │ ├── m_bFireIsBurning.html
│ │ ├── m_bHasCommunicationAbuseMute.html
│ │ ├── m_bHasDefuser.html
│ │ ├── m_bHasHelmet.html
│ │ ├── m_bHostageAlive.html
│ │ ├── m_bInMiniRound.html
│ │ ├── m_bPlayerDominated.html
│ │ ├── m_bPlayerDominatingMe.html
│ │ ├── m_bSpottedByMask.html
│ │ ├── m_bTeamCanCap.html
│ │ ├── m_bTeamReady.html
│ │ ├── m_chAreaBits.html
│ │ ├── m_chAreaPortalBits.html
│ │ ├── m_chCurrentSlideLists.html
│ │ ├── m_chPoseIndex.html
│ │ ├── m_fireXDelta.html
│ │ ├── m_fireYDelta.html
│ │ ├── m_fireZDelta.html
│ │ ├── m_flEncodedController.html
│ │ ├── m_flFrozenPerHitbox.html
│ │ ├── m_flLazyCapPerc.html
│ │ ├── m_flNextRespawnWave.html
│ │ ├── m_flPathDistance.html
│ │ ├── m_flPoseParameter.html
│ │ ├── m_flPostProcessParameters.html
│ │ ├── m_flTeamCapTime.html
│ │ ├── m_flWaveEndTimes.html
│ │ ├── m_flexWeight.html
│ │ ├── m_hAttachEntity.html
│ │ ├── m_hControlPointEnts.html
│ │ ├── m_hMyWeapons.html
│ │ ├── m_hMyWearables.html
│ │ ├── m_hProps.html
│ │ ├── m_hostageRescueX.html
│ │ ├── m_hostageRescueY.html
│ │ ├── m_hostageRescueZ.html
│ │ ├── m_iAmmo.html
│ │ ├── m_iArmor.html
│ │ ├── m_iAssists.html
│ │ ├── m_iBaseControlPoints.html
│ │ ├── m_iBotDifficulty.html
│ │ ├── m_iCappingTeam.html
│ │ ├── m_iCashSpentThisRound.html
│ │ ├── m_iCoachingTeam.html
│ │ ├── m_iCompTeammateColor.html
│ │ ├── m_iCompetitiveRankType.html
│ │ ├── m_iCompetitiveRanking.html
│ │ ├── m_iCompetitiveWins.html
│ │ ├── m_iControlPointParents.html
│ │ ├── m_iControlledByPlayer.html
│ │ ├── m_iControlledPlayer.html
│ │ ├── m_iDeaths.html
│ │ ├── m_iGunGameLevel.html
│ │ ├── m_iHealth.html
│ │ ├── m_iHostageEntityIDs.html
│ │ ├── m_iKills.html
│ │ ├── m_iLifetimeEnd.html
│ │ ├── m_iLifetimeStart.html
│ │ ├── m_iMVPs.html
│ │ ├── m_iMatchStats_3k_Total.html
│ │ ├── m_iMatchStats_4k_Total.html
│ │ ├── m_iMatchStats_5k_Total.html
│ │ ├── m_iMatchStats_Assists.html
│ │ ├── m_iMatchStats_Assists_Total.html
│ │ ├── m_iMatchStats_CashEarned.html
│ │ ├── m_iMatchStats_CashEarned_Total.html
│ │ ├── m_iMatchStats_Damage.html
│ │ ├── m_iMatchStats_Damage_Total.html
│ │ ├── m_iMatchStats_Deaths.html
│ │ ├── m_iMatchStats_Deaths_Total.html
│ │ ├── m_iMatchStats_EnemiesFlashed.html
│ │ ├── m_iMatchStats_EnemiesFlashed_Total.html
│ │ ├── m_iMatchStats_EquipmentValue.html
│ │ ├── m_iMatchStats_EquipmentValue_Total.html
│ │ ├── m_iMatchStats_HeadShotKills.html
│ │ ├── m_iMatchStats_HeadShotKills_Total.html
│ │ ├── m_iMatchStats_KillReward.html
│ │ ├── m_iMatchStats_KillReward_Total.html
│ │ ├── m_iMatchStats_Kills.html
│ │ ├── m_iMatchStats_Kills_Total.html
│ │ ├── m_iMatchStats_LiveTime.html
│ │ ├── m_iMatchStats_LiveTime_Total.html
│ │ ├── m_iMatchStats_MoneySaved.html
│ │ ├── m_iMatchStats_Objective.html
│ │ ├── m_iMatchStats_Objective_Total.html
│ │ ├── m_iMatchStats_PlayersAlive_CT.html
│ │ ├── m_iMatchStats_PlayersAlive_T.html
│ │ ├── m_iMatchStats_RoundResults.html
│ │ ├── m_iMatchStats_UtilityDamage.html
│ │ ├── m_iMatchStats_UtilityDamage_Total.html
│ │ ├── m_iNumTeamMembers.html
│ │ ├── m_iOwner.html
│ │ ├── m_iPendingTeam.html
│ │ ├── m_iPing.html
│ │ ├── m_iPlayerSpawnHexIndices.html
│ │ ├── m_iPreviousPoints.html
│ │ ├── m_iScore.html
│ │ ├── m_iServerControlPointAssignments.html
│ │ ├── m_iTeam.html
│ │ ├── m_iTeamBaseIcons.html
│ │ ├── m_iTeamIcons.html
│ │ ├── m_iTeamInZone.html
│ │ ├── m_iTeamOverlays.html
│ │ ├── m_iTeamReqCappers.html
│ │ ├── m_iTotalCashSpent.html
│ │ ├── m_iWarnOnCap.html
│ │ ├── m_iWeaponPurchasesThisMatch.html
│ │ ├── m_iWeaponPurchasesThisRound.html
│ │ ├── m_isHostageFollowingSomeone.html
│ │ ├── m_nAccountIDs.html
│ │ ├── m_nActiveCoinRank.html
│ │ ├── m_nAttachIndex.html
│ │ ├── m_nCharacterDefIndex.html
│ │ ├── m_nEndMatchMapGroupVoteOptions.html
│ │ ├── m_nEndMatchMapGroupVoteTypes.html
│ │ ├── m_nEndMatchNextMapVotes.html
│ │ ├── m_nMapId0.html
│ │ ├── m_nMapId1.html
│ │ ├── m_nMapId2.html
│ │ ├── m_nMapId3.html
│ │ ├── m_nMapId4.html
│ │ ├── m_nMapId5.html
│ │ ├── m_nMusicID.html
│ │ ├── m_nPersonaDataPublicCommendsFriendly.html
│ │ ├── m_nPersonaDataPublicCommendsLeader.html
│ │ ├── m_nPersonaDataPublicCommendsTeacher.html
│ │ ├── m_nPersonaDataPublicLevel.html
│ │ ├── m_nStartingSide0.html
│ │ ├── m_nTeamWithFirstChoice.html
│ │ ├── m_nVoteMapIdsList.html
│ │ ├── m_nVoteOptionCount.html
│ │ ├── m_passiveItems.html
│ │ ├── m_rank.html
│ │ ├── m_roundData_playerPositions.html
│ │ ├── m_roundData_playerTeams.html
│ │ ├── m_roundData_playerXuids.html
│ │ ├── m_szClan.html
│ │ ├── m_szCrosshairCodes.html
│ │ ├── m_ubSignature.html
│ │ ├── m_vServerControlPoints.html
│ │ └── m_vecPlayerPatchEconIndices.html
│ ├── modules.html
│ └── types/
│ ├── GrenadeType.html
│ ├── IDataTable.html
│ ├── INonSpecificGameEvent.html
│ ├── ISendProp.html
│ ├── InputButton.html
│ ├── ItemQuality.html
│ ├── TeamName.html
│ ├── TransmitEntities.html
│ └── WellKnownStringTable.html
├── examples/
│ ├── dumpbroadcast.ts
│ ├── dumpfile.ts
│ ├── join-leave.ts
│ ├── molotov.ts
│ ├── package.json
│ ├── paintkits.ts
│ ├── plant-site.ts
│ ├── purchases.ts
│ ├── rank.ts
│ ├── scores.ts
│ ├── tickrate.ts
│ ├── trajectory.ts
│ └── tsconfig.json
├── generate-protobufs.sh
├── index.html
├── jest.config.js
├── netprops.txt
├── package.json
├── src/
│ ├── assert-exists.ts
│ ├── consts.ts
│ ├── convars.ts
│ ├── crosshair.test.ts
│ ├── crosshair.ts
│ ├── demo.ts
│ ├── entities/
│ │ ├── baseentity.ts
│ │ ├── gamerules.ts
│ │ ├── itemdefs.ts
│ │ ├── networkable.ts
│ │ ├── player.ts
│ │ ├── projectile.ts
│ │ ├── team.ts
│ │ └── weapon.ts
│ ├── entities.ts
│ ├── entityhandle.ts
│ ├── eventtypes.ts
│ ├── ext/
│ │ └── bitbuffer.ts
│ ├── gameevent.ts
│ ├── gameevents.ts
│ ├── generators/
│ │ ├── eventtypes.ts
│ │ ├── itemdefs.ts
│ │ ├── sendtabletypes.ts
│ │ └── usermessagetypes.ts
│ ├── icekey.ts
│ ├── index.ts
│ ├── keyvalues.ts
│ ├── net.ts
│ ├── props.ts
│ ├── protobufs/
│ │ ├── base_gcmessages.proto
│ │ ├── cstrike15_gcmessages.proto
│ │ ├── cstrike15_gcmessages.ts
│ │ ├── cstrike15_usermessages.proto
│ │ ├── cstrike15_usermessages.ts
│ │ ├── econ_gcmessages.proto
│ │ ├── engine_gcmessages.proto
│ │ ├── engine_gcmessages.ts
│ │ ├── fatdemo.proto
│ │ ├── gcsdk_gcmessages.proto
│ │ ├── gcsystemmsgs.proto
│ │ ├── google/
│ │ │ └── protobuf/
│ │ │ └── descriptor.ts
│ │ ├── netmessages.proto
│ │ ├── netmessages.ts
│ │ ├── network_connection.proto
│ │ ├── steamdatagram_messages.proto
│ │ ├── steamdatagram_messages_auth.proto
│ │ ├── steamdatagram_messages_sdr.proto
│ │ ├── steammessages.proto
│ │ ├── steammessages.ts
│ │ ├── steammessages_base.proto
│ │ ├── steammessages_gamenetworkingui.proto
│ │ ├── steamnetworkingsockets_messages.proto
│ │ ├── steamnetworkingsockets_messages_certs.proto
│ │ ├── steamnetworkingsockets_messages_udp.proto
│ │ └── uifontfile_format.proto
│ ├── replaykeys.test.ts
│ ├── replaykeys.ts
│ ├── sendtabletypes.ts
│ ├── sharecode.ts
│ ├── stringtables.ts
│ ├── supplements/
│ │ ├── grenadetrajectory.ts
│ │ ├── itempurchase.ts
│ │ ├── molotovdetonate.ts
│ │ └── supplementinfo.ts
│ ├── syncdto.ts
│ ├── usermessages.ts
│ └── usermessagetypes.ts
├── tests/
│ ├── __snapshots__/
│ │ ├── broadcast.test.ts.snap
│ │ ├── chat.test.ts.snap
│ │ ├── entity-events.test.ts.snap
│ │ ├── gotv.test.ts.snap
│ │ ├── grenades.test.ts.snap
│ │ ├── in-eye.test.ts.snap
│ │ ├── itempurchase.test.ts.snap
│ │ └── usercmd.test.ts.snap
│ ├── broadcast.test.ts
│ ├── chat.test.ts
│ ├── entity-events.test.ts
│ ├── fragments/
│ │ └── sync.json
│ ├── gotv.test.ts
│ ├── grenades.test.ts
│ ├── in-eye.test.ts
│ ├── incomplete.test.ts
│ ├── itempurchase.test.ts
│ ├── usercmd.test.ts
│ └── util.ts
├── tsconfig.json
└── typings/
└── bit-buffer.d.ts
Showing preview only (755K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (9516 symbols across 132 files)
FILE: browser/bundle.js
function r (line 1) | function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==...
function assertExists (line 8) | function assertExists(value, message) {
class ConVars (line 42) | class ConVars extends events_1.EventEmitter {
method constructor (line 43) | constructor() {
method listen (line 47) | listen(demo) {
function decodeCrosshairCode (line 81) | function decodeCrosshairCode(shareCode) {
function httpGet (line 135) | function httpGet(url) {
function parseHeaderBytebuf (line 155) | function parseHeaderBytebuf(bytebuf) {
function parseHeader (line 183) | function parseHeader(buffer) {
class DemoFile (line 191) | class DemoFile extends events_1.EventEmitter {
method constructor (line 201) | constructor() {
method tickRate (line 290) | get tickRate() {
method currentTime (line 296) | get currentTime() {
method players (line 303) | get players() {
method teams (line 310) | get teams() {
method gameRules (line 317) | get gameRules() {
method _findSupplement (line 320) | _findSupplement(eventName) {
method parseBroadcast (line 334) | async parseBroadcast(url) {
method parseStream (line 410) | parseStream(stream) {
method parse (line 469) | parse(buffer) {
method cancel (line 479) | cancel() {
method setEncryptionKey (line 498) | setEncryptionKey(publicKey) {
method _emitEnd (line 504) | _emitEnd(e) {
method _parseHeader (line 513) | _parseHeader() {
method _readIBytes (line 531) | _readIBytes() {
method _handleEncryptedData (line 537) | _handleEncryptedData(msg) {
method _handleStringTableUpdate (line 569) | _handleStringTableUpdate(update) {
method _handleDemoPacket (line 584) | _handleDemoPacket() {
method _handleDataChunk (line 609) | _handleDataChunk() {
method _handleDataTables (line 612) | _handleDataTables() {
method _handleUserCmd (line 618) | _handleUserCmd() {
method _handleStringTables (line 743) | _handleStringTables() {
method _tryEnsureRemaining (line 748) | _tryEnsureRemaining(bytes) {
method _ensureRemaining (line 771) | _ensureRemaining(bytes) {
method _readCommand (line 776) | _readCommand() {
method _parseRecurse (line 816) | _parseRecurse() {
function isPropExcluded (line 873) | function isPropExcluded(excludes, table, prop) {
function readFieldIndex (line 877) | function readFieldIndex(entityBitBuffer, lastIndex, newWay) {
function cloneProps (line 908) | function cloneProps(props) {
class Entities (line 925) | class Entities extends events_1.EventEmitter {
method constructor (line 926) | constructor() {
method playerResource (line 965) | get playerResource() {
method gameRules (line 968) | get gameRules() {
method teams (line 971) | get teams() {
method players (line 974) | get players() {
method weapons (line 985) | get weapons() {
method listen (line 988) | listen(demo) {
method isHandleSet (line 1019) | isHandleSet(handle) {
method getByHandle (line 1027) | getByHandle(handle) {
method getByUserId (line 1042) | getByUserId(userId) {
method getByAccountId (line 1053) | getByAccountId(accountId) {
method getBySteam64Id (line 1064) | getBySteam64Id(steam64Id) {
method getSingleton (line 1071) | getSingleton(serverClass) {
method findAllWithTable (line 1084) | *findAllWithTable(table) {
method findAllWithClass (line 1091) | *findAllWithClass(klass) {
method handleDataTables (line 1098) | handleDataTables(chunk) {
method _gatherExcludes (line 1148) | _gatherExcludes(table) {
method _gatherProps (line 1161) | _gatherProps(table, excludes) {
method _flattenDataTable (line 1192) | _flattenDataTable(table) {
method _findTableByName (line 1225) | _findTableByName(name) {
method _addEntity (line 1228) | _addEntity(index, classId, serialNum, existingEntity, entityBaseline) {
method _removeEntity (line 1249) | _removeEntity(index, immediate) {
method _parseEntityUpdate (line 1270) | _parseEntityUpdate(entityBitBuffer, classId) {
method _readNewEntity (line 1295) | _readNewEntity(entityBitBuffer, entity) {
method _updatesToPropObject (line 1324) | _updatesToPropObject(target, updates) {
method _handleTempEntities (line 1334) | _handleTempEntities(msg) {
method _handlePacketEntities (line 1364) | _handlePacketEntities(msg) {
method _readPacketEntities (line 1391) | _readPacketEntities(msg, frame) {
method _parseInstanceBaseline (line 1456) | _parseInstanceBaseline(baselineBuf, classId) {
method _handleUserInfoUpdate (line 1471) | _handleUserInfoUpdate(clientSlot, oldPlayerInfo, playerInfo) {
method _handleInstanceBaselineUpdate (line 1483) | _handleInstanceBaselineUpdate(event) {
method _handleStringTableUpdate (line 1500) | _handleStringTableUpdate(event) {
class BaseEntity (line 1520) | class BaseEntity extends networkable_1.Networkable {
method position (line 1525) | get position() {
method moveParent (line 1540) | get moveParent() {
method owner (line 1547) | get owner() {
method teamNumber (line 1554) | get teamNumber() {
method team (line 1560) | get team() {
method modelName (line 1570) | get modelName() {
class GameRules (line 1588) | class GameRules extends networkable_1.Networkable {
method isWarmup (line 1592) | get isWarmup() {
method roundNumber (line 1598) | get roundNumber() {
method roundsPlayed (line 1608) | get roundsPlayed() {
method phase (line 1614) | get phase() {
class Networkable (line 6414) | class Networkable {
method constructor (line 6415) | constructor(demo, index, classId, serialNum, props) {
method serverClass (line 6430) | get serverClass() {
method handle (line 6436) | get handle() {
method getProp (line 6446) | getProp(tableName, varName) {
method getIndexedProps (line 6453) | getIndexedProps(tableName) {
method updateProp (line 6465) | updateProp(tableName, varName, newValue) {
method isDormant (line 6481) | get isDormant() {
method toJSON (line 6484) | toJSON() {
class Player (line 6500) | class Player extends baseentity_1.BaseEntity {
method constructor (line 6501) | constructor(demo, index, classId, serialNum, baseline) {
method health (line 6511) | get health() {
method eyeAngles (line 6514) | get eyeAngles() {
method position (line 6520) | get position() {
method velocity (line 6531) | get velocity() {
method speed (line 6544) | get speed() {
method account (line 6551) | get account() {
method lifeState (line 6554) | get lifeState() {
method isAlive (line 6560) | get isAlive() {
method userInfo (line 6566) | get userInfo() {
method userId (line 6573) | get userId() {
method steamId (line 6579) | get steamId() {
method steam64Id (line 6585) | get steam64Id() {
method name (line 6593) | get name() {
method isFakePlayer (line 6599) | get isFakePlayer() {
method isHltv (line 6605) | get isHltv() {
method armor (line 6611) | get armor() {
method placeName (line 6617) | get placeName() {
method weapon (line 6623) | get weapon() {
method weapons (line 6629) | get weapons() {
method isInBombZone (line 6637) | get isInBombZone() {
method isInBuyZone (line 6643) | get isInBuyZone() {
method isDefusing (line 6649) | get isDefusing() {
method hasDefuser (line 6655) | get hasDefuser() {
method hasHelmet (line 6661) | get hasHelmet() {
method isControllingBot (line 6667) | get isControllingBot() {
method resourceProp (line 6675) | resourceProp(tableName) {
method kills (line 6682) | get kills() {
method assists (line 6688) | get assists() {
method deaths (line 6694) | get deaths() {
method cashSpendThisRound (line 6700) | get cashSpendThisRound() {
method cashSpendTotal (line 6706) | get cashSpendTotal() {
method hasC4 (line 6712) | get hasC4() {
method score (line 6719) | get score() {
method mvps (line 6726) | get mvps() {
method clanTag (line 6733) | get clanTag() {
method isSpotted (line 6740) | get isSpotted() {
method isSpottedBy (line 6750) | isSpottedBy(other) {
method allSpotters (line 6765) | get allSpotters() {
method hasSpotted (line 6774) | hasSpotted(other) {
method allSpotted (line 6780) | get allSpotted() {
method isFriendly (line 6787) | isFriendly(other) {
method isScoped (line 6795) | get isScoped() {
method isWalking (line 6801) | get isWalking() {
method isDucking (line 6807) | get isDucking() {
method isDucked (line 6813) | get isDucked() {
method flashDuration (line 6819) | get flashDuration() {
method currentEquipmentValue (line 6825) | get currentEquipmentValue() {
method roundStartEquipmentValue (line 6831) | get roundStartEquipmentValue() {
method freezeTimeEndEquipmentValue (line 6837) | get freezeTimeEndEquipmentValue() {
method matchStats (line 6843) | get matchStats() {
method crosshairInfo (line 6874) | get crosshairInfo() {
method isRecordingDemo (line 6880) | get isRecordingDemo() {
class Projectile (line 6894) | class Projectile extends baseentity_1.BaseEntity {
method grenadeType (line 6898) | get grenadeType() {
class Team (line 6928) | class Team extends networkable_1.Networkable {
method members (line 6932) | get members() {
method teamNumber (line 6941) | get teamNumber() {
method clanName (line 6947) | get clanName() {
method teamName (line 6953) | get teamName() {
method score (line 6959) | get score() {
method scoreFirstHalf (line 6965) | get scoreFirstHalf() {
method scoreSecondHalf (line 6971) | get scoreSecondHalf() {
method flagImage (line 6977) | get flagImage() {
method logoImage (line 6983) | get logoImage() {
class Weapon (line 7014) | class Weapon extends baseentity_1.BaseEntity {
method owner (line 7018) | get owner() {
method itemIndex (line 7024) | get itemIndex() {
method itemName (line 7030) | get itemName() {
method className (line 7038) | get className() {
method prevOwner (line 7046) | get prevOwner() {
method clipAmmo (line 7053) | get clipAmmo() {
method reserveAmmo (line 7059) | get reserveAmmo() {
method ownerAmmo (line 7065) | get ownerAmmo() {
method quality (line 7076) | get quality() {
class EntityHandle (line 7088) | class EntityHandle {
method constructor (line 7089) | constructor(value) {
method isValid (line 7092) | get isValid() {
method index (line 7095) | get index() {
method serialNum (line 7098) | get serialNum() {
function annotateEvent (line 7113) | function annotateEvent(entities, eventName, event) {
class GameEvent (line 7537) | class GameEvent {
method constructor (line 7538) | constructor(descriptor) {
method messageToObject (line 7543) | messageToObject(eventMsg) {
class GameEvents (line 7591) | class GameEvents extends events_1.EventEmitter {
method constructor (line 7592) | constructor() {
method listen (line 7597) | listen(demo) {
method _handleGameEventList (line 7624) | _handleGameEventList(msg) {
class IceKey (line 7659) | class IceKey {
method constructor (line 7661) | constructor(level) {
method keySize (line 7685) | keySize() {
method blockSize (line 7689) | blockSize() {
method set (line 7693) | set(key) {
method clear (line 7713) | clear() {
method encrypt (line 7719) | encrypt(plaintext, ciphertext) {
method decrypt (line 7739) | decrypt(ciphertext, plaintext) {
method decryptUint8Array (line 7758) | decryptUint8Array(cipherArray, plainArray, from, to) {
method gf_mult (line 7786) | gf_mult(a, b, m) {
method gf_exp7 (line 7800) | gf_exp7(b, m) {
method perm32 (line 7810) | perm32(x) {
method spBoxInit (line 7822) | spBoxInit() {
method scheduleBuild (line 7847) | scheduleBuild(kb, n, krotIdx) {
method roundFunc (line 7868) | roundFunc(p, subkey) {
function findByName (line 8046) | function findByName(name) {
function findByType (line 8050) | function findByType(type) {
function makeIntDecoder (line 8085) | function makeIntDecoder(sendProp) {
function makeSpecialFloatDecoder (line 8113) | function makeSpecialFloatDecoder(sendProp) {
function makeFloatDecoder (line 8145) | function makeFloatDecoder(sendProp) {
function makeVectorDecoder (line 8160) | function makeVectorDecoder(sendProp) {
function makeVectorXYDecoder (line 8192) | function makeVectorXYDecoder(sendProp) {
function makeStringDecoder (line 8200) | function makeStringDecoder(_sendProp) {
function makeInt64Decoder (line 8206) | function makeInt64Decoder(sendProp) {
function makeValueDecoder (line 8234) | function makeValueDecoder(sendProp) {
function makeArrayDecoder (line 8252) | function makeArrayDecoder(sendProp, arrayElementProp) {
function makeDecoder (line 8265) | function makeDecoder(sendProp, arrayElementProp) {
function createBaseGameServerPing (line 8415) | function createBaseGameServerPing() {
method encode (line 8419) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 8431) | decode(input, length) {
method fromPartial (line 8454) | fromPartial(object) {
function createBaseDataCenterPing (line 8463) | function createBaseDataCenterPing() {
method encode (line 8467) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 8476) | decode(input, length) {
method fromPartial (line 8496) | fromPartial(object) {
function createBaseDetailedSearchStatistic (line 8504) | function createBaseDetailedSearchStatistic() {
method encode (line 8508) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 8520) | decode(input, length) {
method fromPartial (line 8543) | fromPartial(object) {
function createBaseTournamentPlayer (line 8552) | function createBaseTournamentPlayer() {
method encode (line 8564) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 8588) | decode(input, length) {
method fromPartial (line 8623) | fromPartial(object) {
function createBaseTournamentTeam (line 8636) | function createBaseTournamentTeam() {
method encode (line 8640) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 8658) | decode(input, length) {
method fromPartial (line 8687) | fromPartial(object) {
function createBaseTournamentEvent (line 8699) | function createBaseTournamentEvent() {
method encode (line 8713) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 8743) | decode(input, length) {
method fromPartial (line 8784) | fromPartial(object) {
function createBaseGlobalStatistics (line 8799) | function createBaseGlobalStatistics() {
method encode (line 8819) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 8867) | decode(input, length) {
method fromPartial (line 8926) | fromPartial(object) {
function createBaseOperationalStatisticDescription (line 8948) | function createBaseOperationalStatisticDescription() {
method encode (line 8952) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 8961) | decode(input, length) {
method fromPartial (line 8981) | fromPartial(object) {
function createBaseOperationalStatisticElement (line 8989) | function createBaseOperationalStatisticElement() {
method encode (line 8993) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9004) | decode(input, length) {
method fromPartial (line 9032) | fromPartial(object) {
function createBaseOperationalStatisticsPacket (line 9040) | function createBaseOperationalStatisticsPacket() {
method encode (line 9044) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9056) | decode(input, length) {
method fromPartial (line 9079) | fromPartial(object) {
function createBasePlayerRankingInfo (line 9089) | function createBasePlayerRankingInfo() {
method encode (line 9100) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9121) | decode(input, length) {
method fromPartial (line 9153) | fromPartial(object) {
function createBasePlayerCommendationInfo (line 9165) | function createBasePlayerCommendationInfo() {
method encode (line 9169) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9181) | decode(input, length) {
method fromPartial (line 9204) | fromPartial(object) {
function createBasePlayerMedalsInfo (line 9213) | function createBasePlayerMedalsInfo() {
method encode (line 9217) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9228) | decode(input, length) {
method fromPartial (line 9256) | fromPartial(object) {
function createBaseAccountActivity (line 9264) | function createBaseAccountActivity() {
method encode (line 9268) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9283) | decode(input, length) {
method fromPartial (line 9309) | fromPartial(object) {
function createBaseTournamentMatchSetup (line 9322) | function createBaseTournamentMatchSetup() {
method encode (line 9326) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9341) | decode(input, length) {
method fromPartial (line 9367) | fromPartial(object) {
function createBaseServerHltvInfo (line 9377) | function createBaseServerHltvInfo() {
method encode (line 9402) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9465) | decode(input, length) {
method fromPartial (line 9539) | fromPartial(object) {
function createBaseIpAddressMask (line 9574) | function createBaseIpAddressMask() {
method encode (line 9578) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9599) | decode(input, length) {
method fromPartial (line 9631) | fromPartial(object) {
function createBaseCMsgCsgoSteamUserStatChange (line 9643) | function createBaseCMsgCsgoSteamUserStatChange() {
method encode (line 9647) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9659) | decode(input, length) {
method fromPartial (line 9682) | fromPartial(object) {
function createBaseXpProgressData (line 9691) | function createBaseXpProgressData() {
method encode (line 9695) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9704) | decode(input, length) {
method fromPartial (line 9724) | fromPartial(object) {
function createBaseMatchEndItemUpdates (line 9732) | function createBaseMatchEndItemUpdates() {
method encode (line 9736) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9748) | decode(input, length) {
method fromPartial (line 9771) | fromPartial(object) {
function createBaseScoreLeaderboardData (line 9783) | function createBaseScoreLeaderboardData() {
method encode (line 9792) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9807) | decode(input, length) {
method fromPartial (line 9833) | fromPartial(object) {
function createBaseScoreLeaderboardData_Entry (line 9848) | function createBaseScoreLeaderboardData_Entry() {
method encode (line 9852) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9861) | decode(input, length) {
method fromPartial (line 9881) | fromPartial(object) {
function createBaseScoreLeaderboardData_AccountEntries (line 9889) | function createBaseScoreLeaderboardData_AccountEntries() {
method encode (line 9893) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9902) | decode(input, length) {
method fromPartial (line 9922) | fromPartial(object) {
function createBasePlayerQuestData (line 9931) | function createBasePlayerQuestData() {
method encode (line 9944) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 9971) | decode(input, length) {
method fromPartial (line 10009) | fromPartial(object) {
function createBasePlayerQuestData_QuestItemData (line 10027) | function createBasePlayerQuestData_QuestItemData() {
method encode (line 10035) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 10047) | decode(input, length) {
method fromPartial (line 10070) | fromPartial(object) {
function createBaseDeepPlayerStatsEntry (line 10082) | function createBaseDeepPlayerStatsEntry() {
method encode (line 10115) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 10204) | decode(input, length) {
method fromPartial (line 10310) | fromPartial(object) {
function createBaseDeepPlayerMatchEvent (line 10347) | function createBaseDeepPlayerMatchEvent() {
method encode (line 10366) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 10411) | decode(input, length) {
method fromPartial (line 10467) | fromPartial(object) {
function createBaseCMsgGCServerQuestUpdateData (line 10490) | function createBaseCMsgGCServerQuestUpdateData() {
method encode (line 10499) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 10514) | decode(input, length) {
method fromPartial (line 10540) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingGCOperationalStats (line 10554) | function createBaseCMsgGCCStrike15V2MatchmakingGCOperationalStats() {
method encode (line 10558) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 10570) | decode(input, length) {
method fromPartial (line 10593) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingGC2ServerConfirm (line 10605) | function createBaseCMsgGCCStrike15V2MatchmakingGC2ServerConfirm() {
method encode (line 10609) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 10621) | decode(input, length) {
method fromPartial (line 10644) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2GC2ServerReservationUpdate (line 10656) | function createBaseCMsgGCCStrike15V2GC2ServerReservationUpdate() {
method encode (line 10660) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 10669) | decode(input, length) {
method fromPartial (line 10689) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingStart (line 10697) | function createBaseCMsgGCCStrike15V2MatchmakingStart() {
method encode (line 10710) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 10739) | decode(input, length) {
method fromPartial (line 10785) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingStop (line 10805) | function createBaseCMsgGCCStrike15V2MatchmakingStop() {
method encode (line 10809) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 10815) | decode(input, length) {
method fromPartial (line 10832) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingClient2ServerPing (line 10839) | function createBaseCMsgGCCStrike15V2MatchmakingClient2ServerPing() {
method encode (line 10850) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 10871) | decode(input, length) {
method fromPartial (line 10903) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingGC2ClientUpdate (line 10917) | function createBaseCMsgGCCStrike15V2MatchmakingGC2ClientUpdate() {
method encode (line 10938) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 11011) | decode(input, length) {
method fromPartial (line 11161) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingGC2ClientUpdate_Note (line 11202) | function createBaseCMsgGCCStrike15V2MatchmakingGC2ClientUpdate_Note() {
method encode (line 11206) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 11221) | decode(input, length) {
method fromPartial (line 11247) | fromPartial(object) {
function createBaseCDataGCCStrike15V2TournamentMatchDraft (line 11257) | function createBaseCDataGCCStrike15V2TournamentMatchDraft() {
method encode (line 11272) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 11305) | decode(input, length) {
method fromPartial (line 11349) | fromPartial(object) {
function createBaseCDataGCCStrike15V2TournamentMatchDraft_Entry (line 11366) | function createBaseCDataGCCStrike15V2TournamentMatchDraft_Entry() {
method encode (line 11370) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 11379) | decode(input, length) {
method fromPartial (line 11399) | fromPartial(object) {
function createBaseCPreMatchInfoData (line 11407) | function createBaseCPreMatchInfoData() {
method encode (line 11411) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 11428) | decode(input, length) {
method fromPartial (line 11462) | fromPartial(object) {
function createBaseCPreMatchInfoData_TeamStats (line 11476) | function createBaseCPreMatchInfoData_TeamStats() {
method encode (line 11480) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 11492) | decode(input, length) {
method fromPartial (line 11515) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingGC2ServerReserve (line 11524) | function createBaseCMsgGCCStrike15V2MatchmakingGC2ServerReserve() {
method encode (line 11547) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 11610) | decode(input, length) {
method fromPartial (line 11702) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingServerReservationResponse (line 11751) | function createBaseCMsgGCCStrike15V2MatchmakingServerReservationResponse...
method encode (line 11773) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 11831) | decode(input, length) {
method fromPartial (line 11913) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingGC2ClientReserve (line 11950) | function createBaseCMsgGCCStrike15V2MatchmakingGC2ClientReserve() {
method encode (line 11962) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 11986) | decode(input, length) {
method fromPartial (line 12022) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingServerRoundStats (line 12044) | function createBaseCMsgGCCStrike15V2MatchmakingServerRoundStats() {
method encode (line 12080) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 12208) | decode(input, length) {
method fromPartial (line 12445) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingServerRoundStats_DropInfo (line 12494) | function createBaseCMsgGCCStrike15V2MatchmakingServerRoundStats_DropInfo...
method encode (line 12498) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 12504) | decode(input, length) {
method fromPartial (line 12521) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingClient2GCHello (line 12528) | function createBaseCMsgGCCStrike15V2MatchmakingClient2GCHello() {
method encode (line 12532) | encode(_, writer = minimal_1.Writer.create()) {
method decode (line 12535) | decode(input, length) {
method fromPartial (line 12549) | fromPartial(_) {
function createBaseCMsgGCCStrike15V2MatchmakingGC2ClientHello (line 12554) | function createBaseCMsgGCCStrike15V2MatchmakingGC2ClientHello() {
method encode (line 12578) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 12638) | decode(input, length) {
method fromPartial (line 12710) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2AccountPrivacySettings (line 12763) | function createBaseCMsgGCCStrike15V2AccountPrivacySettings() {
method encode (line 12767) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 12773) | decode(input, length) {
method fromPartial (line 12790) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2AccountPrivacySettings_Setting (line 12798) | function createBaseCMsgGCCStrike15V2AccountPrivacySettings_Setting() {
method encode (line 12802) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 12811) | decode(input, length) {
method fromPartial (line 12831) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingGC2ClientAbandon (line 12839) | function createBaseCMsgGCCStrike15V2MatchmakingGC2ClientAbandon() {
method encode (line 12848) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 12863) | decode(input, length) {
method fromPartial (line 12890) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientGCRankUpdate (line 12903) | function createBaseCMsgGCCStrike15V2ClientGCRankUpdate() {
method encode (line 12907) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 12913) | decode(input, length) {
method fromPartial (line 12930) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchmakingOperator2GCBlogUpdate (line 12938) | function createBaseCMsgGCCStrike15V2MatchmakingOperator2GCBlogUpdate() {
method encode (line 12942) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 12948) | decode(input, length) {
method fromPartial (line 12965) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ServerNotificationForUserPenalty (line 12972) | function createBaseCMsgGCCStrike15V2ServerNotificationForUserPenalty() {
method encode (line 12976) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 12991) | decode(input, length) {
method fromPartial (line 13017) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientReportPlayer (line 13027) | function createBaseCMsgGCCStrike15V2ClientReportPlayer() {
method encode (line 13041) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 13071) | decode(input, length) {
method fromPartial (line 13112) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientCommendPlayer (line 13130) | function createBaseCMsgGCCStrike15V2ClientCommendPlayer() {
method encode (line 13139) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 13154) | decode(input, length) {
method fromPartial (line 13180) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientReportServer (line 13196) | function createBaseCMsgGCCStrike15V2ClientReportServer() {
method encode (line 13207) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 13228) | decode(input, length) {
method fromPartial (line 13260) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientReportResponse (line 13275) | function createBaseCMsgGCCStrike15V2ClientReportResponse() {
method encode (line 13286) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 13307) | decode(input, length) {
method fromPartial (line 13339) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientRequestWatchInfoFriends (line 13354) | function createBaseCMsgGCCStrike15V2ClientRequestWatchInfoFriends() {
method encode (line 13365) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 13388) | decode(input, length) {
method fromPartial (line 13428) | fromPartial(object) {
function createBaseWatchableMatchInfo (line 13447) | function createBaseWatchableMatchInfo() {
method encode (line 13465) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 13507) | decode(input, length) {
method fromPartial (line 13560) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientRequestJoinFriendData (line 13595) | function createBaseCMsgGCCStrike15V2ClientRequestJoinFriendData() {
method encode (line 13606) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 13627) | decode(input, length) {
method fromPartial (line 13659) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientRequestJoinServerData (line 13674) | function createBaseCMsgGCCStrike15V2ClientRequestJoinServerData() {
method encode (line 13686) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 13710) | decode(input, length) {
method fromPartial (line 13745) | fromPartial(object) {
function createBaseCMsgGCCstrike15V2ClientRequestNewMission (line 13764) | function createBaseCMsgGCCstrike15V2ClientRequestNewMission() {
method encode (line 13768) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 13777) | decode(input, length) {
method fromPartial (line 13797) | fromPartial(object) {
function createBaseCMsgGCCstrike15V2ClientRedeemMissionReward (line 13805) | function createBaseCMsgGCCstrike15V2ClientRedeemMissionReward() {
method encode (line 13809) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 13824) | decode(input, length) {
method fromPartial (line 13850) | fromPartial(object) {
function createBaseCMsgGCCstrike15V2GC2ServerNotifyXPRewarded (line 13860) | function createBaseCMsgGCCstrike15V2GC2ServerNotifyXPRewarded() {
method encode (line 13871) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 13892) | decode(input, length) {
method fromPartial (line 13924) | fromPartial(object) {
function createBaseCMsgGCCStrike15ClientDeepStats (line 13937) | function createBaseCMsgGCCStrike15ClientDeepStats() {
method encode (line 13941) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 13953) | decode(input, length) {
method fromPartial (line 13976) | fromPartial(object) {
function createBaseCMsgGCCStrike15ClientDeepStats_DeepStatsRange (line 13989) | function createBaseCMsgGCCStrike15ClientDeepStats_DeepStatsRange() {
method encode (line 13993) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14005) | decode(input, length) {
method fromPartial (line 14028) | fromPartial(object) {
function createBaseCMsgGCCStrike15ClientDeepStats_DeepStatsMatch (line 14037) | function createBaseCMsgGCCStrike15ClientDeepStats_DeepStatsMatch() {
method encode (line 14041) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14050) | decode(input, length) {
method fromPartial (line 14070) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2WatchInfoUsers (line 14082) | function createBaseCMsgGCCStrike15V2WatchInfoUsers() {
method encode (line 14091) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14108) | decode(input, length) {
method fromPartial (line 14142) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientRequestPlayersProfile (line 14154) | function createBaseCMsgGCCStrike15V2ClientRequestPlayersProfile() {
method encode (line 14163) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14180) | decode(input, length) {
method fromPartial (line 14214) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2PlayersProfile (line 14225) | function createBaseCMsgGCCStrike15V2PlayersProfile() {
method encode (line 14229) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14238) | decode(input, length) {
method fromPartial (line 14258) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2PlayerOverwatchCaseUpdate (line 14267) | function createBaseCMsgGCCStrike15V2PlayerOverwatchCaseUpdate() {
method encode (line 14280) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14307) | decode(input, length) {
method fromPartial (line 14345) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2PlayerOverwatchCaseAssignment (line 14362) | function createBaseCMsgGCCStrike15V2PlayerOverwatchCaseAssignment() {
method encode (line 14378) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14414) | decode(input, length) {
method fromPartial (line 14461) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2PlayerOverwatchCaseStatus (line 14481) | function createBaseCMsgGCCStrike15V2PlayerOverwatchCaseStatus() {
method encode (line 14485) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14494) | decode(input, length) {
method fromPartial (line 14514) | fromPartial(object) {
function createBaseCClientHeaderOverwatchEvidence (line 14525) | function createBaseCClientHeaderOverwatchEvidence() {
method encode (line 14529) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14538) | decode(input, length) {
method fromPartial (line 14558) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2GC2ClientTextMsg (line 14569) | function createBaseCMsgGCCStrike15V2GC2ClientTextMsg() {
method encode (line 14573) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14585) | decode(input, length) {
method fromPartial (line 14608) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2Client2GCTextMsg (line 14617) | function createBaseCMsgGCCStrike15V2Client2GCTextMsg() {
method encode (line 14621) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14630) | decode(input, length) {
method fromPartial (line 14650) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchEndRunRewardDrops (line 14658) | function createBaseCMsgGCCStrike15V2MatchEndRunRewardDrops() {
method encode (line 14662) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14671) | decode(input, length) {
method fromPartial (line 14692) | fromPartial(object) {
function createBaseCEconItemPreviewDataBlock (line 14706) | function createBaseCEconItemPreviewDataBlock() {
method encode (line 14729) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14786) | decode(input, length) {
method fromPartial (line 14854) | fromPartial(object) {
function createBaseCEconItemPreviewDataBlock_Sticker (line 14882) | function createBaseCEconItemPreviewDataBlock_Sticker() {
method encode (line 14886) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14907) | decode(input, length) {
method fromPartial (line 14939) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchEndRewardDropsNotification (line 14951) | function createBaseCMsgGCCStrike15V2MatchEndRewardDropsNotification() {
method encode (line 14955) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14961) | decode(input, length) {
method fromPartial (line 14978) | fromPartial(object) {
function createBaseCMsgItemAcknowledged (line 14987) | function createBaseCMsgItemAcknowledged() {
method encode (line 14991) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 14997) | decode(input, length) {
method fromPartial (line 15014) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2Client2GCEconPreviewDataBlockRequest (line 15023) | function createBaseCMsgGCCStrike15V2Client2GCEconPreviewDataBlockRequest...
method encode (line 15032) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15047) | decode(input, length) {
method fromPartial (line 15073) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2Client2GCEconPreviewDataBlockResponse (line 15094) | function createBaseCMsgGCCStrike15V2Client2GCEconPreviewDataBlockRespons...
method encode (line 15098) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15104) | decode(input, length) {
method fromPartial (line 15121) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchListRequestCurrentLiveGames (line 15130) | function createBaseCMsgGCCStrike15V2MatchListRequestCurrentLiveGames() {
method encode (line 15134) | encode(_, writer = minimal_1.Writer.create()) {
method decode (line 15137) | decode(input, length) {
method fromPartial (line 15151) | fromPartial(_) {
function createBaseCMsgGCCStrike15V2MatchListRequestLiveGameForUser (line 15156) | function createBaseCMsgGCCStrike15V2MatchListRequestLiveGameForUser() {
method encode (line 15160) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15166) | decode(input, length) {
method fromPartial (line 15183) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchListRequestRecentUserGames (line 15190) | function createBaseCMsgGCCStrike15V2MatchListRequestRecentUserGames() {
method encode (line 15194) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15200) | decode(input, length) {
method fromPartial (line 15217) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchListRequestTournamentGames (line 15224) | function createBaseCMsgGCCStrike15V2MatchListRequestTournamentGames() {
method encode (line 15228) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15234) | decode(input, length) {
method fromPartial (line 15251) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchListRequestFullGameInfo (line 15258) | function createBaseCMsgGCCStrike15V2MatchListRequestFullGameInfo() {
method encode (line 15262) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15274) | decode(input, length) {
method fromPartial (line 15297) | fromPartial(object) {
function createBaseCDataGCCStrike15V2MatchInfo (line 15312) | function createBaseCDataGCCStrike15V2MatchInfo() {
method encode (line 15322) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15340) | decode(input, length) {
method fromPartial (line 15370) | fromPartial(object) {
function createBaseCDataGCCStrike15V2TournamentGroupTeam (line 15392) | function createBaseCDataGCCStrike15V2TournamentGroupTeam() {
method encode (line 15396) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15408) | decode(input, length) {
method fromPartial (line 15431) | fromPartial(object) {
function createBaseCDataGCCStrike15V2TournamentGroup (line 15440) | function createBaseCDataGCCStrike15V2TournamentGroup() {
method encode (line 15455) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15490) | decode(input, length) {
method fromPartial (line 15542) | fromPartial(object) {
function createBaseCDataGCCStrike15V2TournamentGroup_Picks (line 15560) | function createBaseCDataGCCStrike15V2TournamentGroup_Picks() {
method encode (line 15564) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15572) | decode(input, length) {
method fromPartial (line 15597) | fromPartial(object) {
function createBaseCDataGCCStrike15V2TournamentSection (line 15604) | function createBaseCDataGCCStrike15V2TournamentSection() {
method encode (line 15608) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15623) | decode(input, length) {
method fromPartial (line 15649) | fromPartial(object) {
function createBaseCDataGCCStrike15V2TournamentInfo (line 15660) | function createBaseCDataGCCStrike15V2TournamentInfo() {
method encode (line 15664) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15676) | decode(input, length) {
method fromPartial (line 15699) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchList (line 15713) | function createBaseCMsgGCCStrike15V2MatchList() {
method encode (line 15724) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15745) | decode(input, length) {
method fromPartial (line 15777) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2MatchListTournamentOperatorMgmt (line 15795) | function createBaseCMsgGCCStrike15V2MatchListTournamentOperatorMgmt() {
method encode (line 15799) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15808) | decode(input, length) {
method fromPartial (line 15828) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2Predictions (line 15838) | function createBaseCMsgGCCStrike15V2Predictions() {
method encode (line 15842) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15851) | decode(input, length) {
method fromPartial (line 15871) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2Predictions_GroupMatchTeamPick (line 15880) | function createBaseCMsgGCCStrike15V2Predictions_GroupMatchTeamPick() {
method encode (line 15884) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15902) | decode(input, length) {
method fromPartial (line 15931) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2Fantasy (line 15945) | function createBaseCMsgGCCStrike15V2Fantasy() {
method encode (line 15949) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 15958) | decode(input, length) {
method fromPartial (line 15978) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2Fantasy_FantasySlot (line 15987) | function createBaseCMsgGCCStrike15V2Fantasy_FantasySlot() {
method encode (line 15991) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16003) | decode(input, length) {
method fromPartial (line 16026) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2Fantasy_FantasyTeam (line 16038) | function createBaseCMsgGCCStrike15V2Fantasy_FantasyTeam() {
method encode (line 16042) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16051) | decode(input, length) {
method fromPartial (line 16071) | fromPartial(object) {
function createBaseCAttributeString (line 16080) | function createBaseCAttributeString() {
method encode (line 16084) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16090) | decode(input, length) {
method fromPartial (line 16107) | fromPartial(object) {
function createBaseCMsgCStrike15Welcome (line 16114) | function createBaseCMsgCStrike15Welcome() {
method encode (line 16126) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16150) | decode(input, length) {
method fromPartial (line 16185) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientVarValueNotificationInfo (line 16204) | function createBaseCMsgGCCStrike15V2ClientVarValueNotificationInfo() {
method encode (line 16214) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16232) | decode(input, length) {
method fromPartial (line 16261) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ServerVarValueNotificationInfo (line 16272) | function createBaseCMsgGCCStrike15V2ServerVarValueNotificationInfo() {
method encode (line 16276) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16295) | decode(input, length) {
method fromPartial (line 16337) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2GiftsLeaderboardRequest (line 16347) | function createBaseCMsgGCCStrike15V2GiftsLeaderboardRequest() {
method encode (line 16351) | encode(_, writer = minimal_1.Writer.create()) {
method decode (line 16354) | decode(input, length) {
method fromPartial (line 16368) | fromPartial(_) {
function createBaseCMsgGCCStrike15V2GiftsLeaderboardResponse (line 16373) | function createBaseCMsgGCCStrike15V2GiftsLeaderboardResponse() {
method encode (line 16383) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16401) | decode(input, length) {
method fromPartial (line 16430) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2GiftsLeaderboardResponse_GiftLeaderboardEntry (line 16442) | function createBaseCMsgGCCStrike15V2GiftsLeaderboardResponse_GiftLeaderb...
method encode (line 16446) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16455) | decode(input, length) {
method fromPartial (line 16475) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientSubmitSurveyVote (line 16483) | function createBaseCMsgGCCStrike15V2ClientSubmitSurveyVote() {
method encode (line 16487) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16496) | decode(input, length) {
method fromPartial (line 16516) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2Server2GCClientValidate (line 16524) | function createBaseCMsgGCCStrike15V2Server2GCClientValidate() {
method encode (line 16528) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16534) | decode(input, length) {
method fromPartial (line 16551) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2GC2ClientTournamentInfo (line 16558) | function createBaseCMsgGCCStrike15V2GC2ClientTournamentInfo() {
method encode (line 16562) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16579) | decode(input, length) {
method fromPartial (line 16613) | fromPartial(object) {
function createBaseCSOEconCoupon (line 16623) | function createBaseCSOEconCoupon() {
method encode (line 16627) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16639) | decode(input, length) {
method fromPartial (line 16662) | fromPartial(object) {
function createBaseCSOQuestProgress (line 16671) | function createBaseCSOQuestProgress() {
method encode (line 16675) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16687) | decode(input, length) {
method fromPartial (line 16710) | fromPartial(object) {
function createBaseCSOAccountSeasonalOperation (line 16719) | function createBaseCSOAccountSeasonalOperation() {
method encode (line 16731) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16755) | decode(input, length) {
method fromPartial (line 16790) | fromPartial(object) {
function createBaseCSOAccountRecurringSubscription (line 16803) | function createBaseCSOAccountRecurringSubscription() {
method encode (line 16807) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16816) | decode(input, length) {
method fromPartial (line 16836) | fromPartial(object) {
function createBaseCSOPersonaDataPublic (line 16844) | function createBaseCSOPersonaDataPublic() {
method encode (line 16848) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16860) | decode(input, length) {
method fromPartial (line 16883) | fromPartial(object) {
function createBaseCMsgGCGlobalGameSubscribe (line 16895) | function createBaseCMsgGCGlobalGameSubscribe() {
method encode (line 16899) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16905) | decode(input, length) {
method fromPartial (line 16922) | fromPartial(object) {
function createBaseCMsgGCGlobalGameUnsubscribe (line 16931) | function createBaseCMsgGCGlobalGameUnsubscribe() {
method encode (line 16935) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16941) | decode(input, length) {
method fromPartial (line 16958) | fromPartial(object) {
function createBaseCMsgGCGlobalGamePlay (line 16965) | function createBaseCMsgGCGlobalGamePlay() {
method encode (line 16969) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 16981) | decode(input, length) {
method fromPartial (line 17004) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2AcknowledgePenalty (line 17016) | function createBaseCMsgGCCStrike15V2AcknowledgePenalty() {
method encode (line 17020) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17026) | decode(input, length) {
method fromPartial (line 17043) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2Client2GCRequestPrestigeCoin (line 17050) | function createBaseCMsgGCCStrike15V2Client2GCRequestPrestigeCoin() {
method encode (line 17054) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17069) | decode(input, length) {
method fromPartial (line 17095) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2Client2GCStreamUnlock (line 17108) | function createBaseCMsgGCCStrike15V2Client2GCStreamUnlock() {
method encode (line 17112) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17121) | decode(input, length) {
method fromPartial (line 17141) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientToGCRequestElevate (line 17152) | function createBaseCMsgGCCStrike15V2ClientToGCRequestElevate() {
method encode (line 17156) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17162) | decode(input, length) {
method fromPartial (line 17179) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientToGCChat (line 17186) | function createBaseCMsgGCCStrike15V2ClientToGCChat() {
method encode (line 17190) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17199) | decode(input, length) {
method fromPartial (line 17219) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2GCToClientChat (line 17230) | function createBaseCMsgGCCStrike15V2GCToClientChat() {
method encode (line 17234) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17243) | decode(input, length) {
method fromPartial (line 17263) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientAuthKeyCode (line 17271) | function createBaseCMsgGCCStrike15V2ClientAuthKeyCode() {
method encode (line 17275) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17284) | decode(input, length) {
method fromPartial (line 17304) | fromPartial(object) {
function createBaseCMsgGCCStrike15GotvSyncPacket (line 17312) | function createBaseCMsgGCCStrike15GotvSyncPacket() {
method encode (line 17316) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17322) | decode(input, length) {
method fromPartial (line 17339) | fromPartial(object) {
function createBasePlayerDecalDigitalSignature (line 17348) | function createBasePlayerDecalDigitalSignature() {
method encode (line 17367) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17420) | decode(input, length) {
method fromPartial (line 17508) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientPlayerDecalSign (line 17528) | function createBaseCMsgGCCStrike15V2ClientPlayerDecalSign() {
method encode (line 17532) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17541) | decode(input, length) {
method fromPartial (line 17561) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientLogonFatalError (line 17574) | function createBaseCMsgGCCStrike15V2ClientLogonFatalError() {
method encode (line 17578) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17590) | decode(input, length) {
method fromPartial (line 17613) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientPollState (line 17622) | function createBaseCMsgGCCStrike15V2ClientPollState() {
method encode (line 17626) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17640) | decode(input, length) {
method fromPartial (line 17671) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2PartyRegister (line 17680) | function createBaseCMsgGCCStrike15V2PartyRegister() {
method encode (line 17694) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17724) | decode(input, length) {
method fromPartial (line 17765) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2PartySearch (line 17780) | function createBaseCMsgGCCStrike15V2PartySearch() {
method encode (line 17784) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17807) | decode(input, length) {
method fromPartial (line 17847) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2PartySearchResults (line 17859) | function createBaseCMsgGCCStrike15V2PartySearchResults() {
method encode (line 17863) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17869) | decode(input, length) {
method fromPartial (line 17886) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2PartySearchResults_Entry (line 17894) | function createBaseCMsgGCCStrike15V2PartySearchResults_Entry() {
method encode (line 17898) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17922) | decode(input, length) {
method fromPartial (line 17957) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2PartyInvite (line 17970) | function createBaseCMsgGCCStrike15V2PartyInvite() {
method encode (line 17974) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 17983) | decode(input, length) {
method fromPartial (line 18003) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2AccountRequestCoPlays (line 18011) | function createBaseCMsgGCCStrike15V2AccountRequestCoPlays() {
method encode (line 18015) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18024) | decode(input, length) {
method fromPartial (line 18044) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2AccountRequestCoPlays_Player (line 18053) | function createBaseCMsgGCCStrike15V2AccountRequestCoPlays_Player() {
method encode (line 18057) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18069) | decode(input, length) {
method fromPartial (line 18092) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientToGCRequestTicket (line 18101) | function createBaseCMsgGCCStrike15V2ClientToGCRequestTicket() {
method encode (line 18110) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18125) | decode(input, length) {
method fromPartial (line 18151) | fromPartial(object) {
function createBaseCMsgGCToClientSteamDatagramTicket (line 18169) | function createBaseCMsgGCToClientSteamDatagramTicket() {
method encode (line 18173) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18179) | decode(input, length) {
method fromPartial (line 18196) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientRequestOffers (line 18203) | function createBaseCMsgGCCStrike15V2ClientRequestOffers() {
method encode (line 18207) | encode(_, writer = minimal_1.Writer.create()) {
method decode (line 18210) | decode(input, length) {
method fromPartial (line 18224) | fromPartial(_) {
function createBaseCMsgGCCStrike15V2ClientRequestSouvenir (line 18229) | function createBaseCMsgGCCStrike15V2ClientRequestSouvenir() {
method encode (line 18233) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18245) | decode(input, length) {
method fromPartial (line 18268) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientAccountBalance (line 18283) | function createBaseCMsgGCCStrike15V2ClientAccountBalance() {
method encode (line 18287) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18296) | decode(input, length) {
method fromPartial (line 18316) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientPartyJoinRelay (line 18327) | function createBaseCMsgGCCStrike15V2ClientPartyJoinRelay() {
method encode (line 18331) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18340) | decode(input, length) {
method fromPartial (line 18360) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientPartyWarning (line 18371) | function createBaseCMsgGCCStrike15V2ClientPartyWarning() {
method encode (line 18375) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18381) | decode(input, length) {
method fromPartial (line 18398) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientPartyWarning_Entry (line 18406) | function createBaseCMsgGCCStrike15V2ClientPartyWarning_Entry() {
method encode (line 18410) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18419) | decode(input, length) {
method fromPartial (line 18439) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2SetEventFavorite (line 18447) | function createBaseCMsgGCCStrike15V2SetEventFavorite() {
method encode (line 18451) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18460) | decode(input, length) {
method fromPartial (line 18480) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2GetEventFavoritesRequest (line 18491) | function createBaseCMsgGCCStrike15V2GetEventFavoritesRequest() {
method encode (line 18495) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18501) | decode(input, length) {
method fromPartial (line 18518) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2GetEventFavoritesResponse (line 18525) | function createBaseCMsgGCCStrike15V2GetEventFavoritesResponse() {
method encode (line 18529) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18541) | decode(input, length) {
method fromPartial (line 18564) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientPerfReport (line 18573) | function createBaseCMsgGCCStrike15V2ClientPerfReport() {
method encode (line 18577) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18583) | decode(input, length) {
method fromPartial (line 18600) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientPerfReport_Entry (line 18608) | function createBaseCMsgGCCStrike15V2ClientPerfReport_Entry() {
method encode (line 18619) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18640) | decode(input, length) {
method fromPartial (line 18672) | fromPartial(object) {
function createBaseCVDiagnostic (line 18684) | function createBaseCVDiagnostic() {
method encode (line 18688) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18703) | decode(input, length) {
method fromPartial (line 18729) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2ClientReportValidation (line 18742) | function createBaseCMsgGCCStrike15V2ClientReportValidation() {
method encode (line 18767) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18830) | decode(input, length) {
method fromPartial (line 18904) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2GC2ClientRefuseSecureMode (line 18946) | function createBaseCMsgGCCStrike15V2GC2ClientRefuseSecureMode() {
method encode (line 18960) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 18990) | decode(input, length) {
method fromPartial (line 19031) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2GC2ClientRequestValidation (line 19046) | function createBaseCMsgGCCStrike15V2GC2ClientRequestValidation() {
method encode (line 19050) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19059) | decode(input, length) {
method fromPartial (line 19079) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2GC2ClientInitSystem (line 19087) | function createBaseCMsgGCCStrike15V2GC2ClientInitSystem() {
method encode (line 19101) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19131) | decode(input, length) {
method fromPartial (line 19172) | fromPartial(object) {
function createBaseCMsgGCCStrike15V2GC2ClientInitSystemResponse (line 19187) | function createBaseCMsgGCCStrike15V2GC2ClientInitSystemResponse() {
method encode (line 19202) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19235) | decode(input, length) {
method fromPartial (line 19279) | fromPartial(object) {
function createBaseCCSUsrMsgVGUIMenu (line 19399) | function createBaseCCSUsrMsgVGUIMenu() {
method encode (line 19403) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19415) | decode(input, length) {
method fromPartial (line 19438) | fromPartial(object) {
function createBaseCCSUsrMsgVGUIMenu_Subkey (line 19448) | function createBaseCCSUsrMsgVGUIMenu_Subkey() {
method encode (line 19452) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19461) | decode(input, length) {
method fromPartial (line 19481) | fromPartial(object) {
function createBaseCCSUsrMsgGeiger (line 19489) | function createBaseCCSUsrMsgGeiger() {
method encode (line 19493) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19499) | decode(input, length) {
method fromPartial (line 19516) | fromPartial(object) {
function createBaseCCSUsrMsgTrain (line 19523) | function createBaseCCSUsrMsgTrain() {
method encode (line 19527) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19533) | decode(input, length) {
method fromPartial (line 19550) | fromPartial(object) {
function createBaseCCSUsrMsgHudText (line 19557) | function createBaseCCSUsrMsgHudText() {
method encode (line 19561) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19567) | decode(input, length) {
method fromPartial (line 19584) | fromPartial(object) {
function createBaseCCSUsrMsgSayText (line 19591) | function createBaseCCSUsrMsgSayText() {
method encode (line 19595) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19610) | decode(input, length) {
method fromPartial (line 19636) | fromPartial(object) {
function createBaseCCSUsrMsgSayText2 (line 19646) | function createBaseCCSUsrMsgSayText2() {
method encode (line 19656) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19674) | decode(input, length) {
method fromPartial (line 19703) | fromPartial(object) {
function createBaseCCSUsrMsgTextMsg (line 19714) | function createBaseCCSUsrMsgTextMsg() {
method encode (line 19718) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19727) | decode(input, length) {
method fromPartial (line 19747) | fromPartial(object) {
function createBaseCCSUsrMsgHudMsg (line 19755) | function createBaseCCSUsrMsgHudMsg() {
method encode (line 19770) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19803) | decode(input, length) {
method fromPartial (line 19847) | fromPartial(object) {
function createBaseCCSUsrMsgShake (line 19872) | function createBaseCCSUsrMsgShake() {
method encode (line 19876) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19891) | decode(input, length) {
method fromPartial (line 19917) | fromPartial(object) {
function createBaseCCSUsrMsgFade (line 19927) | function createBaseCCSUsrMsgFade() {
method encode (line 19931) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 19946) | decode(input, length) {
method fromPartial (line 19972) | fromPartial(object) {
function createBaseCCSUsrMsgRumble (line 19985) | function createBaseCCSUsrMsgRumble() {
method encode (line 19989) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20001) | decode(input, length) {
method fromPartial (line 20024) | fromPartial(object) {
function createBaseCCSUsrMsgCloseCaption (line 20033) | function createBaseCCSUsrMsgCloseCaption() {
method encode (line 20037) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20052) | decode(input, length) {
method fromPartial (line 20078) | fromPartial(object) {
function createBaseCCSUsrMsgCloseCaptionDirect (line 20088) | function createBaseCCSUsrMsgCloseCaptionDirect() {
method encode (line 20092) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20104) | decode(input, length) {
method fromPartial (line 20127) | fromPartial(object) {
function createBaseCCSUsrMsgSendAudio (line 20136) | function createBaseCCSUsrMsgSendAudio() {
method encode (line 20140) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20146) | decode(input, length) {
method fromPartial (line 20163) | fromPartial(object) {
function createBaseCCSUsrMsgRawAudio (line 20170) | function createBaseCCSUsrMsgRawAudio() {
method encode (line 20174) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20189) | decode(input, length) {
method fromPartial (line 20215) | fromPartial(object) {
function createBaseCCSUsrMsgVoiceMask (line 20225) | function createBaseCCSUsrMsgVoiceMask() {
method encode (line 20229) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20238) | decode(input, length) {
method fromPartial (line 20258) | fromPartial(object) {
function createBaseCCSUsrMsgVoiceMask_PlayerMask (line 20267) | function createBaseCCSUsrMsgVoiceMask_PlayerMask() {
method encode (line 20271) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20280) | decode(input, length) {
method fromPartial (line 20300) | fromPartial(object) {
function createBaseCCSUsrMsgDamage (line 20308) | function createBaseCCSUsrMsgDamage() {
method encode (line 20312) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20324) | decode(input, length) {
method fromPartial (line 20347) | fromPartial(object) {
function createBaseCCSUsrMsgRadioText (line 20360) | function createBaseCCSUsrMsgRadioText() {
method encode (line 20364) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20379) | decode(input, length) {
method fromPartial (line 20405) | fromPartial(object) {
function createBaseCCSUsrMsgHintText (line 20415) | function createBaseCCSUsrMsgHintText() {
method encode (line 20419) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20425) | decode(input, length) {
method fromPartial (line 20442) | fromPartial(object) {
function createBaseCCSUsrMsgKeyHintText (line 20449) | function createBaseCCSUsrMsgKeyHintText() {
method encode (line 20453) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20459) | decode(input, length) {
method fromPartial (line 20476) | fromPartial(object) {
function createBaseCCSUsrMsgProcessSpottedEntityUpdate (line 20483) | function createBaseCCSUsrMsgProcessSpottedEntityUpdate() {
method encode (line 20487) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20496) | decode(input, length) {
method fromPartial (line 20516) | fromPartial(object) {
function createBaseCCSUsrMsgProcessSpottedEntityUpdate_SpottedEntityUpdate (line 20525) | function createBaseCCSUsrMsgProcessSpottedEntityUpdate_SpottedEntityUpda...
method encode (line 20539) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20569) | decode(input, length) {
method fromPartial (line 20610) | fromPartial(object) {
function createBaseCCSUsrMsgSendPlayerItemDrops (line 20625) | function createBaseCCSUsrMsgSendPlayerItemDrops() {
method encode (line 20629) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20635) | decode(input, length) {
method fromPartial (line 20652) | fromPartial(object) {
function createBaseCCSUsrMsgSendPlayerItemFound (line 20660) | function createBaseCCSUsrMsgSendPlayerItemFound() {
method encode (line 20664) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20673) | decode(input, length) {
method fromPartial (line 20693) | fromPartial(object) {
function createBaseCCSUsrMsgReloadEffect (line 20704) | function createBaseCCSUsrMsgReloadEffect() {
method encode (line 20708) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20726) | decode(input, length) {
method fromPartial (line 20755) | fromPartial(object) {
function createBaseCCSUsrMsgWeaponSound (line 20766) | function createBaseCCSUsrMsgWeaponSound() {
method encode (line 20777) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20798) | decode(input, length) {
method fromPartial (line 20830) | fromPartial(object) {
function createBaseCCSUsrMsgUpdateScreenHealthBar (line 20842) | function createBaseCCSUsrMsgUpdateScreenHealthBar() {
method encode (line 20846) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20861) | decode(input, length) {
method fromPartial (line 20887) | fromPartial(object) {
function createBaseCCSUsrMsgEntityOutlineHighlight (line 20897) | function createBaseCCSUsrMsgEntityOutlineHighlight() {
method encode (line 20901) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20910) | decode(input, length) {
method fromPartial (line 20930) | fromPartial(object) {
function createBaseCCSUsrMsgAdjustMoney (line 20938) | function createBaseCCSUsrMsgAdjustMoney() {
method encode (line 20942) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20948) | decode(input, length) {
method fromPartial (line 20965) | fromPartial(object) {
function createBaseCCSUsrMsgReportHit (line 20972) | function createBaseCCSUsrMsgReportHit() {
method encode (line 20976) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 20991) | decode(input, length) {
method fromPartial (line 21017) | fromPartial(object) {
function createBaseCCSUsrMsgKillCam (line 21027) | function createBaseCCSUsrMsgKillCam() {
method encode (line 21031) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21043) | decode(input, length) {
method fromPartial (line 21066) | fromPartial(object) {
function createBaseCCSUsrMsgDesiredTimescale (line 21075) | function createBaseCCSUsrMsgDesiredTimescale() {
method encode (line 21084) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21099) | decode(input, length) {
method fromPartial (line 21125) | fromPartial(object) {
function createBaseCCSUsrMsgCurrentTimescale (line 21135) | function createBaseCCSUsrMsgCurrentTimescale() {
method encode (line 21139) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21145) | decode(input, length) {
method fromPartial (line 21162) | fromPartial(object) {
function createBaseCCSUsrMsgAchievementEvent (line 21169) | function createBaseCCSUsrMsgAchievementEvent() {
method encode (line 21173) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21185) | decode(input, length) {
method fromPartial (line 21208) | fromPartial(object) {
function createBaseCCSUsrMsgMatchEndConditions (line 21217) | function createBaseCCSUsrMsgMatchEndConditions() {
method encode (line 21221) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21236) | decode(input, length) {
method fromPartial (line 21262) | fromPartial(object) {
function createBaseCCSUsrMsgPlayerStatsUpdate (line 21272) | function createBaseCCSUsrMsgPlayerStatsUpdate() {
method encode (line 21276) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21291) | decode(input, length) {
method fromPartial (line 21317) | fromPartial(object) {
function createBaseCCSUsrMsgPlayerStatsUpdate_Stat (line 21329) | function createBaseCCSUsrMsgPlayerStatsUpdate_Stat() {
method encode (line 21333) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21342) | decode(input, length) {
method fromPartial (line 21362) | fromPartial(object) {
function createBaseCCSUsrMsgDisplayInventory (line 21370) | function createBaseCCSUsrMsgDisplayInventory() {
method encode (line 21374) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21383) | decode(input, length) {
method fromPartial (line 21403) | fromPartial(object) {
function createBaseCCSUsrMsgQuestProgress (line 21411) | function createBaseCCSUsrMsgQuestProgress() {
method encode (line 21415) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21430) | decode(input, length) {
method fromPartial (line 21456) | fromPartial(object) {
function createBaseCCSUsrMsgScoreLeaderboardData (line 21466) | function createBaseCCSUsrMsgScoreLeaderboardData() {
method encode (line 21470) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21476) | decode(input, length) {
method fromPartial (line 21493) | fromPartial(object) {
function createBaseCCSUsrMsgPlayerDecalDigitalSignature (line 21502) | function createBaseCCSUsrMsgPlayerDecalDigitalSignature() {
method encode (line 21506) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21512) | decode(input, length) {
method fromPartial (line 21529) | fromPartial(object) {
function createBaseCCSUsrMsgXRankGet (line 21538) | function createBaseCCSUsrMsgXRankGet() {
method encode (line 21542) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21551) | decode(input, length) {
method fromPartial (line 21571) | fromPartial(object) {
function createBaseCCSUsrMsgXRankUpd (line 21579) | function createBaseCCSUsrMsgXRankUpd() {
method encode (line 21583) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21595) | decode(input, length) {
method fromPartial (line 21618) | fromPartial(object) {
function createBaseCCSUsrMsgCallVoteFailed (line 21627) | function createBaseCCSUsrMsgCallVoteFailed() {
method encode (line 21631) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21640) | decode(input, length) {
method fromPartial (line 21660) | fromPartial(object) {
function createBaseCCSUsrMsgVoteStart (line 21668) | function createBaseCCSUsrMsgVoteStart() {
method encode (line 21681) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21708) | decode(input, length) {
method fromPartial (line 21746) | fromPartial(object) {
function createBaseCCSUsrMsgVotePass (line 21760) | function createBaseCCSUsrMsgVotePass() {
method encode (line 21764) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21779) | decode(input, length) {
method fromPartial (line 21805) | fromPartial(object) {
function createBaseCCSUsrMsgVoteFailed (line 21815) | function createBaseCCSUsrMsgVoteFailed() {
method encode (line 21819) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21828) | decode(input, length) {
method fromPartial (line 21848) | fromPartial(object) {
function createBaseCCSUsrMsgVoteSetup (line 21856) | function createBaseCCSUsrMsgVoteSetup() {
method encode (line 21860) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21866) | decode(input, length) {
method fromPartial (line 21883) | fromPartial(object) {
function createBaseCCSUsrMsgSendLastKillerDamageToClient (line 21890) | function createBaseCCSUsrMsgSendLastKillerDamageToClient() {
method encode (line 21894) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21909) | decode(input, length) {
method fromPartial (line 21935) | fromPartial(object) {
function createBaseCCSUsrMsgServerRankUpdate (line 21945) | function createBaseCCSUsrMsgServerRankUpdate() {
method encode (line 21949) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 21955) | decode(input, length) {
method fromPartial (line 21972) | fromPartial(object) {
function createBaseCCSUsrMsgServerRankUpdate_RankUpdate (line 21980) | function createBaseCCSUsrMsgServerRankUpdate_RankUpdate() {
method encode (line 21991) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22012) | decode(input, length) {
method fromPartial (line 22044) | fromPartial(object) {
function createBaseCCSUsrMsgXpUpdate (line 22056) | function createBaseCCSUsrMsgXpUpdate() {
method encode (line 22060) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22066) | decode(input, length) {
method fromPartial (line 22083) | fromPartial(object) {
function createBaseCCSUsrMsgItemPickup (line 22092) | function createBaseCCSUsrMsgItemPickup() {
method encode (line 22096) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22102) | decode(input, length) {
method fromPartial (line 22119) | fromPartial(object) {
function createBaseCCSUsrMsgShowMenu (line 22126) | function createBaseCCSUsrMsgShowMenu() {
method encode (line 22130) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22142) | decode(input, length) {
method fromPartial (line 22165) | fromPartial(object) {
function createBaseCCSUsrMsgBarTime (line 22174) | function createBaseCCSUsrMsgBarTime() {
method encode (line 22178) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22184) | decode(input, length) {
method fromPartial (line 22201) | fromPartial(object) {
function createBaseCCSUsrMsgAmmoDenied (line 22208) | function createBaseCCSUsrMsgAmmoDenied() {
method encode (line 22212) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22218) | decode(input, length) {
method fromPartial (line 22235) | fromPartial(object) {
function createBaseCCSUsrMsgMarkAchievement (line 22242) | function createBaseCCSUsrMsgMarkAchievement() {
method encode (line 22246) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22252) | decode(input, length) {
method fromPartial (line 22269) | fromPartial(object) {
function createBaseCCSUsrMsgMatchStatsUpdate (line 22276) | function createBaseCCSUsrMsgMatchStatsUpdate() {
method encode (line 22280) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22286) | decode(input, length) {
method fromPartial (line 22303) | fromPartial(object) {
function createBaseCCSUsrMsgItemDrop (line 22310) | function createBaseCCSUsrMsgItemDrop() {
method encode (line 22314) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22323) | decode(input, length) {
method fromPartial (line 22343) | fromPartial(object) {
function createBaseCCSUsrMsgGlowPropTurnOff (line 22354) | function createBaseCCSUsrMsgGlowPropTurnOff() {
method encode (line 22358) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22364) | decode(input, length) {
method fromPartial (line 22381) | fromPartial(object) {
function createBaseCCSUsrMsgRoundBackupFilenames (line 22388) | function createBaseCCSUsrMsgRoundBackupFilenames() {
method encode (line 22392) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22407) | decode(input, length) {
method fromPartial (line 22433) | fromPartial(object) {
function createBaseCCSUsrMsgSSUI (line 22443) | function createBaseCCSUsrMsgSSUI() {
method encode (line 22447) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22459) | decode(input, length) {
method fromPartial (line 22482) | fromPartial(object) {
function createBaseCCSUsrMsgSurvivalStats (line 22491) | function createBaseCCSUsrMsgSurvivalStats() {
method encode (line 22495) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22513) | decode(input, length) {
method fromPartial (line 22542) | fromPartial(object) {
function createBaseCCSUsrMsgSurvivalStats_Fact (line 22561) | function createBaseCCSUsrMsgSurvivalStats_Fact() {
method encode (line 22565) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22580) | decode(input, length) {
method fromPartial (line 22606) | fromPartial(object) {
function createBaseCCSUsrMsgSurvivalStats_Placement (line 22616) | function createBaseCCSUsrMsgSurvivalStats_Placement() {
method encode (line 22620) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22632) | decode(input, length) {
method fromPartial (line 22655) | fromPartial(object) {
function createBaseCCSUsrMsgSurvivalStats_Damage (line 22667) | function createBaseCCSUsrMsgSurvivalStats_Damage() {
method encode (line 22671) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22689) | decode(input, length) {
method fromPartial (line 22718) | fromPartial(object) {
function createBaseCCSUsrMsgEndOfMatchAllPlayersData (line 22732) | function createBaseCCSUsrMsgEndOfMatchAllPlayersData() {
method encode (line 22736) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22745) | decode(input, length) {
method fromPartial (line 22765) | fromPartial(object) {
function createBaseCCSUsrMsgEndOfMatchAllPlayersData_Accolade (line 22774) | function createBaseCCSUsrMsgEndOfMatchAllPlayersData_Accolade() {
method encode (line 22778) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22790) | decode(input, length) {
method fromPartial (line 22813) | fromPartial(object) {
function createBaseCCSUsrMsgEndOfMatchAllPlayersData_PlayerData (line 22822) | function createBaseCCSUsrMsgEndOfMatchAllPlayersData_PlayerData() {
method encode (line 22835) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22862) | decode(input, length) {
method fromPartial (line 22901) | fromPartial(object) {
function createBaseCCSUsrMsgRoundImpactScoreData (line 22922) | function createBaseCCSUsrMsgRoundImpactScoreData() {
method encode (line 22926) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 22935) | decode(input, length) {
method fromPartial (line 22956) | fromPartial(object) {
function createBaseCCSUsrMsgRoundImpactScoreData_RisEvent (line 22968) | function createBaseCCSUsrMsgRoundImpactScoreData_RisEvent() {
method encode (line 22980) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23004) | decode(input, length) {
method fromPartial (line 23041) | fromPartial(object) {
function createBaseCCSUsrMsgRoundImpactScoreData_RisEvent_Victim (line 23061) | function createBaseCCSUsrMsgRoundImpactScoreData_RisEvent_Victim() {
method encode (line 23072) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23093) | decode(input, length) {
method fromPartial (line 23125) | fromPartial(object) {
function createBaseCCSUsrMsgRoundImpactScoreData_RisEvent_Objective (line 23140) | function createBaseCCSUsrMsgRoundImpactScoreData_RisEvent_Objective() {
method encode (line 23144) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23150) | decode(input, length) {
method fromPartial (line 23167) | fromPartial(object) {
function createBaseCCSUsrMsgRoundImpactScoreData_RisEvent_Damage (line 23174) | function createBaseCCSUsrMsgRoundImpactScoreData_RisEvent_Damage() {
method encode (line 23185) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23206) | decode(input, length) {
method fromPartial (line 23238) | fromPartial(object) {
function createBaseCCSUsrMsgRoundImpactScoreData_InitialConditions (line 23253) | function createBaseCCSUsrMsgRoundImpactScoreData_InitialConditions() {
method encode (line 23257) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23269) | decode(input, length) {
method fromPartial (line 23292) | fromPartial(object) {
function createBaseCCSUsrMsgCurrentRoundOdds (line 23301) | function createBaseCCSUsrMsgCurrentRoundOdds() {
method encode (line 23305) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23311) | decode(input, length) {
method fromPartial (line 23328) | fromPartial(object) {
function createBaseCCSUsrMsgDeepStats (line 23335) | function createBaseCCSUsrMsgDeepStats() {
method encode (line 23339) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23345) | decode(input, length) {
method fromPartial (line 23362) | fromPartial(object) {
function createBaseCCSUsrMsgResetHud (line 23371) | function createBaseCCSUsrMsgResetHud() {
method encode (line 23375) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23381) | decode(input, length) {
method fromPartial (line 23398) | fromPartial(object) {
function createBaseCCSUsrMsgGameTitle (line 23405) | function createBaseCCSUsrMsgGameTitle() {
method encode (line 23409) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23415) | decode(input, length) {
method fromPartial (line 23432) | fromPartial(object) {
function createBaseCCSUsrMsgRequestState (line 23439) | function createBaseCCSUsrMsgRequestState() {
method encode (line 23443) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23449) | decode(input, length) {
method fromPartial (line 23466) | fromPartial(object) {
function createBaseCCSUsrMsgStopSpectatorMode (line 23473) | function createBaseCCSUsrMsgStopSpectatorMode() {
method encode (line 23477) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23483) | decode(input, length) {
method fromPartial (line 23500) | fromPartial(object) {
function createBaseCCSUsrMsgDisconnectToLobby (line 23507) | function createBaseCCSUsrMsgDisconnectToLobby() {
method encode (line 23511) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23517) | decode(input, length) {
method fromPartial (line 23534) | fromPartial(object) {
function createBaseCCSUsrMsgWarmupHasEnded (line 23541) | function createBaseCCSUsrMsgWarmupHasEnded() {
method encode (line 23545) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23551) | decode(input, length) {
method fromPartial (line 23568) | fromPartial(object) {
function createBaseCCSUsrMsgClientInfo (line 23575) | function createBaseCCSUsrMsgClientInfo() {
method encode (line 23579) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23585) | decode(input, length) {
method fromPartial (line 23602) | fromPartial(object) {
function createBaseCCSUsrMsgServerRankRevealAll (line 23609) | function createBaseCCSUsrMsgServerRankRevealAll() {
method encode (line 23613) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23622) | decode(input, length) {
method fromPartial (line 23643) | fromPartial(object) {
function createBaseCCSUsrMsgUtilMsg (line 23654) | function createBaseCCSUsrMsgUtilMsg() {
method encode (line 23658) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23679) | decode(input, length) {
method fromPartial (line 23711) | fromPartial(object) {
function createBaseCEngineGotvSyncPacket (line 23738) | function createBaseCEngineGotvSyncPacket() {
method encode (line 23753) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23786) | decode(input, length) {
method fromPartial (line 23830) | fromPartial(object) {
function createBaseCMsgVector (line 23942) | function createBaseCMsgVector() {
method encode (line 23946) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 23958) | decode(input, length) {
method fromPartial (line 23981) | fromPartial(object) {
function createBaseCMsgVector2D (line 23990) | function createBaseCMsgVector2D() {
method encode (line 23994) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24003) | decode(input, length) {
method fromPartial (line 24023) | fromPartial(object) {
function createBaseCMsgQAngle (line 24031) | function createBaseCMsgQAngle() {
method encode (line 24035) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24047) | decode(input, length) {
method fromPartial (line 24070) | fromPartial(object) {
function createBaseCMsgRGBA (line 24079) | function createBaseCMsgRGBA() {
method encode (line 24083) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24098) | decode(input, length) {
method fromPartial (line 24124) | fromPartial(object) {
function createBaseCNETMsgTick (line 24134) | function createBaseCNETMsgTick() {
method encode (line 24144) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24162) | decode(input, length) {
method fromPartial (line 24191) | fromPartial(object) {
function createBaseCNETMsgStringCmd (line 24204) | function createBaseCNETMsgStringCmd() {
method encode (line 24208) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24214) | decode(input, length) {
method fromPartial (line 24231) | fromPartial(object) {
function createBaseCNETMsgSignonState (line 24238) | function createBaseCNETMsgSignonState() {
method encode (line 24248) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24266) | decode(input, length) {
method fromPartial (line 24295) | fromPartial(object) {
function createBaseCMsgCVars (line 24306) | function createBaseCMsgCVars() {
method encode (line 24310) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24316) | decode(input, length) {
method fromPartial (line 24333) | fromPartial(object) {
function createBaseCMsgCVars_CVar (line 24340) | function createBaseCMsgCVars_CVar() {
method encode (line 24344) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24356) | decode(input, length) {
method fromPartial (line 24379) | fromPartial(object) {
function createBaseCNETMsgSetConVar (line 24388) | function createBaseCNETMsgSetConVar() {
method encode (line 24392) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24398) | decode(input, length) {
method fromPartial (line 24415) | fromPartial(object) {
function createBaseCNETMsgNOP (line 24424) | function createBaseCNETMsgNOP() {
method encode (line 24428) | encode(_, writer = minimal_1.Writer.create()) {
method decode (line 24431) | decode(input, length) {
method fromPartial (line 24445) | fromPartial(_) {
function createBaseCNETMsgDisconnect (line 24450) | function createBaseCNETMsgDisconnect() {
method encode (line 24454) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24460) | decode(input, length) {
method fromPartial (line 24477) | fromPartial(object) {
function createBaseCNETMsgFile (line 24484) | function createBaseCNETMsgFile() {
method encode (line 24488) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24503) | decode(input, length) {
method fromPartial (line 24529) | fromPartial(object) {
function createBaseCNETMsgSplitScreenUser (line 24539) | function createBaseCNETMsgSplitScreenUser() {
method encode (line 24543) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24549) | decode(input, length) {
method fromPartial (line 24566) | fromPartial(object) {
function createBaseCNETMsgPlayerAvatarData (line 24573) | function createBaseCNETMsgPlayerAvatarData() {
method encode (line 24577) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24586) | decode(input, length) {
method fromPartial (line 24606) | fromPartial(object) {
function createBaseCCLCMsgClientInfo (line 24614) | function createBaseCCLCMsgClientInfo() {
method encode (line 24626) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24652) | decode(input, length) {
method fromPartial (line 24695) | fromPartial(object) {
function createBaseCCLCMsgMove (line 24708) | function createBaseCCLCMsgMove() {
method encode (line 24712) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24724) | decode(input, length) {
method fromPartial (line 24747) | fromPartial(object) {
function createBaseCCLCMsgVoiceData (line 24756) | function createBaseCCLCMsgVoiceData() {
method encode (line 24767) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24788) | decode(input, length) {
method fromPartial (line 24820) | fromPartial(object) {
function createBaseCCLCMsgBaselineAck (line 24835) | function createBaseCCLCMsgBaselineAck() {
method encode (line 24839) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24848) | decode(input, length) {
method fromPartial (line 24868) | fromPartial(object) {
function createBaseCCLCMsgListenEvents (line 24876) | function createBaseCCLCMsgListenEvents() {
method encode (line 24880) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24888) | decode(input, length) {
method fromPartial (line 24913) | fromPartial(object) {
function createBaseCCLCMsgRespondCvarValue (line 24920) | function createBaseCCLCMsgRespondCvarValue() {
method encode (line 24924) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 24939) | decode(input, length) {
method fromPartial (line 24965) | fromPartial(object) {
function createBaseCCLCMsgFileCRCCheck (line 24975) | function createBaseCCLCMsgFileCRCCheck() {
method encode (line 24991) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25027) | decode(input, length) {
method fromPartial (line 25074) | fromPartial(object) {
function createBaseCCLCMsgLoadingProgress (line 25091) | function createBaseCCLCMsgLoadingProgress() {
method encode (line 25095) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25101) | decode(input, length) {
method fromPartial (line 25118) | fromPartial(object) {
function createBaseCCLCMsgSplitPlayerConnect (line 25125) | function createBaseCCLCMsgSplitPlayerConnect() {
method encode (line 25129) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25135) | decode(input, length) {
method fromPartial (line 25152) | fromPartial(object) {
function createBaseCCLCMsgCmdKeyValues (line 25161) | function createBaseCCLCMsgCmdKeyValues() {
method encode (line 25165) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25171) | decode(input, length) {
method fromPartial (line 25188) | fromPartial(object) {
function createBaseCSVCMsgServerInfo (line 25195) | function createBaseCSVCMsgServerInfo() {
method encode (line 25222) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25291) | decode(input, length) {
method fromPartial (line 25371) | fromPartial(object) {
function createBaseCSVCMsgClassInfo (line 25403) | function createBaseCSVCMsgClassInfo() {
method encode (line 25407) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25416) | decode(input, length) {
method fromPartial (line 25436) | fromPartial(object) {
function createBaseCSVCMsgClassInfo_classT (line 25445) | function createBaseCSVCMsgClassInfo_classT() {
method encode (line 25449) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25461) | decode(input, length) {
method fromPartial (line 25484) | fromPartial(object) {
function createBaseCSVCMsgSendTable (line 25493) | function createBaseCSVCMsgSendTable() {
method encode (line 25497) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25512) | decode(input, length) {
method fromPartial (line 25538) | fromPartial(object) {
function createBaseCSVCMsgSendTable_sendpropT (line 25549) | function createBaseCSVCMsgSendTable_sendpropT() {
method encode (line 25563) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25593) | decode(input, length) {
method fromPartial (line 25634) | fromPartial(object) {
function createBaseCSVCMsgPrint (line 25649) | function createBaseCSVCMsgPrint() {
method encode (line 25653) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25659) | decode(input, length) {
method fromPartial (line 25676) | fromPartial(object) {
function createBaseCSVCMsgSetPause (line 25683) | function createBaseCSVCMsgSetPause() {
method encode (line 25687) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25693) | decode(input, length) {
method fromPartial (line 25710) | fromPartial(object) {
function createBaseCSVCMsgSetView (line 25717) | function createBaseCSVCMsgSetView() {
method encode (line 25721) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25727) | decode(input, length) {
method fromPartial (line 25744) | fromPartial(object) {
function createBaseCSVCMsgCreateStringTable (line 25751) | function createBaseCSVCMsgCreateStringTable() {
method encode (line 25764) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25791) | decode(input, length) {
method fromPartial (line 25829) | fromPartial(object) {
function createBaseCSVCMsgUpdateStringTable (line 25843) | function createBaseCSVCMsgUpdateStringTable() {
method encode (line 25847) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25859) | decode(input, length) {
method fromPartial (line 25882) | fromPartial(object) {
function createBaseCSVCMsgVoiceInit (line 25891) | function createBaseCSVCMsgVoiceInit() {
method encode (line 25895) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25907) | decode(input, length) {
method fromPartial (line 25930) | fromPartial(object) {
function createBaseCSVCMsgVoiceData (line 25939) | function createBaseCSVCMsgVoiceData() {
method encode (line 25954) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 25987) | decode(input, length) {
method fromPartial (line 26031) | fromPartial(object) {
function createBaseCSVCMsgFixAngle (line 26050) | function createBaseCSVCMsgFixAngle() {
method encode (line 26054) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26063) | decode(input, length) {
method fromPartial (line 26083) | fromPartial(object) {
function createBaseCSVCMsgCrosshairAngle (line 26094) | function createBaseCSVCMsgCrosshairAngle() {
method encode (line 26098) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26104) | decode(input, length) {
method fromPartial (line 26121) | fromPartial(object) {
function createBaseCSVCMsgPrefetch (line 26130) | function createBaseCSVCMsgPrefetch() {
method encode (line 26134) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26140) | decode(input, length) {
method fromPartial (line 26157) | fromPartial(object) {
function createBaseCSVCMsgBSPDecal (line 26164) | function createBaseCSVCMsgBSPDecal() {
method encode (line 26174) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26192) | decode(input, length) {
method fromPartial (line 26221) | fromPartial(object) {
function createBaseCSVCMsgSplitScreen (line 26235) | function createBaseCSVCMsgSplitScreen() {
method encode (line 26239) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26251) | decode(input, length) {
method fromPartial (line 26274) | fromPartial(object) {
function createBaseCSVCMsgGetCvarValue (line 26283) | function createBaseCSVCMsgGetCvarValue() {
method encode (line 26287) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26296) | decode(input, length) {
method fromPartial (line 26316) | fromPartial(object) {
function createBaseCSVCMsgMenu (line 26324) | function createBaseCSVCMsgMenu() {
method encode (line 26328) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26337) | decode(input, length) {
method fromPartial (line 26357) | fromPartial(object) {
function createBaseCSVCMsgUserMessage (line 26365) | function createBaseCSVCMsgUserMessage() {
method encode (line 26369) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26381) | decode(input, length) {
method fromPartial (line 26404) | fromPartial(object) {
function createBaseCSVCMsgPaintmapData (line 26413) | function createBaseCSVCMsgPaintmapData() {
method encode (line 26417) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26423) | decode(input, length) {
method fromPartial (line 26440) | fromPartial(object) {
function createBaseCSVCMsgGameEvent (line 26447) | function createBaseCSVCMsgGameEvent() {
method encode (line 26451) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26466) | decode(input, length) {
method fromPartial (line 26492) | fromPartial(object) {
function createBaseCSVCMsgGameEvent_keyT (line 26503) | function createBaseCSVCMsgGameEvent_keyT() {
method encode (line 26517) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26547) | decode(input, length) {
method fromPartial (line 26588) | fromPartial(object) {
function createBaseCSVCMsgGameEventList (line 26606) | function createBaseCSVCMsgGameEventList() {
method encode (line 26610) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26616) | decode(input, length) {
method fromPartial (line 26633) | fromPartial(object) {
function createBaseCSVCMsgGameEventList_keyT (line 26641) | function createBaseCSVCMsgGameEventList_keyT() {
method encode (line 26645) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26654) | decode(input, length) {
method fromPartial (line 26674) | fromPartial(object) {
function createBaseCSVCMsgGameEventList_descriptorT (line 26682) | function createBaseCSVCMsgGameEventList_descriptorT() {
method encode (line 26686) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26698) | decode(input, length) {
method fromPartial (line 26721) | fromPartial(object) {
function createBaseCSVCMsgTempEntities (line 26731) | function createBaseCSVCMsgTempEntities() {
method encode (line 26735) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26747) | decode(input, length) {
method fromPartial (line 26770) | fromPartial(object) {
function createBaseCSVCMsgPacketEntities (line 26779) | function createBaseCSVCMsgPacketEntities() {
method encode (line 26791) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26815) | decode(input, length) {
method fromPartial (line 26850) | fromPartial(object) {
function createBaseCSVCMsgSounds (line 26863) | function createBaseCSVCMsgSounds() {
method encode (line 26867) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26876) | decode(input, length) {
method fromPartial (line 26896) | fromPartial(object) {
function createBaseCSVCMsgSounds_sounddataT (line 26905) | function createBaseCSVCMsgSounds_sounddataT() {
method encode (line 26927) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 26981) | decode(input, length) {
method fromPartial (line 27046) | fromPartial(object) {
function createBaseCSVCMsgEntityMsg (line 27069) | function createBaseCSVCMsgEntityMsg() {
method encode (line 27073) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 27085) | decode(input, length) {
method fromPartial (line 27108) | fromPartial(object) {
function createBaseCSVCMsgCmdKeyValues (line 27117) | function createBaseCSVCMsgCmdKeyValues() {
method encode (line 27121) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 27127) | decode(input, length) {
method fromPartial (line 27144) | fromPartial(object) {
function createBaseCSVCMsgEncryptedData (line 27151) | function createBaseCSVCMsgEncryptedData() {
method encode (line 27155) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 27164) | decode(input, length) {
method fromPartial (line 27184) | fromPartial(object) {
function createBaseCSVCMsgHltvReplay (line 27192) | function createBaseCSVCMsgHltvReplay() {
method encode (line 27204) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 27228) | decode(input, length) {
method fromPartial (line 27263) | fromPartial(object) {
function createBaseCCLCMsgHltvReplay (line 27276) | function createBaseCCLCMsgHltvReplay() {
method encode (line 27286) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 27304) | decode(input, length) {
method fromPartial (line 27333) | fromPartial(object) {
function createBaseCSVCMsgBroadcastCommand (line 27344) | function createBaseCSVCMsgBroadcastCommand() {
method encode (line 27348) | encode(message, writer = minimal_1.Writer.create()) {
method decode (line 27354) | decode(input, length) {
method fromPartial (line 27371) | fromPartial(object) {
function decodeShareCode (line 27391) | function decodeShareCode(shareCode) {
function parseUserInfoData (line 27420) | function parseUserInfoData(buf) {
class StringTables (line 27456) | class StringTables extends events_1.EventEmitter {
method constructor (line 27457) | constructor() {
method listen (line 27469) | listen(messageEvents) {
method findTableByName (line 27473) | findTableByName(name) {
method handleStringTables (line 27476) | handleStringTables(bitbuf) {
method _handleStringTable (line 27483) | _handleStringTable(name, bitbuf) {
method _parseStringTableUpdate (line 27532) | _parseStringTableUpdate(bitbuf, table, entries) {
method _handleCreateStringTable (line 27603) | _handleCreateStringTable(msg) {
method _handleUpdateStringTable (line 27621) | _handleUpdateStringTable(msg) {
function onEntityCreate (line 27640) | function onEntityCreate(event) {
function onEntityRemove (line 27647) | function onEntityRemove(event) {
function onEntityChange (line 27652) | function onEntityChange(event) {
function onGrenadeDetonateEvent (line 27667) | function onGrenadeDetonateEvent(event) {
function onMolotovDetonate (line 27678) | function onMolotovDetonate({ projectile, thrower }) {
function onTickEnd (line 27726) | function onTickEnd() {
function onEntityChange (line 27738) | function onEntityChange(e) {
function onStringTableUpdate (line 27787) | function onStringTableUpdate(e) {
function onDataTablesReady (line 27797) | function onDataTablesReady() {
function onSound (line 27800) | function onSound(e) {
class UserMessages (line 27854) | class UserMessages extends events_1.EventEmitter {
method listen (line 27855) | listen(demo) {
method _handleUserMessage (line 27858) | _handleUserMessage(msg) {
function AsyncGenerator (line 28180) | function AsyncGenerator(gen) {
function _AwaitValue (line 28277) | function _AwaitValue(value) {
function _arrayLikeToArray (line 28283) | function _arrayLikeToArray(arr, len) {
function _arrayWithHoles (line 28295) | function _arrayWithHoles(arr) {
function _arrayWithoutHoles (line 28303) | function _arrayWithoutHoles(arr) {
function _assertThisInitialized (line 28309) | function _assertThisInitialized(self) {
function _asyncGeneratorDelegate (line 28319) | function _asyncGeneratorDelegate(inner, awaitWrap) {
function _asyncIterator (line 28376) | function _asyncIterator(iterable) {
function AsyncFromSyncIterator (line 28391) | function AsyncFromSyncIterator(s) {
function asyncGeneratorStep (line 28427) | function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, ar...
function _asyncToGenerator (line 28443) | function _asyncToGenerator(fn) {
function _awaitAsyncGenerator (line 28467) | function _awaitAsyncGenerator(value) {
function _classCallCheck (line 28473) | function _classCallCheck(instance, Constructor) {
function _construct (line 28485) | function _construct(Parent, args, Class) {
function _defineProperties (line 28504) | function _defineProperties(target, props) {
function _createClass (line 28514) | function _createClass(Constructor, protoProps, staticProps) {
function _defineProperty (line 28525) | function _defineProperty(obj, key, value) {
function _get (line 28544) | function _get() {
function _getPrototypeOf (line 28566) | function _getPrototypeOf(o) {
function _inherits (line 28577) | function _inherits(subClass, superClass) {
function _isNativeReflectConstruct (line 28597) | function _isNativeReflectConstruct() {
function _iterableToArray (line 28612) | function _iterableToArray(iter) {
function _iterableToArrayLimit (line 28618) | function _iterableToArrayLimit(arr, i) {
function _nonIterableRest (line 28650) | function _nonIterableRest() {
function _nonIterableSpread (line 28656) | function _nonIterableSpread() {
function _possibleConstructorReturn (line 28666) | function _possibleConstructorReturn(self, call) {
function _setPrototypeOf (line 28678) | function _setPrototypeOf(o, p) {
function _slicedToArray (line 28696) | function _slicedToArray(arr, i) {
function _superPropBase (line 28704) | function _superPropBase(object, property) {
function _toConsumableArray (line 28723) | function _toConsumableArray(arr) {
function _typeof (line 28729) | function _typeof(obj) {
function _unsupportedIterableToArray (line 28743) | function _unsupportedIterableToArray(o, minLen) {
function _wrapAsyncGenerator (line 28756) | function _wrapAsyncGenerator(fn) {
function asPromise (line 28787) | function asPromise(fn, ctx/*, varargs */) {
function EventEmitter (line 28971) | function EventEmitter() {
function factory (line 29127) | function factory(exports) {
function writeUintLE (line 29348) | function writeUintLE(val, buf, pos) {
function writeUintBE (line 29355) | function writeUintBE(val, buf, pos) {
function readUintLE (line 29362) | function readUintLE(buf, pos) {
function readUintBE (line 29369) | function readUintBE(buf, pos) {
function inquire (line 29386) | function inquire(moduleName) {
function pool (line 29426) | function pool(alloc, slice, size) {
function compare (line 29567) | function compare(a, b) {
function isBuffer (line 29591) | function isBuffer(b) {
function pToString (line 29632) | function pToString (obj) {
function isView (line 29635) | function isView(arrbuf) {
function getName (line 29669) | function getName(func) {
function truncate (line 29719) | function truncate(s, n) {
function inspect (line 29726) | function inspect(something) {
function getMessage (line 29734) | function getMessage(self) {
function fail (line 29751) | function fail(actual, expected, message, operator, stackStartFunction) {
function ok (line 29771) | function ok(value, message) {
function _deepEqual (line 29808) | function _deepEqual(actual, expected, strict, memos) {
function isArguments (line 29874) | function isArguments(object) {
function objEquiv (line 29878) | function objEquiv(a, b, strict, actualVisitedObjects) {
function notDeepStrictEqual (line 29930) | function notDeepStrictEqual(actual, expected, message) {
function expectedException (line 29955) | function expectedException(actual, expected) {
function _tryBlock (line 29979) | function _tryBlock(block) {
function _throws (line 29989) | function _throws(shouldThrow, block, expected, message) {
function strict (line 30042) | function strict(value, message) {
function deprecated (line 30174) | function deprecated() {
function inspect (line 30221) | function inspect(obj, opts) {
function stylizeWithColor (line 30279) | function stylizeWithColor(str, styleType) {
function stylizeNoColor (line 30291) | function stylizeNoColor(str, styleType) {
function arrayToHash (line 30296) | function arrayToHash(array) {
function formatValue (line 30307) | function formatValue(ctx, value, recurseTimes) {
function formatPrimitive (line 30420) | function formatPrimitive(ctx, value) {
function formatError (line 30439) | function formatError(value) {
function formatArray (line 30444) | function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
function formatProperty (line 30464) | function formatProperty(ctx, value, recurseTimes, visibleKeys, key, arra...
function reduceToSingleString (line 30523) | function reduceToSingleString(output, base, braces) {
function isArray (line 30546) | function isArray(ar) {
function isBoolean (line 30551) | function isBoolean(arg) {
function isNull (line 30556) | function isNull(arg) {
function isNullOrUndefined (line 30561) | function isNullOrUndefined(arg) {
function isNumber (line 30566) | function isNumber(arg) {
function isString (line 30571) | function isString(arg) {
function isSymbol (line 30576) | function isSymbol(arg) {
function isUndefined (line 30581) | function isUndefined(arg) {
function isRegExp (line 30586) | function isRegExp(re) {
function isObject (line 30591) | function isObject(arg) {
function isDate (line 30596) | function isDate(d) {
function isError (line 30601) | function isError(e) {
function isFunction (line 30607) | function isFunction(arg) {
function isPrimitive (line 30612) | function isPrimitive(arg) {
function objectToString (line 30624) | function objectToString(o) {
function pad (line 30629) | function pad(n) {
function timestamp (line 30638) | function timestamp() {
function hasOwnProperty (line 30680) | function hasOwnProperty(obj, prop) {
function getLens (line 30708) | function getLens (b64) {
function byteLength (line 30728) | function byteLength (b64) {
function _byteLength (line 30735) | function _byteLength (b64, validLen, placeHoldersLen) {
function toByteArray (line 30739) | function toByteArray (b64) {
function tripletToBase64 (line 30785) | function tripletToBase64 (num) {
function encodeChunk (line 30792) | function encodeChunk (uint8, start, end) {
function fromByteArray (line 30805) | function fromByteArray (uint8) {
function Integer (line 30850) | function Integer(v, radix, alphabet, caseSensitive) {
function BigInteger (line 30856) | function BigInteger(value, sign) {
function SmallInteger (line 30863) | function SmallInteger(value) {
function NativeBigInt (line 30870) | function NativeBigInt(value) {
function isPrecise (line 30875) | function isPrecise(n) {
function smallToArray (line 30879) | function smallToArray(n) { // For performance reasons doesn't reference ...
function arrayToSmall (line 30887) | function arrayToSmall(arr) { // If BASE changes this function may need t...
function trim (line 30901) | function trim(v) {
function createArray (line 30907) | function createArray(length) { // function shamelessly stolen from Yaffl...
function truncate (line 30916) | function truncate(n) {
function add (line 30921) | function add(a, b) { // assumes a and b are arrays with a.length >= b.le...
function addAny (line 30942) | function addAny(a, b) {
function addSmall (line 30947) | function addSmall(a, carry) { // assumes a is array, carry is number wit...
function subtract (line 30998) | function subtract(a, b) { // assumes a and b are arrays with a >= b
function subtractAny (line 31029) | function subtractAny(a, b, sign) {
function subtractSmall (line 31045) | function subtractSmall(a, b, sign) { // assumes a is array, b is number ...
function multiplyLong (line 31119) | function multiplyLong(a, b) {
function multiplySmall (line 31140) | function multiplySmall(a, b) { // assumes a is array, b is number with |...
function shiftLeft (line 31158) | function shiftLeft(x, n) {
function multiplyKaratsuba (line 31164) | function multiplyKaratsuba(x, y) {
function useKaratsuba (line 31186) | function useKaratsuba(l1, l2) {
function multiplySmallAndArray (line 31212) | function multiplySmallAndArray(a, b, sign) { // a >= 0
function square (line 31240) | function square(a) {
function divMod1 (line 31275) | function divMod1(a, b) { // Left over from previous version. Performs fa...
function divMod2 (line 31333) | function divMod2(a, b) { // Implementation idea shamelessly stolen from ...
function divModSmall (line 31367) | function divModSmall(value, lambda) {
function divModAny (line 31382) | function divModAny(self, v) {
function compareAbs (line 31538) | function compareAbs(a, b) {
function isBasicPrime (line 31725) | function isBasicPrime(v) {
function millerRabinTest (line 31734) | function millerRabinTest(n, a) {
function shift_isSmall (line 31842) | function shift_isSmall(n) {
function bitwise (line 31881) | function bitwise(x, y, fn) {
function roughLOB (line 31934) | function roughLOB(n) { // get lowestOneBit (rough)
function integerLogarithm (line 31944) | function integerLogarithm(value, base) {
function max (line 31967) | function max(a, b) {
function min (line 31972) | function min(a, b) {
function gcd (line 31977) | function gcd(a, b) {
function lcm (line 32004) | function lcm(a, b) {
function randBetween (line 32009) | function randBetween(a, b, rng) {
function parseBaseFromArray (line 32067) | function parseBaseFromArray(digits, base, isNegative) {
function stringify (line 32076) | function stringify(digit, alphabet) {
function toBase (line 32084) | function toBase(n, base) {
function toBaseString (line 32139) | function toBaseString(n, base, alphabet) {
function parseStringValue (line 32193) | function parseStringValue(v) {
function parseNumberValue (line 32235) | function parseNumberValue(v) {
function parseValue (line 32246) | function parseValue(v) {
function readASCIIString (line 32487) | function readASCIIString(stream, bytes) {
function writeASCIIString (line 32520) | function writeASCIIString(stream, string, bytes) {
function typedArraySupport (line 32671) | function typedArraySupport () {
function createBuffer (line 32698) | function createBuffer (length) {
function Buffer (line 32718) | function Buffer (arg, encodingOrOffset, length) {
function from (line 32744) | function from (value, encodingOrOffset, length) {
function assertSize (line 32809) | function assertSize (size) {
function alloc (line 32817) | function alloc (size, fill, encoding) {
function allocUnsafe (line 32841) | function allocUnsafe (size) {
function fromString (line 32859) | function fromString (string, encoding) {
function fromArrayLike (line 32883) | function fromArrayLike (array) {
function fromArrayBuffer (line 32892) | function fromArrayBuffer (array, byteOffset, length) {
function fromObject (line 32915) | function fromObject (obj) {
function checked (line 32940) | function checked (length) {
function SlowBuffer (line 32950) | function SlowBuffer (length) {
function byteLength (line 33041) | function byteLength (string, encoding) {
function slowToString (line 33090) | function slowToString (encoding, start, end) {
function swap (line 33168) | function swap (b, n, m) {
function bidirectionalIndexOf (line 33308) | function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
function arrayIndexOf (line 33364) | function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
function hexWrite (line 33432) | function hexWrite (buf, string, offset, length) {
function utf8Write (line 33457) | function utf8Write (buf, string, offset, length) {
function asciiWrite (line 33461) | function asciiWrite (buf, string, offset, length) {
function latin1Write (line 33465) | function latin1Write (buf, string, offset, length) {
function base64Write (line 33469) | function base64Write (buf, string, offset, length) {
function ucs2Write (line 33473) | function ucs2Write (buf, string, offset, length) {
function base64Slice (line 33555) | function base64Slice (buf, start, end) {
function utf8Slice (line 33563) | function utf8Slice (buf, start, end) {
function decodeCodePointsArray (line 33641) | function decodeCodePointsArray (codePoints) {
function asciiSlice (line 33659) | function asciiSlice (buf, start, end) {
function latin1Slice (line 33669) | function latin1Slice (buf, start, end) {
function hexSlice (line 33679) | function hexSlice (buf, start, end) {
function utf16leSlice (line 33692) | function utf16leSlice (buf, start, end) {
function checkOffset (line 33731) | function checkOffset (offset, ext, length) {
function checkInt (line 33906) | function checkInt (buf, value, offset, ext, max, min) {
function checkIEEE754 (line 34094) | function checkIEEE754 (buf, value, offset, ext, max, min) {
function writeFloat (line 34099) | function writeFloat (buf, value, offset, littleEndian, noAssert) {
function writeDouble (line 34117) | function writeDouble (buf, value, offset, littleEndian, noAssert) {
function base64clean (line 34256) | function base64clean (str) {
function toHex (line 34270) | function toHex (n) {
function utf8ToBytes (line 34275) | function utf8ToBytes (string, units) {
function asciiToBytes (line 34355) | function asciiToBytes (str) {
function utf16leToBytes (line 34364) | function utf16leToBytes (str, units) {
function base64ToBytes (line 34380) | function base64ToBytes (str) {
function blitBuffer (line 34384) | function blitBuffer (src, dst, offset, length) {
function isInstance (line 34395) | function isInstance (obj, type) {
function numberIsNaN (line 34400) | function numberIsNaN (obj) {
function stringSource (line 34693) | function stringSource(s) {
function stringDestination (line 34705) | function stringDestination() {
function ieee754_read (line 35787) | function ieee754_read(buffer, offset, isLE, mLen, nBytes) {
function ieee754_write (line 35830) | function ieee754_write(buffer, value, offset, isLE, mLen, nBytes) {
function fail (line 37553) | function fail(c) {
function EventEmitter (line 38247) | function EventEmitter() {
function $getMaxListeners (line 38300) | function $getMaxListeners(that) {
function emitNone (line 38315) | function emitNone(handler, isFn, self) {
function emitOne (line 38325) | function emitOne(handler, isFn, self, arg1) {
function emitTwo (line 38335) | function emitTwo(handler, isFn, self, arg1, arg2) {
function emitThree (line 38345) | function emitThree(handler, isFn, self, arg1, arg2, arg3) {
function emitMany (line 38356) | function emitMany(handler, isFn, self, args) {
function _addListener (line 38424) | function _addListener(target, type, listener, prepend) {
function onceWrapper (line 38502) | function onceWrapper() {
function _onceWrap (line 38525) | function _onceWrap(target, type, listener) {
function _listeners (line 38652) | function _listeners(target, type, unwrap) {
function listenerCount (line 38685) | function listenerCount(type) {
function spliceOne (line 38706) | function spliceOne(list, index) {
function arrayClone (line 38712) | function arrayClone(arr, n) {
function unwrapListeners (line 38719) | function unwrapListeners(arr) {
function objectCreatePolyfill (line 38727) | function objectCreatePolyfill(proto) {
function objectKeysPolyfill (line 38732) | function objectKeysPolyfill(obj) {
function functionBindPolyfill (line 38739) | function functionBindPolyfill(context) {
function validateParams (line 38766) | function validateParams (params) {
function MakeRef (line 38908) | function MakeRef() {
function SetRef (line 38912) | function SetRef(ref) {
function OwnerID (line 38921) | function OwnerID() {}
function ensureSize (line 38923) | function ensureSize(iter) {
function wrapIndex (line 38930) | function wrapIndex(iter, index) {
function returnTrue (line 38948) | function returnTrue() {
function wholeSlice (line 38952) | function wholeSlice(begin, end, size) {
function resolveBegin (line 38960) | function resolveBegin(begin, size) {
function resolveEnd (line 38964) | function resolveEnd(end, size) {
function resolveIndex (line 38968) | function resolveIndex(index, size, defaultIndex) {
function isNeg (line 38982) | function isNeg(value) {
function isCollection (line 38989) | function isCollection(maybeCollection) {
function isKeyed (line 38995) | function isKeyed(maybeKeyed) {
function isIndexed (line 39001) | function isIndexed(maybeIndexed) {
function isAssociative (line 39005) | function isAssociative(maybeAssociative) {
function KeyedCollection (line 39014) | function KeyedCollection(value) {
function IndexedCollection (line 39026) | function IndexedCollection(value) {
function SetCollection (line 39038) | function SetCollection(value) {
function isSeq (line 39055) | function isSeq(maybeSeq) {
function isRecord (line 39061) | function isRecord(maybeRecord) {
function isImmutable (line 39065) | function isImmutable(maybeImmutable) {
function isOrdered (line 39071) | function isOrdered(maybeOrdered) {
function iteratorValue (line 39103) | function iteratorValue(type, k, v, iteratorResult) {
function iteratorDone (line 39114) | function iteratorDone() {
function hasIterator (line 39118) | function hasIterator(maybeIterable) {
function isIterator (line 39127) | function isIterator(maybeIterator) {
function getIterator (line 39131) | function getIterator(iterable) {
function getIteratorFn (line 39136) | function getIteratorFn(iterable) {
function isEntriesIterable (line 39146) | function isEntriesIterable(maybeIterable) {
function isKeysIterable (line 39151) | function isKeysIterable(maybeIterable) {
function isArrayLike (line 39158) | function isArrayLike(value) {
function Seq (line 39178) | function Seq(value) {
function KeyedSeq (line 39246) | function KeyedSeq(value) {
function IndexedSeq (line 39270) | function IndexedSeq(value) {
function SetSeq (line 39302) | function SetSeq(value) {
function ArraySeq (line 39333) | function ArraySeq(array) {
function ObjectSeq (line 39376) | function ObjectSeq(object) {
function CollectionSeq (line 39433) | function CollectionSeq(collection) {
function emptySequence (line 39483) | function emptySequence() {
function keyedSeqFromValue (line 39487) | function keyedSeqFromValue(value) {
function indexedSeqFromValue (line 39501) | function indexedSeqFromValue(value) {
function seqFromValue (line 39511) | function seqFromValue(value) {
function maybeIndexedSeqFromValue (line 39528) | function maybeIndexedSeqFromValue(value) {
function isMap (line 39538) | function isMap(maybeMap) {
function isOrderedMap (line 39542) | function isOrderedMap(maybeOrderedMap) {
function isValueObject (line 39546) | function isValueObject(maybeValue) {
function is (line 39608) | function is(valueA, valueB) {
function smi (line 39651) | function smi(i32) {
function hash (line 39657) | function hash(o) {
function hashNullish (line 39698) | function hashNullish(nullish) {
function hashNumber (line 39703) | function hashNumber(n) {
function cachedHashString (line 39718) | function cachedHashString(string) {
function hashString (line 39733) | function hashString(string) {
function hashSymbol (line 39747) | function hashSymbol(sym) {
function hashJSObj (line 39760) | function hashJSObj(obj) {
function getIENodeHash (line 39842) | function getIENodeHash(node) {
function valueOf (line 39853) | function valueOf(obj) {
function nextHash (line 39859) | function nextHash() {
function ToKeyedSequence (line 39889) | function ToKeyedSequence(indexed, useKeys) {
function ToIndexedSequence (line 39946) | function ToIndexedSequence(iter) {
function ToSetSequence (line 39993) | function ToSetSequence(iter) {
function FromEntriesSequence (line 40026) | function FromEntriesSequence(entries) {
function flipFactory (line 40091) | function flipFactory(collection) {
function mapFactory (line 40130) | function mapFactory(collection, mapper, context) {
function reverseFactory (line 40168) | function reverseFactory(collection, useKeys) {
function filterFactory (line 40217) | function filterFactory(collection, predicate, context, useKeys) {
function countByFactory (line 40264) | function countByFactory(collection, grouper, context) {
function groupByFactory (line 40272) | function groupByFactory(collection, grouper, context) {
function sliceFactory (line 40285) | function sliceFactory(collection, begin, end, useKeys) {
function takeWhileFactory (line 40384) | function takeWhileFactory(collection, predicate, context) {
function skipWhileFactory (line 40427) | function skipWhileFactory(collection, predicate, context, useKeys) {
function concatFactory (line 40480) | function concatFactory(collection, values) {
function flattenFactory (line 40529) | function flattenFactory(collection, depth, useKeys) {
function flatMapFactory (line 40584) | function flatMapFactory(collection, mapper, context) {
function interposeFactory (line 40592) | function interposeFactory(collection, separator) {
function sortFactory (line 40625) | function sortFactory(collection, comparator, mapper) {
function maxFactory (line 40654) | function maxFactory(collection, comparator, mapper) {
function maxCompare (line 40668) | function maxCompare(comparator, a, b) {
function zipWithFactory (line 40678) | function zipWithFactory(keyIter, zipper, iters, zipAll) {
function reify (line 40738) | function reify(iter, seq) {
function validateEntry (line 40742) | function validateEntry(entry) {
function collectionClass (line 40748) | function collectionClass(collection) {
function makeSequence (line 40756) | function makeSequence(collection) {
function cacheResultThrough (line 40767) | function cacheResultThrough() {
function defaultComparator (line 40776) | function defaultComparator(a, b) {
function arrCopy (line 40792) | function arrCopy(arr, offset) {
function invariant (line 40802) | function invariant(condition, error) {
function assertNotInfinite (line 40806) | function assertNotInfinite(size) {
function coerceKeyPath (line 40813) | function coerceKeyPath(keyPath) {
function isPlainObject (line 40827) | function isPlainObject(value) {
function isDataStructure (line 40856) | function isDataStructure(value) {
function quoteString (line 40863) | function quoteString(value) {
function has (line 40871) | function has(collection, key) {
function get (line 40877) | function get(collection, key, notSetValue) {
function shallowCopy (line 40887) | function shallowCopy(from) {
function remove (line 40900) | function remove(collection, key) {
function set (line 40926) | function set(collection, key, value) {
function updateIn$1 (line 40948) | function updateIn$1(collection, keyPath, notSetValue, updater) {
function updateInDeeply (line 40964) | function updateInDeeply(
function setIn$1 (line 41007) | function setIn$1(collection, keyPath, value) {
function setIn (line 41011) | function setIn(keyPath, v) {
function removeIn (line 41015) | function removeIn(collection, keyPath) {
function deleteIn (line 41019) | function deleteIn(keyPath) {
function update$1 (line 41023) | function update$1(collection, key, notSetValue, updater) {
function update (line 41027) | function update(key, notSetValue, updater) {
function updateIn (line 41033) | function updateIn(keyPath, notSetValue, updater) {
function merge$1 (line 41037) | function merge$1() {
function mergeWith$1 (line 41044) | function mergeWith$1(merger) {
function mergeIntoKeyedWith (line 41054) | function mergeIntoKeyedWith(collection, collections, merger) {
function merge (line 41087) | function merge(collection) {
function mergeWith (line 41094) | function mergeWith(merger, collection) {
function mergeDeep$1 (line 41101) | function mergeDeep$1(collection) {
function mergeDeepWith$1 (line 41108) | function mergeDeepWith$1(merger, collection) {
function mergeDeepWithSources (line 41115) | function mergeDeepWithSources(collection, sources, merger) {
function mergeWithSources (line 41119) | function mergeWithSources(collection, sources, merger) {
function deepMergerWith (line 41161) | function deepMergerWith(merger) {
function areMergeable (line 41179) | function areMergeable(oldDataStructure, newDataStructure) {
function mergeDeep (line 41190) | function mergeDeep() {
function mergeDeepWith (line 41197) | function mergeDeepWith(merger) {
function mergeIn (line 41204) | function mergeIn(keyPath) {
function mergeDeepIn (line 41211) | function mergeDeepIn(keyPath) {
function withMutations (line 41219) | function withMutations(fn) {
function asMutable (line 41225) | function asMutable() {
function asImmutable (line 41229) | function asImmutable() {
function wasAltered (line 41233) | function wasAltered() {
function Map (line 41238) | function Map(value) {
function MapIterator (line 41763) | function MapIterator(map, type, reverse) {
function mapIteratorValue (line 41813) | function mapIteratorValue(type, entry) {
function mapIteratorFrame (line 41817) | function mapIteratorFrame(node, prev) {
function makeMap (line 41825) | function makeMap(size, root, ownerID, hash) {
function emptyMap (line 41836) | function emptyMap() {
function updateMap (line 41840) | function updateMap(map, k, v) {
function updateNode (line 41877) | function updateNode(
function isLeafNode (line 41906) | function isLeafNode(node) {
function mergeIntoNode (line 41912) | function mergeIntoNode(node, ownerID, shift, keyHash, entry) {
function createNodes (line 41930) | function createNodes(ownerID, entries, key, value) {
function packNodes (line 41942) | function packNodes(ownerID, nodes, count, excluding) {
function expandNodes (line 41956) | function expandNodes(ownerID, nodes, bitmap, including, node) {
function popCount (line 41966) | function popCount(x) {
function setAt (line 41975) | function setAt(array, idx, val, canEdit) {
function spliceIn (line 41981) | function spliceIn(array, idx, val, canEdit) {
function spliceOut (line 42000) | function spliceOut(array, idx, canEdit) {
function isList (line 42023) | function isList(maybeList) {
function List (line 42028) | function List(value) {
function iterateList (line 42335) | function iterateList(list, reverse) {
function makeList (line 42396) | function makeList(origin, capacity, level, root, tail, ownerID, hash) {
function emptyList (line 42411) | function emptyList() {
function updateList (line 42415) | function updateList(list, index, value) {
function updateVNode (line 42462) | function updateVNode(node, ownerID, level, index, value, didAlter) {
function editableVNode (line 42506) | function editableVNode(node, ownerID) {
function listNodeFor (line 42513) | function listNodeFor(list, rawIndex) {
function setListBounds (line 42528) | function setListBounds(list, begin, end) {
function getTailOffset (line 42674) | function getTailOffset(size) {
function OrderedMap (line 42679) | function OrderedMap(value) {
function makeOrderedMap (line 42774) | function makeOrderedMap(map, list, ownerID, hash) {
function emptyOrderedMap (line 42786) | function emptyOrderedMap() {
function updateOrderedMap (line 42793) | function updateOrderedMap(omap, k, v) {
function isStack (line 42842) | function isStack(maybeStack) {
function Stack (line 42847) | function Stack(value) {
function makeStack (line 43055) | function makeStack(size, head, ownerID, hash) {
function emptyStack (line 43066) | function emptyStack() {
function isSet (line 43072) | function isSet(maybeSet) {
function isOrderedSet (line 43076) | function isOrderedSet(maybeOrderedSet) {
function deepEqual (line 43080) | function deepEqual(a, b) {
function mixin (line 43146) | function mixin(ctor, methods) {
function toJS (line 43156) | function toJS(value) {
function Set (line 43181) | function Set(value) {
function updateSet (line 43391) | function updateSet(set, newMap) {
function makeSet (line 43404) | function makeSet(map, ownerID) {
function emptySet (line 43413) | function emptySet() {
function Range (line 43423) | function Range(start, end, step) {
function getIn$1 (line 43554) | function getIn$1(collection, searchKeyPath, notSetValue) {
function getIn (line 43566) | function getIn(searchKeyPath, notSetValue) {
function hasIn$1 (line 43570) | function hasIn$1(collection, keyPath) {
function hasIn (line 43574) | function hasIn(searchKeyPath) {
function toObject (line 43578) | function toObject() {
function reduce (line 44218) | function reduce(collection, reducer, reduction, context, useFirst, rever...
function keyMapper (line 44231) | function keyMapper(v, k) {
function entryMapper (line 44235) | function entryMapper(v, k) {
function not (line 44239) | function not(predicate) {
function neg (line 44245) | function neg(predicate) {
function defaultZipper (line 44251) | function defaultZipper() {
function defaultNegComparator (line 44255) | function defaultNegComparator(a, b) {
function hashCollection (line 44259) | function hashCollection(collection) {
function murmurHashOfSize (line 44286) | function murmurHashOfSize(size, h) {
function hashMerge (line 44297) | function hashMerge(a, b) {
function OrderedSet (line 44302) | function OrderedSet(value) {
function makeOrderedSet (line 44344) | function makeOrderedSet(map, ownerID) {
function emptyOrderedSet (line 44353) | function emptyOrderedSet() {
function throwOnInvalidDefaultValues (line 44359) | function throwOnInvalidDefaultValues(defaultValues) {
function makeRecord (line 44570) | function makeRecord(likeRecord, values, ownerID) {
function recordName (line 44577) | function recordName(record) {
function recordSeq (line 44581) | function recordSeq(record) {
function setProp (line 44585) | function setProp(prototype, name) {
function Repeat (line 44606) | function Repeat(value, times) {
function fromJS (line 44700) | function fromJS(value, converter) {
function fromJSWith (line 44711) | function fromJSWith(stack, converter, value, key, keyPath, parentValue) {
function defaultConverter (line 44736) | function defaultConverter(k, v) {
function __append (line 45225) | function __append(source, value) {
function __asyncAppend (line 45261) | function __asyncAppend(_x, _x2) {
function _asyncAppend (line 45267) | function _asyncAppend() {
function asyncBatchSpliterator (line 45306) | function asyncBatchSpliterator(_x, _x2, _x3) {
function _asyncBatchSpliterator (line 45310) | function _asyncBatchSpliterator() {
function __asyncBatch (line 45416) | function __asyncBatch(source, size) {
function _createForOfIteratorHelper (line 45436) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 45438) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 45440) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function batchSpliterator (line 45448) | function batchSpliterator(split, _ref, source) {
function __batch (line 45517) | function __batch(source, size) {
function asyncIndexStrategy (line 45553) | function asyncIndexStrategy(_x, _x2, _x3) {
function _asyncIndexStrategy (line 45559) | function _asyncIndexStrategy() {
function asyncConditionStrategy (line 45636) | function asyncConditionStrategy(_x4, _x5, _x6) {
function _asyncConditionStrategy (line 45642) | function _asyncConditionStrategy() {
function __asyncBisect (line 45759) | function __asyncBisect(source, at) {
function _createForOfIteratorHelper (line 45772) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 45774) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 45776) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function indexStrategy (line 45795) | function indexStrategy(split, _ref, source) {
function conditionStrategy (line 45846) | function conditionStrategy(split, _ref2, source) {
function __bisect (line 45915) | function __bisect(source, at) {
function _createForOfIteratorHelper (line 45930) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 45932) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 45934) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function asyncByComparison (line 45946) | function asyncByComparison(_x, _x2) {
function _asyncByComparison (line 45950) | function _asyncByComparison() {
function __asyncCollate (line 46016) | function __asyncCollate(sources, compare) {
function _createForOfIteratorHelper (line 46032) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 46034) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 46036) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function byComparison (line 46044) | function byComparison(_ref, all) {
function __collate (line 46104) | function __collate(sources, compare) {
function __asyncCompress (line 46133) | function __asyncCompress(source, included) {
function __compress (line 46170) | function __compress(source, included) {
function __asyncConcat (line 46204) | function __asyncConcat() {
function _asyncConcat (line 46210) | function _asyncConcat() {
function __concat (line 46265) | function __concat() {
function __asyncConsume (line 46319) | function __asyncConsume(_x) {
function _asyncConsume (line 46323) | function _asyncConsume() {
function _createForOfIteratorHelper (line 46415) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 46417) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 46419) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __consume (line 46424) | function __consume(iterable) {
function __asyncCycleTimes (line 46464) | function __asyncCycleTimes(_x, _x2) {
function _asyncCycleTimes (line 46470) | function _asyncCycleTimes() {
function __cycleTimes (line 46513) | function __cycleTimes(source, n) {
function __asyncCycle (line 46558) | function __asyncCycle(source) {
function __cycle (line 46572) | function __cycle(source) {
function _createForOfIteratorHelper (line 46584) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 46586) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 46588) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function _asyncDeepEqual (line 46639) | function _asyncDeepEqual(_x, _x2, _x3) {
function _asyncDeepEqual2 (line 46643) | function _asyncDeepEqual2() {
function __asyncDeepEqual (line 46812) | function __asyncDeepEqual(values) {
function asyncDeepEqual (line 46820) | function asyncDeepEqual() {
function _createForOfIteratorHelper (line 46832) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 46834) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 46836) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function _deepEqual (line 46875) | function _deepEqual(values, same, isIterable) {
function __deepEqual (line 46917) | function __deepEqual(values) {
function deepEqual (line 46925) | function deepEqual() {
function __asyncDistinct (line 46946) | function __asyncDistinct(_x, _x2) {
function _asyncDistinct (line 46952) | function _asyncDistinct() {
function _createForOfIteratorHelper (line 47062) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 47064) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 47066) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __distinct (line 47071) | function __distinct(source, selector) {
function __asyncDropWhile (line 47152) | function __asyncDropWhile(_x, _x2) {
function _asyncDropWhile (line 47158) | function _asyncDropWhile() {
function _createForOfIteratorHelper (line 47280) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 47282) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 47284) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __dropWhile (line 47289) | function __dropWhile(source, predicate) {
function __asyncDrop (line 47378) | function __asyncDrop(_x, _x2) {
function _asyncDrop (line 47384) | function _asyncDrop() {
function _createForOfIteratorHelper (line 47486) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 47488) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 47490) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __drop (line 47495) | function __drop(iterable, n) {
function __asyncEnumerate (line 47563) | function __asyncEnumerate(source) {
function __enumerate (line 47583) | function __enumerate(source) {
function _createForOfIteratorHelper (line 47601) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 47603) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 47605) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __asyncEqual (line 47623) | function __asyncEqual(_x) {
function _asyncEqual (line 47627) | function _asyncEqual() {
function _createForOfIteratorHelper (line 47788) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 47790) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 47792) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __equal (line 47808) | function __equal(iterables) {
function __asyncEvery (line 47861) | function __asyncEvery(_x, _x2) {
function _asyncEvery (line 47865) | function _asyncEvery() {
function _createForOfIteratorHelper (line 47971) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 47973) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 47975) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __every (line 47980) | function __every(iterable, predicate) {
function __asyncFilter (line 48020) | function __asyncFilter(_x, _x2) {
function _asyncFilter (line 48026) | function _asyncFilter() {
function _createForOfIteratorHelper (line 48131) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 48133) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 48135) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __filter (line 48140) | function __filter(source, predicate) {
function __asyncFindBestOr (line 48212) | function __asyncFindBestOr(_x, _x2, _x3) {
function _asyncFindBestOr (line 48216) | function _asyncFindBestOr() {
function __findBestOr (line 48308) | function __findBestOr(iterable, notFoundValue, comparer) {
function __asyncFindBest (line 48357) | function __asyncFindBest(_x, _x2) {
function _asyncFindBest (line 48361) | function _asyncFindBest() {
function __findBest (line 48403) | function __findBest(iterable, comparer) {
function __asyncFindOr (line 48428) | function __asyncFindOr(_x, _x2, _x3) {
function _asyncFindOr (line 48432) | function _asyncFindOr() {
function _createForOfIteratorHelper (line 48539) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 48541) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 48543) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __findOr (line 48548) | function __findOr(iterable, notFoundValue, func) {
function __asyncFind (line 48584) | function __asyncFind(iterable, predicate) {
function __find (line 48600) | function __find(iterable, predicate) {
function __asyncFirstOr (line 48618) | function __asyncFirstOr(_x, _x2) {
function _asyncFirstOr (line 48622) | function _asyncFirstOr() {
function __firstOr (line 48673) | function __firstOr(iterable, whenEmpty) {
function __asyncFirst (line 48697) | function __asyncFirst(iterable) {
function __first (line 48713) | function __first(iterable) {
function __asyncFlatMap (line 48739) | function __asyncFlatMap(_x, _x2) {
function _asyncFlatMap (line 48745) | function _asyncFlatMap() {
function _createForOfIteratorHelper (line 48839) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 48841) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 48843) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __flatMap (line 48851) | function __flatMap(source, func) {
function asyncFlatInternal (line 48926) | function asyncFlatInternal(_x, _x2, _x3, _x4) {
function _asyncFlatInternal (line 48930) | function _asyncFlatInternal() {
function __asyncFlat (line 49044) | function __asyncFlat(source) {
function _createForOfIteratorHelper (line 49062) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 49064) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 49066) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function flatInternal (line 49079) | function flatInternal(shouldFlat, depth, currentDepth, source) {
function __flat (line 49143) | function __flat(source) {
function validateArgs (line 49160) | function validateArgs(args) {
function __asyncForEach (line 49185) | function __asyncForEach(_x, _x2) {
function _asyncForEach (line 49189) | function _asyncForEach() {
function _createForOfIteratorHelper (line 49284) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 49286) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 49288) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __forEach (line 49293) | function __forEach(iterable, callback) {
function __asyncFork (line 49327) | function __asyncFork(source) {
function __fork (line 49379) | function __fork(source) {
function _createSuper (line 49437) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 49439) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function from (line 49481) | function from(_x) {
function AsyncForkerator (line 49489) | function AsyncForkerator(iterator, first, exchange) {
function advance (line 49541) | function advance() {
function __asyncForkerate (line 49562) | function __asyncForkerate(source) {
function asyncWrapWithEnsureIterable (line 49568) | function asyncWrapWithEnsureIterable(fn) {
function _createSuper (line 49589) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 49591) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function Forkerator (line 49617) | function Forkerator(iterator, first, exchange) {
function __forkerate (line 49655) | function __forkerate(source) {
function wrapWithEnsureIterable (line 49661) | function wrapWithEnsureIterable(fn) {
function __asyncIncludesAnySeq (line 49688) | function __asyncIncludesAnySeq(_x, _x2) {
function _asyncIncludesAnySeq (line 49692) | function _asyncIncludesAnySeq() {
function _createForOfIteratorHelper (line 49835) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 49837) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 49839) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __includesAnySeq (line 49853) | function __includesAnySeq(iterable, seqs) {
function __asyncIncludesAny (line 49908) | function __asyncIncludesAny(_x, _x2) {
function _asyncIncludesAny (line 49912) | function _asyncIncludesAny() {
function __includesAny (line 49963) | function __includesAny(iterable, values) {
function __asyncIncludesSeq (line 49992) | function __asyncIncludesSeq(iterable, seq) {
function __includesSeq (line 50015) | function __includesSeq(iterable, seq) {
function __asyncIncludes (line 50043) | function __asyncIncludes(_x, _x2) {
function _asyncIncludes (line 50047) | function _asyncIncludes() {
function __includes (line 50093) | function __includes(iterable, value) {
function _createSuper (line 50131) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 50133) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function AsyncSummarizedPeekerator (line 50163) | function AsyncSummarizedPeekerator(iterator, first, inputSummary) {
function advance (line 50192) | function advance() {
function value (line 50217) | function value() {
function AsyncInputSummaryInternal (line 50229) | function AsyncInputSummaryInternal() {
function advanceBuffer (line 50278) | function advanceBuffer(_x) {
function AsyncInputSummary (line 50290) | function AsyncInputSummary(internal) {
function AsyncInterleaver (line 50336) | function AsyncInterleaver(sources, strategy, options) {
function init (line 50380) | function init() {
function returnBuffers (line 50407) | function returnBuffers() {
function next (line 50456) | function next() {
function _return (line 50491) | function _return() {
function __asyncInterleave (line 50502) | function __asyncInterleave(sources, strategy) {
function _createSuper (line 50530) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 50532) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function SummarizedPeekerator (line 50562) | function SummarizedPeekerator(iterator, first, inputSummary) {
function InputSummaryInternal (line 50588) | function InputSummaryInternal() {
function InputSummary (line 50628) | function InputSummary(internal) {
function Interleaver (line 50674) | function Interleaver(sources, strategy, options) {
function __interleave (line 50731) | function __interleave(sources, strategy) {
function __asyncInterposeSeq (line 50759) | function __asyncInterposeSeq(_x, _x2) {
function _asyncInterposeSeq (line 50765) | function _asyncInterposeSeq() {
function _createForOfIteratorHelper (line 50878) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 50880) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 50882) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __interposeSeq (line 50888) | function __interposeSeq(source, seq) {
function __asyncInterpose (line 50963) | function __asyncInterpose(source, value) {
function __interpose (line 50979) | function __interpose(source, value) {
function __asyncIsEmpty (line 51005) | function __asyncIsEmpty(_x) {
function _asyncIsEmpty (line 51009) | function _asyncIsEmpty() {
function __isEmpty (line 51047) | function __isEmpty(iterable) {
function __asyncIsSorted (line 51070) | function __asyncIsSorted(_x) {
function _asyncIsSorted (line 51074) | function _asyncIsSorted() {
function __isSorted (line 51147) | function __isSorted(iterable) {
function __asyncJoinWithSeq (line 51189) | function __asyncJoinWithSeq(_x, _x2) {
function _asyncJoinWithSeq (line 51195) | function _asyncJoinWithSeq() {
function _createForOfIteratorHelper (line 51307) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 51309) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 51311) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __joinWithSeq (line 51319) | function __joinWithSeq(source, separatorSeq) {
function __asyncJoinWith (line 51393) | function __asyncJoinWith(source, separator) {
function __joinWith (line 51409) | function __joinWith(source, separator) {
function __asyncJoin (line 51432) | function __asyncJoin(source) {
function __join (line 51449) | function __join(source) {
function __asyncMap (line 51468) | function __asyncMap(_x, _x2) {
function _asyncMap (line 51474) | function _asyncMap() {
function _createForOfIteratorHelper (line 51570) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 51572) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 51574) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __map (line 51579) | function __map(source, func) {
function __asyncPeekerate (line 51641) | function __asyncPeekerate(source) {
function asyncWrapWithEnsureIterable (line 51647) | function asyncWrapWithEnsureIterable(fn) {
function __peekerate (line 51662) | function __peekerate(source) {
function wrapWithEnsureIterable (line 51668) | function wrapWithEnsureIterable(fn) {
function __asyncPrepend (line 51690) | function __asyncPrepend(_x, _x2) {
function _asyncPrepend (line 51696) | function _asyncPrepend() {
function __prepend (line 51728) | function __prepend(source, value) {
function __asyncReduce (line 51761) | function __asyncReduce(_x, _x2) {
function _asyncReduce (line 51765) | function _asyncReduce() {
function __reduce (line 51856) | function __reduce(iterable, reducer) {
function __asyncReverse (line 51909) | function __asyncReverse(_x) {
function _asyncReverse (line 51915) | function _asyncReverse() {
function __reverse (line 51955) | function __reverse(source) {
function asyncByPosition (line 51989) | function asyncByPosition(_x, _x2) {
function _asyncByPosition (line 51993) | function _asyncByPosition() {
function __asyncRoundRobin (line 52052) | function __asyncRoundRobin(sources) {
function byPosition (line 52114) | function byPosition(_ref, all) {
function __roundRobin (line 52169) | function __roundRobin(sources) {
function __asyncSize (line 52196) | function __asyncSize(_x) {
function _asyncSize (line 52200) | function _asyncSize() {
function _createForOfIteratorHelper (line 52296) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 52298) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 52300) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __size (line 52305) | function __size(iterable) {
function __asyncSliceFromStart (line 52351) | function __asyncSliceFromStart(_x) {
function _asyncSliceFromStart (line 52357) | function _asyncSliceFromStart() {
function asyncBufferedSlice (line 52508) | function asyncBufferedSlice(_x3, _x4, _x5, _x6) {
function _asyncBufferedSlice (line 52512) | function _asyncBufferedSlice() {
function __asyncSlice (line 52628) | function __asyncSlice(_x2) {
function _asyncSlice (line 52634) | function _asyncSlice() {
function _createForOfIteratorHelper (line 52745) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 52747) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 52749) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __sliceFromStart (line 52760) | function __sliceFromStart(source) {
function bufferedSlice (line 52872) | function bufferedSlice(source, start, end, step) {
function __slice (line 52904) | function __slice(source) {
function __asyncSome (line 52957) | function __asyncSome(_x, _x2) {
function _asyncSome (line 52961) | function _asyncSome() {
function _createForOfIteratorHelper (line 53067) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 53069) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 53071) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __some (line 53076) | function __some(iterable, func) {
function asyncGroupingSpliterator (line 53122) | function asyncGroupingSpliterator(_x, _x2, _x3) {
function _asyncGroupingSpliterator (line 53126) | function _asyncGroupingSpliterator() {
function __asyncSplitGroups (line 53189) | function __asyncSplitGroups(source) {
function groupingSpliterator (line 53220) | function groupingSpliterator(split, _ref, source) {
function __splitGroups (line 53269) | function __splitGroups(source) {
function _createForOfIteratorHelper (line 53287) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 53289) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 53291) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function getMatchingLength (line 53316) | function getMatchingLength(buffer, separatorSeqs, same) {
function asyncAnySeqspliterator (line 53337) | function asyncAnySeqspliterator(_x, _x2, _x3) {
function _asyncAnySeqspliterator (line 53341) | function _asyncAnySeqspliterator() {
function __asyncSplitOnAnySeq (line 53463) | function __asyncSplitOnAnySeq(_x4, _x5) {
function _asyncSplitOnAnySeq (line 53469) | function _asyncSplitOnAnySeq() {
function _createForOfIteratorHelper (line 53514) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 53516) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 53518) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function getMatchingLength (line 53535) | function getMatchingLength(buffer, separatorSeqs, same) {
function anySeqspliterator (line 53556) | function anySeqspliterator(split, _ref, source) {
function __splitOnAnySeq (line 53641) | function __splitOnAnySeq(source, separatorSeqs) {
function __asyncSplitOnAny (line 53684) | function __asyncSplitOnAny(source, separators) {
function __splitOnAny (line 53710) | function __splitOnAny(source, separators) {
function __asyncSplitOnSeq (line 53738) | function __asyncSplitOnSeq(source, separatorSeq) {
function __splitOnSeq (line 53760) | function __splitOnSeq(source, separatorSeq) {
function __asyncSplitOn (line 53781) | function __asyncSplitOn(source, separator) {
function __splitOn (line 53802) | function __splitOn(source, separator) {
function asyncPredicateSpliterator (line 53835) | function asyncPredicateSpliterator(_x, _x2, _x3) {
function _asyncPredicateSpliterator (line 53839) | function _asyncPredicateSpliterator() {
function __asyncSplitWhen (line 53946) | function __asyncSplitWhen(source, predicate) {
function _createForOfIteratorHelper (line 53960) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 53962) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 53964) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function predicateSpliterator (line 53972) | function predicateSpliterator(split, _ref, source) {
function __splitWhen (line 54025) | function __splitWhen(source, predicate) {
function iterableOf (line 54045) | function iterableOf(value) {
function __asyncSplit (line 54061) | function __asyncSplit(source) {
function iterableOf (line 54081) | function iterableOf(value) {
function __split (line 54097) | function __split(source) {
function __asyncSpliterateGrouped (line 54119) | function __asyncSpliterateGrouped(source, strategy) {
function __spliterateGrouped (line 54146) | function __spliterateGrouped(source, strategy) {
function __asyncSpliterate (line 54173) | function __asyncSpliterate(source, strategy) {
function __spliterate (line 54200) | function __spliterate(source, strategy) {
function _asyncStartsWithAnySeq (line 54231) | function _asyncStartsWithAnySeq(_x, _x2, _x3) {
function _asyncStartsWithAnySeq2 (line 54235) | function _asyncStartsWithAnySeq2() {
function __asyncStartsWithAnySeq (line 54316) | function __asyncStartsWithAnySeq(_x4, _x5) {
function _asyncStartsWithAnySeq3 (line 54320) | function _asyncStartsWithAnySeq3() {
function _startsWithAnySeq (line 54403) | function _startsWithAnySeq(peekr, subseqPeekr, same) {
function __startsWithAnySeq (line 54432) | function __startsWithAnySeq(iterable, seqs) {
function __asyncStartsWithAny (line 54477) | function __asyncStartsWithAny(_x, _x2) {
function _asyncStartsWithAny (line 54481) | function _asyncStartsWithAny() {
function __startsWithAny (line 54539) | function __startsWithAny(iterable, values) {
function __asyncStartsWithSeq (line 54570) | function __asyncStartsWithSeq(iterable, seq) {
function __startsWithSeq (line 54593) | function __startsWithSeq(iterable, seq) {
function __asyncStartsWith (line 54621) | function __asyncStartsWith(_x, _x2) {
function _asyncStartsWith (line 54625) | function _asyncStartsWith() {
function __startsWith (line 54678) | function __startsWith(iterable, value) {
function __asyncStr (line 54709) | function __asyncStr(_x) {
function _asyncStr (line 54713) | function _asyncStr() {
function _createForOfIteratorHelper (line 54810) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 54812) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 54814) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __str (line 54819) | function __str(chars) {
function __asyncTakeLastOr (line 54854) | function __asyncTakeLastOr(_x, _x2) {
function _asyncTakeLastOr (line 54858) | function _asyncTakeLastOr() {
function _createForOfIteratorHelper (line 54955) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 54957) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 54959) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __takeLastOr (line 54964) | function __takeLastOr(iterable, whenEmpty) {
function __asyncTakeLast (line 54996) | function __asyncTakeLast(iterable) {
function __takeLast (line 55012) | function __takeLast(iterable) {
function __asyncTakeSorted (line 55039) | function __asyncTakeSorted(_x) {
function _asyncTakeSorted (line 55045) | function _asyncTakeSorted() {
function swap (line 55179) | function swap(arr, x, y) {
function Heap (line 55186) | function Heap(compare) {
function _createForOfIteratorHelper (line 55304) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 55306) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 55308) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __takeSorted (line 55319) | function __takeSorted(source) {
function __asyncTakeWhile (line 55398) | function __asyncTakeWhile(_x, _x2) {
function _asyncTakeWhile (line 55404) | function _asyncTakeWhile() {
function _createForOfIteratorHelper (line 55519) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 55521) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 55523) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __takeWhile (line 55528) | function __takeWhile(source, predicate) {
function __asyncTake (line 55610) | function __asyncTake(_x, _x2) {
function _asyncTake (line 55616) | function _asyncTake() {
function _createForOfIteratorHelper (line 55728) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 55730) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 55732) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __take (line 55737) | function __take(iterable, n) {
function __asyncTap (line 55820) | function __asyncTap(_x, _x2) {
function _asyncTap (line 55826) | function _asyncTap() {
function _createForOfIteratorHelper (line 55923) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 55925) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 55927) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __tap (line 55932) | function __tap(source, callback) {
function __asyncToArray (line 55998) | function __asyncToArray(_x) {
function _asyncToArray (line 56002) | function _asyncToArray() {
function asyncToArray (line 56095) | function asyncToArray(source) {
function _createForOfIteratorHelper (line 56101) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 56103) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 56105) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __toArray (line 56110) | function __toArray(source) {
function toArray (line 56132) | function toArray(source) {
function __asyncToObject (line 56149) | function __asyncToObject(_x) {
function _asyncToObject (line 56153) | function _asyncToObject() {
function asyncToObject (line 56259) | function asyncToObject(iterable, proto) {
function _createForOfIteratorHelper (line 56267) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 56269) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 56271) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __toObject (line 56276) | function __toObject(iterable) {
function toObject (line 56302) | function toObject(iterable, proto) {
function __asyncWindowAhead (line 56323) | function __asyncWindowAhead(_x, _x2) {
function _asyncWindowAhead (line 56329) | function _asyncWindowAhead() {
function _createForOfIteratorHelper (line 56501) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 56503) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 56505) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __windowAhead (line 56514) | function __windowAhead(source, size) {
function __asyncWindowBehind (line 56657) | function __asyncWindowBehind(_x, _x2) {
function _asyncWindowBehind (line 56663) | function _asyncWindowBehind() {
function _createForOfIteratorHelper (line 56782) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 56784) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 56786) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __windowBehind (line 56795) | function __windowBehind(source, size) {
function __asyncWindow (line 56885) | function __asyncWindow(_x, _x2) {
function _asyncWindow (line 56891) | function _asyncWindow() {
function _createForOfIteratorHelper (line 57001) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 57003) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 57005) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __window (line 57014) | function __window(source, size) {
function __asyncZipAll (line 57132) | function __asyncZipAll(_x) {
function _asyncZipAll (line 57138) | function _asyncZipAll() {
function __zipAll (line 57236) | function __zipAll(sources) {
function __asyncZip (line 57327) | function __asyncZip(_x) {
function _asyncZip (line 57333) | function _asyncZip() {
function _createForOfIteratorHelper (line 57400) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 57402) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 57404) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function __zip (line 57428) | function __zip(sources) {
function __apply (line 57495) | function __apply(fn) {
function arrayFirstOr (line 57504) | function arrayFirstOr(whenEmpty, array) {
function arrayFirst (line 57510) | function arrayFirst(array) {
function arrayLastOr (line 57522) | function arrayLastOr(whenEmpty, array) {
function arrayLast (line 57528) | function arrayLast(array) {
function __arrayReverse (line 57541) | function __arrayReverse(source) {
function _createSuper (line 57603) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 57605) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function empty (line 57632) | function empty() {
function _empty (line 57636) | function _empty() {
function getIterator (line 57651) | function getIterator(iterable) {
function Bufferator (line 57668) | function Bufferator(iterable, concurrency) {
function next (line 57708) | function next() {
function _return (line 57736) | function _return() {
function __asyncBuffer (line 57749) | function __asyncBuffer(source, n) {
function __asyncInterleaveReady (line 57779) | function __asyncInterleaveReady(_x) {
function _asyncInterleaveReady (line 57785) | function _asyncInterleaveReady() {
function _createForOfIteratorHelper (line 57867) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 57869) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 57871) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function raceTo (line 57873) | function raceTo(predicate, notFoundValue, promises) {
function __asyncThrottle (line 57932) | function __asyncThrottle(_x, _x2) {
function _asyncThrottle (line 57938) | function _asyncThrottle() {
function __call (line 58042) | function __call(fn) {
function compose (line 58058) | function compose() {
function execPipe (line 58073) | function execPipe(initial) {
function firstHighest (line 58085) | function firstHighest(best, value) {
function firstLowest (line 58091) | function firstLowest(best, value) {
function getSize (line 58097) | function getSize(sequence) {
function isAsyncIterable (line 58121) | function isAsyncIterable(value) {
function isAsyncLoopable (line 58130) | function isAsyncLoopable(value) {
function isAsyncWrappable (line 58139) | function isAsyncWrappable(value) {
function isIterable (line 58148) | function isIterable(value) {
function isNil (line 58156) | function isNil(value) {
function isNull (line 58162) | function isNull(value) {
function isObject (line 58170) | function isObject(value) {
function isString (line 58176) | function isString(value) {
function isUndefined (line 58182) | function isUndefined(value) {
function isWrappable (line 58191) | function isWrappable(value) {
function lastHighest (line 58197) | function lastHighest(best, value) {
function lastLowest (line 58203) | function lastLowest(best, value) {
function notArray (line 58211) | function notArray(value) {
function notAsyncIterable (line 58220) | function notAsyncIterable(value) {
function notAsyncLoopable (line 58229) | function notAsyncLoopable(value) {
function notAsyncWrappable (line 58238) | function notAsyncWrappable(value) {
function notIterable (line 58247) | function notIterable(value) {
function notNil (line 58255) | function notNil(value) {
function notNull (line 58261) | function notNull(value) {
function notObject (line 58269) | function notObject(value) {
function notString (line 58275) | function notString(value) {
function notUndefined (line 58281) | function notUndefined(value) {
function notWrappable (line 58290) | function notWrappable(value) {
function __objectEntries (line 58307) | function __objectEntries(obj) {
function __objectKeys (line 58378) | function __objectKeys(obj) {
function __objectValues (line 58443) | function __objectValues(obj) {
function pipe (line 58501) | function pipe() {
function __range (line 58535) | function __range() {
function __repeatTimes (line 58625) | function __repeatTimes(n, value) {
function __repeat (line 58661) | function __repeat(value) {
function when (line 58712) | function when(condition, value) {
function __wrapEntries (line 58731) | function __wrapEntries(entriesable) {
function __wrapKeys (line 58762) | function __wrapKeys(keysable) {
function __wrapValues (line 58793) | function __wrapValues(valuesable) {
function seqsToArray (line 59206) | function seqsToArray(values) {
function asyncSeqsToArray (line 59229) | function asyncSeqsToArray(_x) {
function _asyncSeqsToArray (line 59233) | function _asyncSeqsToArray() {
function _createSuper (line 59275) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 59277) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function AsyncBisector (line 59298) | function AsyncBisector(source, strategy, options) {
function setupFirst (line 59346) | function setupFirst() {
function _createSuper (line 59451) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 59453) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function AsyncFork (line 59473) | function AsyncFork(head, exchange) {
function next (line 59533) | function next() {
function _return (line 59572) | function _return() {
function AsyncExchange (line 59584) | function AsyncExchange(iterator) {
function fetch (line 59629) | function fetch() {
function _return (line 59667) | function _return() {
function _createSuper (line 59694) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 59696) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function AsyncGroupsIterator (line 59710) | function AsyncGroupsIterator() {
function next (line 59805) | function next() {
function AsyncIterableIterator (line 59823) | function AsyncIterableIterator() {
function asyncCallReturn (line 59874) | function asyncCallReturn(_x) {
function _asyncCallReturn (line 59878) | function _asyncCallReturn() {
function asyncEnsureIterable (line 59904) | function asyncEnsureIterable(value) {
function AsyncIterableIterator (line 59918) | function AsyncIterableIterator() {
function makeFunctionConfig (line 59933) | function makeFunctionConfig(fn) {
function asyncCache (line 59966) | function asyncCache(_x2) {
function _asyncCache (line 59970) | function _asyncCache() {
function asyncWrapWithIterableIterator (line 60063) | function asyncWrapWithIterableIterator(fn) {
function _createForOfIteratorHelper (line 60092) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 60094) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 60096) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function map (line 60098) | function map(iterable, cb) {
function asyncParallelEach (line 60149) | function asyncParallelEach(iterable, cb) {
function _createSuper (line 60169) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 60171) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function AsyncPartIterator (line 60187) | function AsyncPartIterator(partsIterator) {
function next (line 60249) | function next() {
function _return (line 60281) | function _return() {
function _throw (line 60309) | function _throw() {
function AsyncPartsIterator (line 60327) | function AsyncPartsIterator(source, strategy, options) {
function init (line 60369) | function init() {
function maybeReturnSource (line 60399) | function maybeReturnSource() {
function next (line 60481) | function next() {
function _return (line 60513) | function _return(_x) {
function _throw (line 60541) | function _throw() {
function AsyncPeekeratorIterator (line 60571) | function AsyncPeekeratorIterator(peekr) {
function next (line 60602) | function next() {
function _return (line 60633) | function _return() {
function from (line 60686) | function from(_x) {
function AsyncPeekerator (line 60694) | function AsyncPeekerator(iterator, first) {
function advance (line 60738) | function advance() {
function _return (line 60778) | function _return() {
function asyncWrap (line 60826) | function asyncWrap(_x) {
function _asyncWrap (line 60832) | function _asyncWrap() {
function asyncNullableWrap (line 60850) | function asyncNullableWrap(_x2) {
function _asyncNullableWrap (line 60856) | function _asyncNullableWrap() {
function _createSuper (line 60891) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 60893) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function Bisector (line 60906) | function Bisector(source, strategy, options) {
function ReadOnlyCircularBuffer (line 61019) | function ReadOnlyCircularBuffer(sourceBuffer) {
function CircularBuffer (line 61063) | function CircularBuffer(size) {
function defaultCompareOrder (line 61163) | function defaultCompareOrder(a, b) {
function curry (line 61177) | function curry(fn) {
function variadicCurryWithValidationInner (line 61195) | function variadicCurryWithValidationInner(config, args) {
function variadicCurryWithValidation (line 61255) | function variadicCurryWithValidation(config) {
function delay (line 61273) | function delay(ms, output) {
function _createSuper (line 61297) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 61299) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function Fork (line 61319) | function Fork(head, exchange) {
function Exchange (line 61370) | function Exchange(iterator) {
function _createSuper (line 61428) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 61430) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function GroupsIterator (line 61444) | function GroupsIterator() {
function IterableIterator (line 61500) | function IterableIterator() {
function ensureIterable (line 61546) | function ensureIterable(value) {
function callReturn (line 61560) | function callReturn(iterator) {
function BaseIterableIterator (line 61566) | function BaseIterableIterator(fn, args) {
function IterableIterator (line 61596) | function IterableIterator() {
function makeFunctionConfig (line 61611) | function makeFunctionConfig(fn) {
function cache (line 61642) | function cache(it) {
function wrapWithIterableIterator (line 61648) | function wrapWithIterableIterator(fn) {
function isInteger (line 61673) | function isInteger(value) {
function isPositiveInteger (line 61680) | function isPositiveInteger(value) {
function isIntegerOrInfinite (line 61687) | function isIntegerOrInfinite(value) {
function _createForOfIteratorHelper (line 61694) | function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typ...
function _unsupportedIterableToArray (line 61696) | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (ty...
function _arrayLikeToArray (line 61698) | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.leng...
function parallelEach (line 61700) | function parallelEach(iterable, cb) {
function _createSuper (line 61728) | function _createSuper(Derived) { var hasNativeReflectConstruct = _isNati...
function _isNativeReflectConstruct (line 61730) | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined...
function PartIterator (line 61746) | function PartIterator(partsIterator) {
function PartsIterator (line 61811) | function PartsIterator(source, strategy, options) {
function PeekeratorIterator (line 61911) | function PeekeratorIterator(peekr) {
function Peekerator (line 61959) | function Peekerator(iterator, first) {
function wrap (line 62043) | function wrap(source) {
function nullableWrap (line 62060) | function nullableWrap(source) {
function Long (line 62550) | function Long(low, high, unsigned) {
function isLong (line 62608) | function isLong(obj) {
function fromInt (line 62640) | function fromInt(value, unsigned) {
function fromNumber (line 62682) | function fromNumber(value, unsigned) {
function fromBits (line 62717) | function fromBits(lowBits, highBits, unsigned) {
function fromString (line 62748) | function fromString(str, unsigned, radix) {
function fromValue (line 62807) | function fromValue(val) {
function toObject (line 63729) | function toObject(val) {
function shouldUseNative (line 63737) | function shouldUseNative() {
function defaultSetTimout (line 63820) | function defaultSetTimout() {
function defaultClearTimeout (line 63823) | function defaultClearTimeout () {
function runTimeout (line 63846) | function runTimeout(fun) {
function runClearTimeout (line 63871) | function runClearTimeout(marker) {
function cleanUpNextTick (line 63903) | function cleanUpNextTick() {
function drainQueue (line 63918) | function drainQueue() {
function Item (line 63956) | function Item(fun, array) {
function noop (line 63970) | function noop() {}
function configure (line 64029) | function configure() {
function indexOutOfRange (line 64050) | function indexOutOfRange(reader, writeLength) {
function Reader (line 64060) | function Reader(buffer) {
function readLongVarint (line 64161) | function readLongVarint() {
function readFixed32_end (line 64245) | function readFixed32_end(buf, end) { // note that this uses `end`, not `...
function readFixed64 (line 64280) | function readFixed64(/* this: Reader */) {
function BufferReader (line 64468) | function BufferReader(buffer) {
function Service (line 64604) | function Service(rpcImpl, requestDelimited, responseDelimited) {
function LongBits (line 64720) | function LongBits(lo, hi) {
function merge (line 65146) | function merge(dst, src, ifNotSet) { // used by converters
function newError (line 65170) | function newError(name) {
function Op (line 65355) | function Op(fn, len, val) {
function noop (line 65383) | function noop() {}
function State (line 65393) | function State(writer) {
function Writer (line 65425) | function Writer() {
function writeByte (line 65506) | function writeByte(val, buf, pos) {
function writeVarint32 (line 65510) | function writeVarint32(val, buf, pos) {
function VarintOp (line 65527) | function VarintOp(len, val) {
function writeVarint64 (line 65576) | function writeVarint64(val, buf, pos) {
function writeFixed32 (line 65629) | function writeFixed32(val, buf, pos) {
function BufferWriter (line 65817) | function BufferWriter() {
function writeStringBuffer (line 65858) | function writeStringBuffer(val, buf, pos) {
function error (line 65955) | function error(type) {
function map (line 65967) | function map(array, fn) {
function mapDomain (line 65986) | function mapDomain(string, fn) {
function ucs2decode (line 66015) | function ucs2decode(string) {
function ucs2encode (line 66049) | function ucs2encode(array) {
function basicToDigit (line 66071) | function basicToDigit(codePoint) {
function digitToBasic (line 66095) | function digitToBasic(digit, flag) {
function adapt (line 66106) | function adapt(delta, numPoints, firstTime) {
function decode (line 66123) | function decode(input) {
function encode (line 66224) | function encode(input) {
function toUnicode (line 66342) | function toUnicode(input) {
function toASCII (line 66361) | function toASCII(input) {
function hasOwnProperty (line 66453) | function hasOwnProperty(obj, prop) {
function map (line 66582) | function map (xs, f) {
function define (line 66624) | function define(obj, key, value) {
function wrap (line 66642) | function wrap(innerFn, outerFn, self, tryLocsList) {
function tryCatch (line 66666) | function tryCatch(fn, obj, arg) {
function Generator (line 66687) | function Generator() {}
function GeneratorFunction (line 66688) | function GeneratorFunction() {}
function GeneratorFunctionPrototype (line 66689) | function GeneratorFunctionPrototype() {}
function defineIteratorMethods (line 66721) | function defineIteratorMethods(prototype) {
function AsyncIterator (line 66758) | function AsyncIterator(generator, PromiseImpl) {
function makeInvokeMethod (line 66849) | function makeInvokeMethod(innerFn, self, context) {
function maybeInvokeDelegate (line 66931) | function maybeInvokeDelegate(delegate, context) {
function pushTryEntry (line 67029) | function pushTryEntry(locs) {
function resetTryEntry (line 67044) | function resetTryEntry(entry) {
function Context (line 67051) | function Context(tryLocsList) {
function values (line 67087) | function values(iterable) {
function doneResult (line 67123) | function doneResult() {
function handle (line 67174) | function handle(loc, caught) {
function copyProps (line 67368) | function copyProps (src, dst) {
function SafeBuffer (line 67381) | function SafeBuffer (arg, encodingOrOffset, length) {
function getXHR (line 67529) | function getXHR () {
function checkTypeSupport (line 67550) | function checkTypeSupport (type) {
function isFunction (line 67573) | function isFunction (value) {
function decideMode (line 67591) | function decideMode (preferBinary, useFetch) {
function statusValid (line 67813) | function statusValid (xhr) {
function read (line 68019) | function read () {
function _inheritsLoose (line 68157) | function _inheritsLoose(subClass, superClass) { subClass.prototype = Obj...
function createErrorType (line 68161) | function createErrorType(code, message, Base) {
function oneOf (line 68192) | function oneOf(expected, thing) {
function startsWith (line 68212) | function startsWith(str, search, pos) {
function endsWith (line 68217) | function endsWith(str, search, this_len) {
function includes (line 68226) | function includes(str, search, start) {
function Duplex (line 68342) | function Duplex(options) {
function onend (line 68387) | function onend() {
function onEndNT (line 68395) | function onEndNT(self) {
function PassThrough (line 68458) | function PassThrough(options) {
function _uint8ArrayToBuffer (line 68517) | function _uint8ArrayToBuffer(chunk) {
function _isUint8Array (line 68521) | function _isUint8Array(obj) {
function prependListener (line 68562) | function prependListener(emitter, event, fn) {
function ReadableState (line 68573) | function ReadableState(options, stream, isDuplex) {
function Readable (line 68636) | function Readable(options) {
function readableAddChunk (line 68716) | function readableAddChunk(stream, chunk, encoding, addToFront, skipChunk...
function addChunk (line 68762) | function addChunk(stream, state, chunk, addToFront) {
function chunkInvalid (line 68776) | function chunkInvalid(state, chunk) {
function computeNewHighWaterMark (line 68816) | function computeNewHighWaterMark(n) {
function howMuchToRead (line 68837) | function howMuchToRead(n, state) {
function onEofChunk (line 68954) | function onEofChunk(stream, state) {
function emitReadable (line 68988) | function emitReadable(stream) {
function emitReadable_ (line 69000) | function emitReadable_(stream) {
function maybeReadMore (line 69025) | function maybeReadMore(stream, state) {
function maybeReadMore_ (line 69032) | function maybeReadMore_(stream, state) {
function onunpipe (line 69100) | function onunpipe(readable, unpipeInfo) {
function onend (line 69111) | function onend() {
function cleanup (line 69124) | function cleanup() {
function ondata (line 69146) | function ondata(chunk) {
function onerror (line 69167) | function onerror(er) {
function onclose (line 69177)
Copy disabled (too large)
Download .json
Condensed preview — 1217 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (109,191K chars).
[
{
"path": ".devcontainer/devcontainer.json",
"chars": 132,
"preview": "{\n \"name\": \"demofile dev\",\n \"extensions\": [\"esbenp.prettier-vscode\"],\n \"postCreateCommand\": \"npm ci && bash demos/dow"
},
{
"path": ".eslintignore",
"chars": 26,
"preview": "src/**/*.d.ts\ntests/**.ts\n"
},
{
"path": ".eslintrc.json",
"chars": 1003,
"preview": "{\n \"env\": { \"es6\": true, \"node\": true },\n \"extends\": [\n \"eslint:recommended\",\n \"plugin:@typescript-eslint/recomm"
},
{
"path": ".gitattributes",
"chars": 55,
"preview": "* text=auto\n*.sh text eol=lf\nSHA256SUMS text eol=lf\n"
},
{
"path": ".github/FUNDING.yml",
"chars": 13,
"preview": "github: saul\n"
},
{
"path": ".github/ISSUE_TEMPLATE/bug.yml",
"chars": 1006,
"preview": "name: 🐛 Bug report\ndescription: Create a report about a problem you're having\nlabels: [\"bug\"]\nbody:\n - type: checkboxes"
},
{
"path": ".github/workflows/ci.yml",
"chars": 3618,
"preview": "name: CI\n\non:\n push:\n branches: [master]\n pull_request:\n branches: [master]\n\njobs:\n build:\n name: Build and "
},
{
"path": ".github/workflows/generation.yml",
"chars": 1983,
"preview": "name: Generation\n\non:\n workflow_dispatch:\n schedule:\n # Run once a week (Sunday 00:00)\n - cron: \"0 0 * * 0\"\n\njob"
},
{
"path": ".gitignore",
"chars": 126,
"preview": ".clinic/\n.vscode/\n.protoc/\ncoverage/\ndemos/\nGameTracking-CSGO/\nnode_modules/\n*.log\n*.ignore\n*.tgz\nexamples/*.js\n*.tsbuil"
},
{
"path": ".prettierignore",
"chars": 50,
"preview": "dist/\ndocs/\ncoverage/\nbrowser/\nGameTracking-CSGO/\n"
},
{
"path": ".prettierrc.json",
"chars": 79,
"preview": "{\n \"arrowParens\": \"avoid\",\n \"trailingComma\": \"none\",\n \"endOfLine\": \"auto\"\n}\n"
},
{
"path": "CONTRIBUTING.md",
"chars": 1043,
"preview": "# Contributing\n\nThanks for considering contributing to the project - as a one man project all help is appreciated.\n\n## B"
},
{
"path": "LICENSE",
"chars": 1081,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2015 Saul Rennison\n\nPermission is hereby granted, free of charge, to any person obt"
},
{
"path": "README.md",
"chars": 12050,
"preview": "# demofile  \n"
},
{
"path": "RELEASE_NOTES.md",
"chars": 15178,
"preview": "## Release Notes\n\n<!--\n### Unreleased\n\n-->\n\n### 2.10.0 (2022-12-22)\n\n- :sparkles: #373: Added support for streaming GOTV"
},
{
"path": "browser/app.js",
"chars": 85,
"preview": "window.Buffer = require(\"buffer\").Buffer;\nwindow.demofile = require(\"../dist/demo\");\n"
},
{
"path": "browser/bundle.js",
"chars": 6419078,
"preview": "(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)ret"
},
{
"path": "dist/assert-exists.d.ts",
"chars": 91,
"preview": "export default function assertExists<T>(value: T | null | undefined, message?: string): T;\n"
},
{
"path": "dist/assert-exists.js",
"chars": 296,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction assertExists(value, message) {\n "
},
{
"path": "dist/consts.d.ts",
"chars": 686,
"preview": "export declare const MAX_EDICT_BITS = 11;\nexport declare const MAX_EDICTS: number;\nexport declare const NETWORKED_EHANDL"
},
{
"path": "dist/consts.js",
"chars": 1203,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SND_STOP = exports.INVALID_NETWORKE"
},
{
"path": "dist/convars.d.ts",
"chars": 649,
"preview": "/// <reference types=\"node\" />\nimport { EventEmitter } from \"events\";\nimport { DemoFile } from \"./demo\";\ninterface IConV"
},
{
"path": "dist/convars.js",
"chars": 962,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConVars = void 0;\nconst events_1 = "
},
{
"path": "dist/crosshair.d.ts",
"chars": 663,
"preview": "export declare enum CrosshairStyle {\n Default = 0,\n DefaultStatic = 1,\n Classic = 2,\n ClassicDynamic = 3,\n "
},
{
"path": "dist/crosshair.js",
"chars": 1732,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeCrosshairCode = exports.Cross"
},
{
"path": "dist/crosshair.test.d.ts",
"chars": 11,
"preview": "export {};\n"
},
{
"path": "dist/crosshair.test.js",
"chars": 1605,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst crosshair_1 = require(\"./crosshair\");"
},
{
"path": "dist/demo.d.ts",
"chars": 13302,
"preview": "/// <reference types=\"node\" />\n/// <reference types=\"node\" />\n/// <reference types=\"node\" />\nimport { EventEmitter } fro"
},
{
"path": "dist/demo.js",
"chars": 27829,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DemoFile = exports.parseHeader = vo"
},
{
"path": "dist/entities/baseentity.d.ts",
"chars": 1042,
"preview": "import { CBaseEntity, Vector } from \"../sendtabletypes\";\nimport { Networkable } from \"./networkable\";\nimport { Team } fr"
},
{
"path": "dist/entities/baseentity.js",
"chars": 2379,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BaseEntity = void 0;\nconst networka"
},
{
"path": "dist/entities/gamerules.d.ts",
"chars": 804,
"preview": "import { CCSGameRulesProxy } from \"../sendtabletypes\";\nimport { Networkable } from \"./networkable\";\n/**\n * Represents th"
},
{
"path": "dist/entities/gamerules.js",
"chars": 1315,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GameRules = void 0;\nconst networkab"
},
{
"path": "dist/entities/itemdefs.d.ts",
"chars": 348,
"preview": "export interface IItemDefinition {\n itemName: string;\n className: string;\n}\nexport declare const itemDefinitionInd"
},
{
"path": "dist/entities/itemdefs.js",
"chars": 97258,
"preview": "\"use strict\";\n// DO NOT MODIFY!\n// Auto-generated by ./generators/itemdefs.ts\nObject.defineProperty(exports, \"__esModule"
},
{
"path": "dist/entities/networkable.d.ts",
"chars": 2276,
"preview": "import { DemoFile } from \"../demo\";\nimport { IServerClass, UnknownEntityProps } from \"../entities\";\n/**\n * Represents an"
},
{
"path": "dist/entities/networkable.js",
"chars": 2613,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Networkable = void 0;\nconst consts_"
},
{
"path": "dist/entities/player.d.ts",
"chars": 7096,
"preview": "import { ICrosshairInfo } from \"../crosshair\";\nimport { DemoFile } from \"../demo\";\nimport { CCSPlayer, CCSPlayerResource"
},
{
"path": "dist/entities/player.js",
"chars": 12047,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Player = void 0;\nconst crosshair_1 "
},
{
"path": "dist/entities/projectile.d.ts",
"chars": 461,
"preview": "import { CBaseCSGrenadeProjectile } from \"../sendtabletypes\";\nimport { BaseEntity } from \"./baseentity\";\nexport declare "
},
{
"path": "dist/entities/projectile.js",
"chars": 1172,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Projectile = void 0;\nconst baseenti"
},
{
"path": "dist/entities/team.d.ts",
"chars": 1227,
"preview": "import { CTeam } from \"../sendtabletypes\";\nimport { Networkable } from \"./networkable\";\nimport { Player } from \"./player"
},
{
"path": "dist/entities/team.js",
"chars": 1835,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Team = void 0;\nconst networkable_1 "
},
{
"path": "dist/entities/weapon.d.ts",
"chars": 1442,
"preview": "import { CWeaponCSBase } from \"../sendtabletypes\";\nimport { BaseEntity } from \"./baseentity\";\nimport { Player } from \"./"
},
{
"path": "dist/entities/weapon.js",
"chars": 2607,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Weapon = void 0;\nconst baseentity_1"
},
{
"path": "dist/entities.d.ts",
"chars": 8657,
"preview": "/// <reference types=\"bytebuffer\" />\n/// <reference types=\"node\" />\nimport { EventEmitter } from \"events\";\nimport { BitS"
},
{
"path": "dist/entities.js",
"chars": 27320,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Entities = void 0;\nconst assert = r"
},
{
"path": "dist/entityhandle.d.ts",
"chars": 180,
"preview": "export declare class EntityHandle {\n readonly value: number;\n constructor(value: number);\n get isValid(): boole"
},
{
"path": "dist/entityhandle.js",
"chars": 580,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EntityHandle = void 0;\nconst consts"
},
{
"path": "dist/eventtypes.d.ts",
"chars": 33295,
"preview": "import { Player } from \"./entities/player\";\nimport { BaseEntity } from \"./entities/baseentity\";\nimport { Entities } from"
},
{
"path": "dist/eventtypes.js",
"chars": 8865,
"preview": "\"use strict\";\n/* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-argument, sonar"
},
{
"path": "dist/ext/bitbuffer.d.ts",
"chars": 1073,
"preview": "/// <reference types=\"node\" />\nimport { BitStream, BitView } from \"bit-buffer\";\ndeclare module \"bit-buffer\" {\n interf"
},
{
"path": "dist/ext/bitbuffer.js",
"chars": 7097,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BitView = exports.BitStream = void "
},
{
"path": "dist/gameevent.d.ts",
"chars": 374,
"preview": "import { CSVCMsgGameEvent, CSVCMsgGameEventList_descriptorT } from \"./protobufs/netmessages\";\nexport declare class GameE"
},
{
"path": "dist/gameevent.js",
"chars": 2355,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GameEvent = void 0;\nconst assert = "
},
{
"path": "dist/gameevents.d.ts",
"chars": 399,
"preview": "/// <reference types=\"node\" />\nimport { EventEmitter } from \"events\";\nimport { DemoFile } from \"./demo\";\nimport { GameEv"
},
{
"path": "dist/gameevents.js",
"chars": 1743,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GameEvents = void 0;\nconst events_1"
},
{
"path": "dist/generators/eventtypes.d.ts",
"chars": 11,
"preview": "export {};\n"
},
{
"path": "dist/generators/eventtypes.js",
"chars": 11127,
"preview": "\"use strict\";\n/* eslint-disable no-console */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst asser"
},
{
"path": "dist/generators/itemdefs.d.ts",
"chars": 11,
"preview": "export {};\n"
},
{
"path": "dist/generators/itemdefs.js",
"chars": 2973,
"preview": "\"use strict\";\n/* eslint-disable no-console */\n/* eslint-disable @typescript-eslint/no-unsafe-call */\n/* eslint-disable @"
},
{
"path": "dist/generators/sendtabletypes.d.ts",
"chars": 11,
"preview": "export {};\n"
},
{
"path": "dist/generators/sendtabletypes.js",
"chars": 5440,
"preview": "\"use strict\";\n/* eslint-disable no-console */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst asser"
},
{
"path": "dist/generators/usermessagetypes.d.ts",
"chars": 11,
"preview": "export {};\n"
},
{
"path": "dist/generators/usermessagetypes.js",
"chars": 2613,
"preview": "\"use strict\";\n/* eslint-disable no-console */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst asser"
},
{
"path": "dist/icekey.d.ts",
"chars": 815,
"preview": "export declare class IceKey {\n private static spBox;\n private static spBoxInitialised;\n private static sMod;\n "
},
{
"path": "dist/icekey.js",
"chars": 9490,
"preview": "\"use strict\";\n// Copied from https://github.com/DSergiu/node-ice\n// ---\n// The MIT License\n//\n// Copyright (c) 2010-2017"
},
{
"path": "dist/index.d.ts",
"chars": 779,
"preview": "/// <reference path=\"../typings/bit-buffer.d.ts\" />\nexport * from \"./entities/baseentity\";\nexport * from \"./entities/gam"
},
{
"path": "dist/index.js",
"chars": 2327,
"preview": "\"use strict\";\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"../typings/bit-"
},
{
"path": "dist/keyvalues.d.ts",
"chars": 414,
"preview": "/// <reference types=\"bytebuffer\" />\ninterface Color {\n r: number;\n g: number;\n b: number;\n a: number;\n}\nexp"
},
{
"path": "dist/keyvalues.js",
"chars": 2524,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseBinaryKeyValues = void 0;\nfunc"
},
{
"path": "dist/net.d.ts",
"chars": 558,
"preview": "import { NETMessages, SVCMessages } from \"./protobufs/netmessages\";\nexport declare type NetMessageName = keyof typeof NE"
},
{
"path": "dist/net.js",
"chars": 5670,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findByType = exports.findByName = e"
},
{
"path": "dist/props.d.ts",
"chars": 1639,
"preview": "import * as Long from \"long\";\nimport { ISendProp } from \"./entities\";\nimport { EntityHandle } from \"./entityhandle\";\nimp"
},
{
"path": "dist/props.js",
"chars": 10083,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.makeDecoder = exports.SPROP_VARINT "
},
{
"path": "dist/protobufs/cstrike15_gcmessages.d.ts",
"chars": 1771390,
"preview": "import { Writer, Reader } from \"protobufjs/minimal\";\nimport * as Long from \"long\";\nimport { CEngineGotvSyncPacket } from"
},
{
"path": "dist/protobufs/cstrike15_gcmessages.js",
"chars": 456396,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CMsgGCCStrike15V2MatchmakingServerR"
},
{
"path": "dist/protobufs/cstrike15_usermessages.d.ts",
"chars": 259543,
"preview": "import { Writer, Reader } from \"protobufjs/minimal\";\nimport * as Long from \"long\";\nimport { CMsgVector2D, CMsgRGBA, CMsg"
},
{
"path": "dist/protobufs/cstrike15_usermessages.js",
"chars": 174478,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CCSUsrMsgVoteStart = exports.CCSUsr"
},
{
"path": "dist/protobufs/engine_gcmessages.d.ts",
"chars": 5452,
"preview": "import { Writer, Reader } from \"protobufjs/minimal\";\nimport * as Long from \"long\";\nexport declare const protobufPackage "
},
{
"path": "dist/protobufs/engine_gcmessages.js",
"chars": 4818,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CEngineGotvSyncPacket = exports.pro"
},
{
"path": "dist/protobufs/google/protobuf/descriptor.d.ts",
"chars": 5154057,
"preview": "import { Writer, Reader } from \"protobufjs/minimal\";\nimport * as Long from \"long\";\nexport declare const protobufPackage "
},
{
"path": "dist/protobufs/google/protobuf/descriptor.js",
"chars": 80753,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GeneratedCodeInfo_Annotation = expo"
},
{
"path": "dist/protobufs/netmessages.d.ts",
"chars": 81303,
"preview": "import { Writer, Reader } from \"protobufjs/minimal\";\nimport * as Long from \"long\";\nexport declare const protobufPackage "
},
{
"path": "dist/protobufs/netmessages.js",
"chars": 135501,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CSVCMsgGetCvarValue = exports.CSVCM"
},
{
"path": "dist/protobufs/steammessages.d.ts",
"chars": 301807,
"preview": "import { Writer, Reader } from \"protobufjs/minimal\";\nimport * as Long from \"long\";\nexport declare const protobufPackage "
},
{
"path": "dist/protobufs/steammessages.js",
"chars": 191273,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CMsgAMGrantGuestPasses2 = exports.C"
},
{
"path": "dist/replaykeys.d.ts",
"chars": 600,
"preview": "import * as Long from \"long\";\n/**\n * Decodes an encryption key encoded as a uint64 into a Uint8Array.\n * @param key Encr"
},
{
"path": "dist/replaykeys.js",
"chars": 1190,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.extractPublicEncryptionKey = export"
},
{
"path": "dist/replaykeys.test.d.ts",
"chars": 11,
"preview": "export {};\n"
},
{
"path": "dist/replaykeys.test.js",
"chars": 464,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Long = require(\"long\");\nconst replayk"
},
{
"path": "dist/sendtabletypes.d.ts",
"chars": 359160,
"preview": "import { EntityHandle } from \"./entityhandle\";\nexport interface Vector {\n readonly x: number;\n readonly y: number;"
},
{
"path": "dist/sendtabletypes.js",
"chars": 189,
"preview": "\"use strict\";\n// DO NOT MODIFY!\n// Auto-generated by ./generators/sendtabletypes.ts\nObject.defineProperty(exports, \"__es"
},
{
"path": "dist/sharecode.d.ts",
"chars": 83,
"preview": "export declare function decodeShareCode(shareCode: string): ReadonlyArray<number>;\n"
},
{
"path": "dist/sharecode.js",
"chars": 804,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeShareCode = void 0;\nconst big"
},
{
"path": "dist/stringtables.d.ts",
"chars": 3187,
"preview": "/// <reference types=\"node\" />\n/// <reference types=\"node\" />\nimport { EventEmitter } from \"events\";\nimport * as Long fr"
},
{
"path": "dist/stringtables.js",
"chars": 8844,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StringTables = void 0;\nconst assert"
},
{
"path": "dist/supplements/grenadetrajectory.d.ts",
"chars": 397,
"preview": "import { Player } from \"../entities/player\";\nimport { Projectile } from \"../entities/projectile\";\nimport { Vector } from"
},
{
"path": "dist/supplements/grenadetrajectory.js",
"chars": 3415,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst assert = require(\"assert\");\nconst pro"
},
{
"path": "dist/supplements/itempurchase.d.ts",
"chars": 367,
"preview": "import { Player } from \"../entities/player\";\nimport { ISupplementInfo } from \"./supplementinfo\";\nimport { Weapon } from "
},
{
"path": "dist/supplements/itempurchase.js",
"chars": 2556,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst player_1 = require(\"../entities/playe"
},
{
"path": "dist/supplements/molotovdetonate.d.ts",
"chars": 312,
"preview": "import { Player } from \"../entities/player\";\nimport { Projectile } from \"../entities/projectile\";\nimport { ISupplementIn"
},
{
"path": "dist/supplements/molotovdetonate.js",
"chars": 3063,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst consts_1 = require(\"../consts\");\ncons"
},
{
"path": "dist/supplements/supplementinfo.d.ts",
"chars": 269,
"preview": "import { DemoFile } from \"../demo\";\nexport interface ISupplementInfo {\n /** Function to setup the supplement. Returns"
},
{
"path": "dist/supplements/supplementinfo.js",
"chars": 119,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=supplementinfo.js.map"
},
{
"path": "dist/syncdto.d.ts",
"chars": 347,
"preview": "export interface ISyncDto {\n readonly tick: number;\n readonly endtick: number;\n readonly rtdelay: number;\n r"
},
{
"path": "dist/syncdto.js",
"chars": 331,
"preview": "\"use strict\";\n/*\n{\"tick\":626196,\"endtick\":626580,\"rtdelay\":260.875694818,\"rcvage\":245.945078685,\"fragment\":1629,\"signup_"
},
{
"path": "dist/usermessages.d.ts",
"chars": 309,
"preview": "/// <reference types=\"node\" />\nimport { EventEmitter } from \"events\";\nimport { DemoFile } from \"./demo\";\nimport \"./userm"
},
{
"path": "dist/usermessages.js",
"chars": 1021,
"preview": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UserMessages = void 0;\nconst assert"
},
{
"path": "dist/usermessagetypes.d.ts",
"chars": 8951,
"preview": "import * as um from \"./protobufs/cstrike15_usermessages\";\nexport declare type UserMessageName = \"VGUIMenu\" | \"Geiger\" | "
},
{
"path": "dist/usermessagetypes.js",
"chars": 10312,
"preview": "\"use strict\";\n// DO NOT MODIFY!\n// Auto-generated by ./generators/usermessagetypes.ts\nObject.defineProperty(exports, \"__"
},
{
"path": "docs/.nojekyll",
"chars": 143,
"preview": "TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `github"
},
{
"path": "docs/CNAME",
"chars": 13,
"preview": "demofile.dev\n"
},
{
"path": "docs/assets/highlight.css",
"chars": 3647,
"preview": ":root {\n --light-hl-0: #000000;\n --dark-hl-0: #D4D4D4;\n --light-hl-1: #795E26;\n --dark-hl-1: #DCDCAA;\n --"
},
{
"path": "docs/assets/main.js",
"chars": 42782,
"preview": "\"use strict\";\n\"use strict\";(()=>{var Qe=Object.create;var ae=Object.defineProperty;var Pe=Object.getOwnPropertyDescripto"
},
{
"path": "docs/assets/search.js",
"chars": 3708332,
"preview": "window.searchData = JSON.parse(\"{\\\"kinds\\\":{\\\"8\\\":\\\"Enumeration\\\",\\\"16\\\":\\\"Enumeration Member\\\",\\\"64\\\":\\\"Function\\\",\\\"12"
},
{
"path": "docs/assets/style.css",
"chars": 27924,
"preview": ":root {\n /* Light */\n --light-color-background: #f2f4f8;\n --light-color-background-secondary: #eff0f1;\n --li"
},
{
"path": "docs/classes/BaseEntity.html",
"chars": 63466,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/BitStream.html",
"chars": 137673,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/BitView.html",
"chars": 60519,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/ConVars.html",
"chars": 141593,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/DemoFile.html",
"chars": 390339,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/Entities.html",
"chars": 299949,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/GameEvent.html",
"chars": 21695,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/GameEvents.html",
"chars": 431130,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/GameRules.html",
"chars": 56459,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/Networkable.html",
"chars": 47518,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/Player.html",
"chars": 166111,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/Projectile.html",
"chars": 64710,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/StringTables.html",
"chars": 178147,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/Team.html",
"chars": 65039,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/UserMessages.html",
"chars": 363149,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/classes/Weapon.html",
"chars": 80196,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/enums/CrosshairStyle.html",
"chars": 15444,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/enums/LifeState.html",
"chars": 12480,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/enums/TeamNumber.html",
"chars": 14062,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/functions/annotateEvent.html",
"chars": 293601,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/functions/decodeCrosshairCode.html",
"chars": 293349,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/functions/decodeShareCode.html",
"chars": 293471,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/functions/extractPublicEncryptionKey.html",
"chars": 293617,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/functions/parseBinaryKeyValues.html",
"chars": 294024,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/functions/parseHeader.html",
"chars": 293370,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/index.html",
"chars": 310938,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/Angle2D.html",
"chars": 11214,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CAI_BaseNPC.html",
"chars": 33988,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CAK47.html",
"chars": 41816,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBRC4Target.html",
"chars": 21286,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseAnimating.html",
"chars": 19815,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseAnimatingOverlay.html",
"chars": 23220,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseAttributableItem.html",
"chars": 28274,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseButton.html",
"chars": 14838,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseCSGrenade.html",
"chars": 42213,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseCSGrenadeProjectile.html",
"chars": 23285,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseCombatCharacter.html",
"chars": 32793,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseCombatWeapon.html",
"chars": 39278,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseDoor.html",
"chars": 16318,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseEntity.html",
"chars": 13304,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseFlex.html",
"chars": 25944,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseGrenade.html",
"chars": 21319,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseParticleEntity.html",
"chars": 13414,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBasePlayer.html",
"chars": 43304,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBasePropDoor.html",
"chars": 21314,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseTeamObjectiveResource.html",
"chars": 39425,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseTempEntity.html",
"chars": 278730,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseToggle.html",
"chars": 14838,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseTrigger.html",
"chars": 16399,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseVPhysicsTrigger.html",
"chars": 13421,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseViewModel.html",
"chars": 10175,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBaseWeaponWorldModel.html",
"chars": 10338,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBeam.html",
"chars": 13066,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBeamSpotlight.html",
"chars": 14913,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBoneFollower.html",
"chars": 14888,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBreachCharge.html",
"chars": 40626,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBreachChargeProjectile.html",
"chars": 23280,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBreakableProp.html",
"chars": 21385,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBreakableSurface.html",
"chars": 16612,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBumpMine.html",
"chars": 40438,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CBumpMineProjectile.html",
"chars": 23140,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CC4.html",
"chars": 41648,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CCSGameRulesProxy.html",
"chars": 52002,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CCSPlayer.html",
"chars": 80202,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CCSPlayerResource.html",
"chars": 109410,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CCSRagdoll.html",
"chars": 10039,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CCSTeam.html",
"chars": 9962,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CCascadeLight.html",
"chars": 10126,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CChicken.html",
"chars": 24263,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CColorCorrection.html",
"chars": 10183,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CColorCorrectionVolume.html",
"chars": 10327,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CDEagle.html",
"chars": 41914,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CDangerZone.html",
"chars": 14838,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CDangerZoneController.html",
"chars": 18304,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CDecoyGrenade.html",
"chars": 42170,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CDecoyProjectile.html",
"chars": 23085,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CDrone.html",
"chars": 22591,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CDronegun.html",
"chars": 21190,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CDynamicLight.html",
"chars": 14888,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CDynamicProp.html",
"chars": 22885,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CEconEntity.html",
"chars": 34084,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CEconWearable.html",
"chars": 34162,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
},
{
"path": "docs/interfaces/CEmbers.html",
"chars": 14708,
"preview": "<!DOCTYPE html><html class=\"default\" lang=\"en\"><head><meta charSet=\"utf-8\"/><meta http-equiv=\"x-ua-compatible\" content=\""
}
]
// ... and 1017 more files (download for full content)
About this extraction
This page contains the full source code of the saul/demofile GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1217 files (97.5 MB), approximately 25.6M tokens, and a symbol index with 9516 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.