@infernus/core 0.10.0-beta.6 → 0.10.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.d.ts +13 -29
- package/dist/bundle.js +1 -1
- package/dist/bundle.mjs +1 -1
- package/package.json +3 -3
package/dist/bundle.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{encodingExists as ct,encode as ht,decode as ut}from"iconv-lite";import St from"pino";import{snakeCase as de,merge as gt,omit as mt,get as Se,mapKeys as yt}from"lodash-unified";import*as h from"@infernus/streamer";import{Streamer_GetTickRate as It,Streamer_SetTickRate as Pt,Streamer_GetPlayerTickRate as pt,Streamer_SetPlayerTickRate as At,Streamer_ToggleChunkStream as ft,Streamer_IsToggleChunkStream as Et,Streamer_GetChunkTickRate as ge,Streamer_SetChunkTickRate as me,Streamer_GetChunkSize as Ct,Streamer_SetChunkSize as Tt,Streamer_GetMaxItems as Dt,Streamer_SetMaxItems as Lt,Streamer_GetVisibleItems as ye,Streamer_SetVisibleItems as Ie,Streamer_GetRadiusMultiplier as Pe,Streamer_SetRadiusMultiplier as pe,Streamer_GetTypePriority as bt,Streamer_SetTypePriority as Rt,Streamer_GetCellDistance as Ot,Streamer_SetCellDistance as Bt,Streamer_GetCellSize as wt,Streamer_SetCellSize as Gt,Streamer_ToggleItemStatic as kt,Streamer_IsToggleItemStatic as Ft,Streamer_ToggleItemInvAreas as Mt,Streamer_IsToggleItemInvAreas as Nt,Streamer_ToggleItemCallbacks as Ht,Streamer_IsToggleItemCallbacks as xt,Streamer_ToggleErrorCallback as vt,Streamer_IsToggleErrorCallback as Vt,Streamer_AmxUnloadDestroyItems as Ut,Streamer_ProcessActiveItems as Wt,Streamer_ToggleIdleUpdate as Kt,Streamer_IsToggleIdleUpdate as jt,Streamer_ToggleCameraUpdate as Zt,Streamer_IsToggleCameraUpdate as Xt,Streamer_ToggleItemUpdate as zt,Streamer_IsToggleItemUpdate as Yt,Streamer_GetLastUpdateTime as Jt,Streamer_Update as $t,Streamer_UpdateEx as Qt,Streamer_GetDistanceToItem as qt,Streamer_ToggleItem as en,Streamer_IsToggleItem as tn,Streamer_ToggleAllItems as nn,Streamer_GetItemInternalID as rn,Streamer_GetItemStreamerID as an,Streamer_IsItemVisible as dn,Streamer_DestroyAllVisibleItems as on,Streamer_CountVisibleItems as sn,Streamer_DestroyAllItems as ln,Streamer_CountItems as _n,Streamer_GetNearbyItems as cn,Streamer_GetAllVisibleItems as hn,Streamer_GetItemPos as un,Streamer_SetItemPos as Sn,Streamer_GetItemOffset as gn,Streamer_SetItemOffset as mn,Streamer_GetFloatData as yn,Streamer_SetFloatData as In,Streamer_GetIntData as Pn,Streamer_SetIntData as pn,Streamer_GetArrayData as An,Streamer_SetArrayData as fn,Streamer_IsInArrayData as En,Streamer_AppendArrayData as Cn,Streamer_RemoveArrayData as Tn,Streamer_GetArrayDataLength as Dn,Streamer_GetUpperBound as Ln,MapIconStyles as bn,StreamerDistances as re,CreateDynamicMapIconEx as Rn,CreateDynamicMapIcon as On,DestroyDynamicMapIcon as Bn,IsValidDynamicMapIcon as wn,StreamerItemTypes as C,CreateDynamicCPEx as Gn,CreateDynamicCP as kn,DestroyDynamicCP as Ae,IsValidDynamicCP as fe,TogglePlayerDynamicCP as Fn,TogglePlayerAllDynamicCPs as Mn,IsPlayerInDynamicCP as Nn,GetPlayerVisibleDynamicCP as Hn,CreateDynamicRaceCPEx as xn,CreateDynamicRaceCP as vn,TogglePlayerDynamicRaceCP as Vn,TogglePlayerAllDynamicRaceCPs as Un,IsPlayerInDynamicRaceCP as Wn,GetPlayerVisibleDynamicRaceCP as Kn,DestroyDynamic3DTextLabel as jn,IsValidDynamic3DTextLabel as Zn}from"@infernus/streamer";import{E_STREAMER as Vc,MapIconStyles as Uc,MaterialTextSizes as Wc,StreamerAreaTypes as Kc,StreamerDistances as jc,StreamerItemTypes as Zc,StreamerMiscellaneous as Xc,StreamerObjectTypes as zc}from"@infernus/streamer";import*as c from"@infernus/wrapper";import{HidePlayerDialog as Xn,IsMenuDisabled as zn,IsMenuRowDisabled as Yn,GetMenuItems as Jn,GetMenuPos as $n,GetMenuColumnWidth as Qn,GetMenuColumnHeader as qn,GetMenuItem as er,IsValidPlayer3DTextLabel as tr,IsValidTextDraw as nr,IsTextDrawVisibleForPlayer as rr,PlayerTextDrawGetString as ir,TextDrawGetString as ar,PlayerTextDrawSetPos as dr,TextDrawSetPos as or,PlayerTextDrawGetLetterSize as sr,TextDrawGetLetterSize as lr,PlayerTextDrawGetTextSize as _r,TextDrawGetTextSize as cr,PlayerTextDrawGetPos as hr,TextDrawGetPos as ur,PlayerTextDrawGetColor as Sr,TextDrawGetColor as gr,PlayerTextDrawGetBoxColor as mr,TextDrawGetBoxColor as yr,PlayerTextDrawGetBackgroundColor as Ir,TextDrawGetBackgroundColor as Pr,PlayerTextDrawGetShadow as pr,TextDrawGetShadow as Ar,PlayerTextDrawGetOutline as fr,TextDrawGetOutline as Er,PlayerTextDrawGetFont as Cr,TextDrawGetFont as Tr,PlayerTextDrawIsBox as Dr,TextDrawIsBox as Lr,PlayerTextDrawIsProportional as br,TextDrawIsProportional as Rr,PlayerTextDrawIsSelectable as Or,TextDrawIsSelectable as Br,PlayerTextDrawGetAlignment as wr,TextDrawGetAlignment as Gr,PlayerTextDrawGetPreviewModel as kr,TextDrawGetPreviewModel as Fr,PlayerTextDrawGetPreviewRot as Mr,TextDrawGetPreviewRot as Nr,PlayerTextDrawGetPreviewVehicleColors as Hr,TextDrawGetPreviewVehicleColors as xr}from"@infernus/wrapper";import{GangZonePos as Jc,IActorAnimation as $c,IActorSpawn as Qc,IAttachedData as qc,IAttachedObject as eh,IBounds as th,ICheckPoint as nh,IMaterial as rh,IMaterialText as ih,IObjectPos as ah,IObjectRotPos as dh,IOffsets as oh,IPlayerClass as sh,IQuat as lh,IRaceCheckPoint as _h,ITextDrawCommonSize as ch,ITextDrawRot as hh,IVehColor as uh,IVehMatrix as Sh,IVehSpawnInfo as gh}from"@infernus/wrapper";const s=St({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{s.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){s.warn(e);return}s.warn(new Error(JSON.stringify(e)))});class A{constructor(t,n){this.defaultLocale=t,this.locales=n,this.defaultLocale=de(t),this.locales=A.snakeLocaleKeys(n)}addLocales=t=>{gt(this.locales,A.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=mt(this.locales,t)};$t=(t,n,r=this.defaultLocale)=>{const i=this.locales[de(r)],d=Se(this.locales[this.defaultLocale],t),o=Se(i,t,d);if(o===void 0)return s.warn(`[i18n]: cannot find ${r}["${t}"]`),"undefined";if(typeof o!="string")return JSON.stringify(o);let l=o;if(n&&n.length){const _=/%s/i;for(let S=0;S<n.length&&l.match(_)!==null;S++)l=l.replace(_,n[S])}return l};static isValidate(t){ct(t)||(s.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,n){return A.isValidate(n),[...ht(t,n),0]}static decodeFromBuf(t,n="utf8"){A.isValidate(n);const r=t instanceof Buffer?t:Buffer.from(t);return ut(r,n)}static getValidStr(t){return t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return yt(t,(n,r)=>de(r))}}const q=new Map;function Ee(e){q.set(e,[])}function vr(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function Vr(e,...t){const{defaultValue:n=!0,name:r,beforeEach:i,afterEach:d}=e,o=q.get(r);if(!o||!o.length)return+n;const l=i?i(...t):{},_=[];let S=-1;const m=()=>{if(S++,S<o.length){try{const y=o[S]({next:m,...l});return y instanceof Promise&&_.push(y),y}catch(y){const P=JSON.stringify(y),f=`executing event [name:${r},index:${S}] error: ${P}.`;s.error(f)}return n}return d&&(_.length?Promise.allSettled(_).then(()=>d(l)):d(l)),n};return vr(m(),n)}function u(e){const{name:t,identifier:n,isNative:r=!0}=e;if(q.has(t)){const l=`event [name:${t}] error: already defined.`;throw s.error(l),new Error(l)}Ee(t);function i(...l){return Vr(e,...l)}function d(l){const _=q.get(t).push(l)-1;return()=>{const S=q.get(t)||[],m=S.length-1,y=m<_?m:_;for(let P=y;P>=0;P--)if(S[P]===l){S.splice(P,1);break}}}const o=[d,i];return r&&(n&&samp.registerEvent(t,n),samp.on(t,i)),o}const[Ur]=u({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[Wr]=u({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[Kr]=u({name:"OnNpcModeInit"}),[jr]=u({name:"OnNpcModeExit"}),[Zr]=u({name:"OnNpcSpawn"}),[Xr]=u({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:A.decodeFromBuf(t)}}}),zr=Object.freeze({onConnect:Ur,onDisconnect:Wr,onModeInit:Kr,onModeExit:jr,onSpawn:Zr,onClientMessage:Xr});var Ce=(e=>(e[e.DOWNLOAD_REQUEST_EMPTY=0]="DOWNLOAD_REQUEST_EMPTY",e[e.DOWNLOAD_REQUEST_MODEL_FILE=1]="DOWNLOAD_REQUEST_MODEL_FILE",e[e.DOWNLOAD_REQUEST_TEXTURE_FILE=2]="DOWNLOAD_REQUEST_TEXTURE_FILE",e))(Ce||{}),Te=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Te||{}),oe=(e=>(e[e.MSGBOX=0]="MSGBOX",e[e.INPUT=1]="INPUT",e[e.LIST=2]="LIST",e[e.PASSWORD=3]="PASSWORD",e[e.TABLIST=4]="TABLIST",e[e.TABLIST_HEADERS=5]="TABLIST_HEADERS",e))(oe||{}),De=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(De||{}),Le=(e=>(e[e.NO_ACTION=0]="NO_ACTION",e[e.DISCONNECT_ASAP=1]="DISCONNECT_ASAP",e[e.DISCONNECT_ASAP_SILENTLY=2]="DISCONNECT_ASAP_SILENTLY",e[e.DISCONNECT_ON_NO_ACK=3]="DISCONNECT_ON_NO_ACK",e[e.REQUESTED_CONNECTION=4]="REQUESTED_CONNECTION",e[e.HANDLING_CONNECTION_REQUEST=5]="HANDLING_CONNECTION_REQUEST",e[e.UNVERIFIED_SENDER=6]="UNVERIFIED_SENDER",e[e.SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET=7]="SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET",e[e.CONNECTED=8]="CONNECTED",e))(Le||{}),T=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-1]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e))(T||{}),be=(e=>(e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(be||{}),k=(e=>(e[e.MAX_PLAYER_NAME=24]="MAX_PLAYER_NAME",e[e.MAX_PLAYERS=1e3]="MAX_PLAYERS",e[e.MAX_VEHICLES=2e3]="MAX_VEHICLES",e[e.MAX_ACTORS=1e3]="MAX_ACTORS",e[e.MAX_OBJECTS=1e3]="MAX_OBJECTS",e[e.MAX_GANG_ZONES=1024]="MAX_GANG_ZONES",e[e.MAX_TEXT_DRAWS=2048]="MAX_TEXT_DRAWS",e[e.MAX_PLAYER_TEXT_DRAWS=256]="MAX_PLAYER_TEXT_DRAWS",e[e.MAX_MENUS=128]="MAX_MENUS",e[e.MAX_MENU_ROW=12]="MAX_MENU_ROW",e[e.MAX_MENU_COL=2]="MAX_MENU_COL",e[e.MAX_3DTEXT_GLOBAL=1024]="MAX_3DTEXT_GLOBAL",e[e.MAX_3DTEXT_PLAYER=1024]="MAX_3DTEXT_PLAYER",e[e.MAX_PICKUPS=4096]="MAX_PICKUPS",e[e.MAX_PLAYER_ATTACHED_OBJECTS=10]="MAX_PLAYER_ATTACHED_OBJECTS",e[e.MAX_CHATBUBBLE_LENGTH=144]="MAX_CHATBUBBLE_LENGTH",e))(k||{}),Re=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Re||{}),Oe=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Oe||{}),F=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(F||{}),Be=(e=>(e[e._32x32=10]="_32x32",e[e._64x32=20]="_64x32",e[e._64x64=30]="_64x64",e[e._128x32=40]="_128x32",e[e._128x64=50]="_128x64",e[e._128x128=60]="_128x128",e[e._256x32=70]="_256x32",e[e._256x64=80]="_256x64",e[e._256x128=90]="_256x128",e[e._256x256=100]="_256x256",e[e._512x64=110]="_512x64",e[e._512x128=120]="_512x128",e[e._512x256=130]="_512x256",e[e._512x512=140]="_512x512",e))(Be||{}),we=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(we||{}),Ge=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Ge||{}),ke=(e=>(e[e.NORMAL=0]="NORMAL",e[e.BOXING=1]="BOXING",e[e.KUNGFU=2]="KUNGFU",e[e.KNEEHEAD=3]="KNEEHEAD",e[e.GRABKICK=4]="GRABKICK",e[e.ELBOW=5]="ELBOW",e))(ke||{}),Fe=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(Fe||{}),ie=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ie||{}),Me=(e=>(e[e.BEHINDCAR=3]="BEHINDCAR",e[e.FOLLOWPED=4]="FOLLOWPED",e[e.SNIPER=7]="SNIPER",e[e.ROCKETLAUNCHER=8]="ROCKETLAUNCHER",e[e.FIXED=15]="FIXED",e[e._1STPERSON=16]="_1STPERSON",e[e.CAM_ON_A_STRING=18]="CAM_ON_A_STRING",e[e.BEHINDBOAT=22]="BEHINDBOAT",e[e.CAMERA=46]="CAMERA",e[e.ROCKETLAUNCHER_HS=51]="ROCKETLAUNCHER_HS",e[e.AIMWEAPON=53]="AIMWEAPON",e[e.AIMWEAPON_FROMCAR=55]="AIMWEAPON_FROMCAR",e[e.DW_HELI_CHASE=56]="DW_HELI_CHASE",e[e.DW_CAM_MAN=57]="DW_CAM_MAN",e[e.DW_BIRDY=58]="DW_BIRDY",e[e.DW_PLANE_SPOTTER=59]="DW_PLANE_SPOTTER",e[e.DW_PLANECAM1=62]="DW_PLANECAM1",e[e.DW_PLANECAM2=63]="DW_PLANECAM2",e[e.DW_PLANECAM3=64]="DW_PLANECAM3",e))(Me||{}),ae=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ae||{}),Y=(e=>(e[e.NONE=0]="NONE",e[e.ONFOOT=1]="ONFOOT",e[e.DRIVER=2]="DRIVER",e[e.PASSENGER=3]="PASSENGER",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.ENTER_VEHICLE_DRIVER=5]="ENTER_VEHICLE_DRIVER",e[e.ENTER_VEHICLE_PASSENGER=6]="ENTER_VEHICLE_PASSENGER",e[e.WASTED=7]="WASTED",e[e.SPAWNED=8]="SPAWNED",e[e.SPECTATING=9]="SPECTATING",e))(Y||{}),Ne=(e=>(e[e.TORSO=3]="TORSO",e[e.GROIN=4]="GROIN",e[e.LEFT_ARM=5]="LEFT_ARM",e[e.RIGHT_ARM=6]="RIGHT_ARM",e[e.LEFT_LEG=7]="LEFT_LEG",e[e.RIGHT_LEG=8]="RIGHT_LEG",e[e.HEAD=9]="HEAD",e))(Ne||{}),He=(e=>(e[e.Spine=1]="Spine",e[e.Head=2]="Head",e[e.LeftUpperArm=3]="LeftUpperArm",e[e.RightUpperArm=4]="RightUpperArm",e[e.LeftHand=5]="LeftHand",e[e.RightHand=6]="RightHand",e[e.LeftThigh=7]="LeftThigh",e[e.RightThigh=8]="RightThigh",e[e.LeftFoot=9]="LeftFoot",e[e.RightFoot=10]="RightFoot",e[e.RightCalf=11]="RightCalf",e[e.LeftCalf=12]="LeftCalf",e[e.LeftForearm=13]="LeftForearm",e[e.RightForearm=14]="RightForearm",e[e.LeftClavicle=15]="LeftClavicle",e[e.RightClavicle=16]="RightClavicle",e[e.Neck=17]="Neck",e[e.Jaw=18]="Jaw",e))(He||{}),se=(e=>(e[e.NONE=0]="NONE",e[e.DUCK=1]="DUCK",e[e.USEJETPACK=2]="USEJETPACK",e[e.ENTER_VEHICLE=3]="ENTER_VEHICLE",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.DANCE1=5]="DANCE1",e[e.DANCE2=6]="DANCE2",e[e.DANCE3=7]="DANCE3",e[e.DANCE4=8]="DANCE4",e[e.HANDSUP=10]="HANDSUP",e[e.USECELLPHONE=11]="USECELLPHONE",e[e.SITTING=12]="SITTING",e[e.STOPUSECELLPHONE=13]="STOPUSECELLPHONE",e[e.DRINK_BEER=20]="DRINK_BEER",e[e.SMOKE_CIGGY=21]="SMOKE_CIGGY",e[e.DRINK_WINE=22]="DRINK_WINE",e[e.DRINK_SPRUNK=23]="DRINK_SPRUNK",e[e.CUFFED=24]="CUFFED",e[e.CARRY=25]="CARRY",e[e.PISSING=68]="PISSING",e))(se||{}),ee=(e=>(e[e.FONT_0=0]="FONT_0",e[e.FONT_1=1]="FONT_1",e[e.FONT_2=2]="FONT_2",e[e.FONT_3=3]="FONT_3",e[e.SPRITE_DRAW=4]="SPRITE_DRAW",e[e.MODEL_PREVIEW=5]="MODEL_PREVIEW",e[e.BANK=0]="BANK",e[e.STANDARD=1]="STANDARD",e[e.SPACEAGE=2]="SPACEAGE",e[e.HEADING=3]="HEADING",e[e.BECKETT_REGULAR=0]="BECKETT_REGULAR",e[e.AHARONI_BOLD=1]="AHARONI_BOLD",e[e.BANK_GOTHIC=2]="BANK_GOTHIC",e[e.PRICEDOWN=3]="PRICEDOWN",e[e.SPRITE=4]="SPRITE",e[e.PREVIEW=5]="PREVIEW",e))(ee||{}),xe=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(xe||{}),ve=(e=>(e[e.UNKNOWN_CARMODTYPE=-1]="UNKNOWN_CARMODTYPE",e[e.CARMODTYPE_NONE=-1]="CARMODTYPE_NONE",e[e.SPOILER=0]="SPOILER",e[e.HOOD=1]="HOOD",e[e.ROOF=2]="ROOF",e[e.SIDESKIRT=3]="SIDESKIRT",e[e.LAMPS=4]="LAMPS",e[e.NITRO=5]="NITRO",e[e.EXHAUST=6]="EXHAUST",e[e.WHEELS=7]="WHEELS",e[e.STEREO=8]="STEREO",e[e.HYDRAULICS=9]="HYDRAULICS",e[e.FRONT_BUMPER=10]="FRONT_BUMPER",e[e.REAR_BUMPER=11]="REAR_BUMPER",e[e.VENT_RIGHT=12]="VENT_RIGHT",e[e.VENT_LEFT=13]="VENT_LEFT",e))(ve||{}),Ve=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Ve||{}),Ue=(e=>(e[e.SIZE=1]="SIZE",e[e.FRONTSEAT=2]="FRONTSEAT",e[e.REARSEAT=3]="REARSEAT",e[e.PETROLCAP=4]="PETROLCAP",e[e.WHEELSFRONT=5]="WHEELSFRONT",e[e.WHEELSREAR=6]="WHEELSREAR",e[e.WHEELSMID=7]="WHEELSMID",e[e.FRONT_BUMPER_Z=8]="FRONT_BUMPER_Z",e[e.REAR_BUMPER_Z=9]="REAR_BUMPER_Z",e))(Ue||{}),We=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.REASON_VEHICLE=49]="REASON_VEHICLE",e[e.REASON_DROWN=53]="REASON_DROWN",e[e.REASON_COLLISION=54]="REASON_COLLISION",e[e.REASON_SPLAT=54]="REASON_SPLAT",e[e.REASON_CONNECT=200]="REASON_CONNECT",e[e.REASON_DISCONNECT=200]="REASON_DISCONNECT",e[e.REASON_SUICIDE=255]="REASON_SUICIDE",e[e.WEAPON_FIST=0]="WEAPON_FIST",e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NITESTICK=3]="NITESTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.NIGHT_VISION_GOGGLES=44]="NIGHT_VISION_GOGGLES",e[e.THERMAL_GOGGLES=45]="THERMAL_GOGGLES",e[e.PARACHUTE=46]="PARACHUTE",e))(We||{}),Ke=(e=>(e[e.PISTOL=0]="PISTOL",e[e.PISTOL_SILENCED=1]="PISTOL_SILENCED",e[e.DESERT_EAGLE=2]="DESERT_EAGLE",e[e.SHOTGUN=3]="SHOTGUN",e[e.SAWNOFF_SHOTGUN=4]="SAWNOFF_SHOTGUN",e[e.SPAS12_SHOTGUN=5]="SPAS12_SHOTGUN",e[e.MICRO_UZI=6]="MICRO_UZI",e[e.MP5=7]="MP5",e[e.AK47=8]="AK47",e[e.M4=9]="M4",e[e.SNIPERRIFLE=10]="SNIPERRIFLE",e))(Ke||{}),je=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.VEHICLE=2]="VEHICLE",e[e.OBJECT=3]="OBJECT",e[e.PLAYER_OBJECT=4]="PLAYER_OBJECT",e))(je||{}),Ze=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NO_BULLETS=0]="NO_BULLETS",e[e.LAST_BULLET=1]="LAST_BULLET",e[e.MORE_BULLETS=2]="MORE_BULLETS",e[e.RELOADING=3]="RELOADING",e))(Ze||{}),le=(e=>(e[e.VEHICLE=49]="VEHICLE",e[e.HELICOPTERBLADES=50]="HELICOPTERBLADES",e[e.EXPLOSION=51]="EXPLOSION",e[e.DROWN=53]="DROWN",e[e.COLLISION=54]="COLLISION",e[e.CONNECT=200]="CONNECT",e[e.DISCONNECT=201]="DISCONNECT",e[e.SUICIDE=255]="SUICIDE",e))(le||{}),Xe=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Xe||{});const p=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(r=>parseInt(r,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let n=0;return t.reverse().forEach((r,i)=>{r!==0&&(n+=Math.pow(16,i*2)*r)}),n},J=(e,t)=>{const n=t.replace("-","")==="utf8"?e:A.encodeToBuf(e,t);return[n instanceof Array?"a":"s",n]},ze=(e,t,n)=>{const r=J(n,e.charset);return a("SendClientMessage",`ii${r[0]}`,e.id,p(t),r[1])},Yr=(e,t,n)=>(e.forEach(r=>ze(r,t,n)),1),Ye=(e,t,n)=>{const r=J(n,e.charset);return a("SendPlayerMessageToPlayer",`ii${r[0]}`,e.id,t,r[1])},Jr=(e,t,n)=>(e.forEach(r=>Ye(r,t,n)),1),$r=(e,t,n)=>{const{charset:r}=e,{style:i,caption:d,info:o,button1:l,button2:_}=n,[S,m]=J(d||"",r),[,y]=J(o||"",r),[,P]=J(l||"",r),[,f]=J(_||"",r);return a("ShowPlayerDialog",`iii${S.repeat(4)}`,e.id,t,i,m,y,P,f)},Qr=e=>{const t=a("GetPlayerName","iAi",e.id,k.MAX_PLAYER_NAME);return A.decodeFromBuf(A.getValidStr(t),e.charset)},qr=(e,t)=>a("SetPlayerName","ia",e.id,A.encodeToBuf(t,e.charset)),ei=(e,t,n)=>{const r=A.encodeToBuf(t,n);return a("BanEx","ia",e,r)},ti=(e,t,n,r,i,d,o,l,_,S,m,y,P,f,D,B)=>{const x=A.encodeToBuf(t,e);return a("CreateDynamic3DTextLabel","aiffffiiiiiifii",x,n,r,i,d,o,l,_,S,m,y,P,f,D,B)},ni=(e,t,n,r,i,d,o,l,_,S,m,y,P,f,D,B)=>{const x=A.encodeToBuf(e,B);return a("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",x,t,n,r,i,d,o,l,_,S,m,y,P,f,D,m.length,y.length,P.length,f.length)},ri=(e,t,n,r)=>{const i=A.encodeToBuf(n,r);return a("UpdateDynamic3DTextLabelText","iia",e,t,i)},ii=(e,t)=>{const n=a("GetDynamic3DTextLabelText","iAi",e,1024);return A.decodeFromBuf(A.getValidStr(n),t)},ai=(e,t,n,r,i,d,o,l,_,S,m)=>{const y=A.encodeToBuf(r,e),P=A.encodeToBuf(d,e);return a("SetDynamicObjectMaterialText","iiaiaiiiii",t,n,y,i,P,o,l,_,S,m)},di=(e,t,n)=>{const[r,i,d,o,l,_,S]=a("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),m=A.decodeFromBuf(r,n),y=A.decodeFromBuf(d,n);return{text:m,materialSize:i,fontFace:y,bold:o,fontColor:l,backColor:_,textAlignment:S}},{callNative:a,callNativeFloat:W}=samp,oi=(e,t,n)=>a("SendDeathMessage","iii",e,t,n),si=(e,t,n,r)=>a("SendDeathMessageToPlayer","iiii",e,t,n,r),li=(e,t,n)=>a("GameTextForAll","sii",e,t,n),_i=e=>{a("HideGameTextForAll","i",e)},ci=(e,t,n,r)=>Boolean(a("GameTextForPlayer","isii",e,t,n,r)),hi=(e,t)=>Boolean(a("HasGameText","ii",e,t)),ui=(e,t)=>Boolean(a("HideGameTextForPlayer","ii",e,t)),Si=()=>a("GetMaxPlayers",""),gi=(e,t,n,r,i,d)=>W("VectorSize","ffffff",e,t,n,r,i,d),mi=()=>a("GetPlayerPoolSize",""),yi=()=>a("GetVehiclePoolSize",""),Ii=e=>a("SetGameModeText","s",e),Pi=e=>a("SetTeamCount","i",e),pi=(e,t,n,r,i,d,o,l,_,S,m)=>a("AddPlayerClass","iffffiiiiii",e,t,n,r,i,d,o,l,_,S,m),Ai=(e,t,n,r,i,d,o,l,_,S,m,y)=>a("AddPlayerClassEx","iiffffiiiiii",e,t,n,r,i,d,o,l,_,S,m,y),fi=(e,t,n,r,i,d,o)=>a("AddStaticVehicle","iffffii",e,t,n,r,i,d,o),Ei=(e,t,n,r,i,d,o,l,_)=>a("AddStaticVehicleEx","iffffiiii",e,t,n,r,i,d,o,l,_),Ci=e=>a("ShowNameTags","i",e),Ti=e=>a("ShowPlayerMarkers","i",e),Di=e=>a("SetWorldTime","i",e),Li=()=>a("EnableVehicleFriendlyFire",""),bi=e=>a("SetWeather","i",e),Ri=()=>W("GetGravity",""),Oi=e=>a("SetGravity","f",e),Bi=(e,t,n,r,i)=>a("CreateExplosion","fffif",e,t,n,r,i),wi=e=>a("EnableZoneNames","i",e),Gi=()=>a("UsePlayerPedAnims",""),ki=()=>a("DisableInteriorEnterExits",""),Fi=e=>a("SetNameTagDrawDistance","f",e),Mi=()=>a("DisableNameTagLOS",""),Ni=e=>a("LimitGlobalChatRadius","f",e),Hi=e=>a("LimitPlayerMarkerRadius","f",e),xi=(e,t)=>a("ConnectNPC","ss",e,t),vi=e=>Boolean(a("IsPlayerNPC","i",e)),Vi=e=>Boolean(a("IsPlayerAdmin","i",e)),Ui=e=>a("Kick","i",e),Wi=e=>a("Ban","i",e),Ki=e=>a("SendRconCommand","s",e),ji=e=>a("GetPlayerNetworkStats","iSi",e,1024),Zi=()=>a("GetNetworkStats","Si",1024),Xi=(e,t)=>a("BlockIpAddress","si",e,t),zi=e=>a("UnBlockIpAddress","s",e),Yi=()=>a("GetServerTickRate",""),Ji=e=>a("NetStats_GetConnectedTime","i",e),$i=e=>a("NetStats_MessagesReceived","i",e),Qi=e=>a("NetStats_BytesReceived","i",e),qi=e=>a("NetStats_MessagesSent","i",e),ea=e=>a("NetStats_BytesSent","i",e),ta=e=>a("NetStats_MessagesRecvPerSecond","i",e),na=e=>W("NetStats_PacketLossPercent","i",e),ra=e=>a("NetStats_ConnectionStatus","i",e),ia=(e,t,n,r,i,d)=>a("CreateMenu","siffff",e,t,n,r,i,d),aa=e=>a("DestroyMenu","i",e),da=(e,t,n)=>a("AddMenuItem","iis",e,t,n),oa=(e,t,n)=>a("SetMenuColumnHeader","iis",e,t,n),sa=(e,t)=>a("ShowMenuForPlayer","ii",e,t),la=(e,t)=>a("HideMenuForPlayer","ii",e,t),_a=e=>Boolean(a("IsValidMenu","i",e)),ca=e=>a("DisableMenu","i",e),ha=(e,t)=>a("DisableMenuRow","ii",e,t),ua=e=>a("GetPlayerMenu","i",e),Sa=(e,t,n)=>a("TextDrawCreate","ffs",e,t,n),ga=e=>a("TextDrawDestroy","i",e),ma=(e,t,n)=>a("TextDrawLetterSize","iff",e,t,n),ya=(e,t,n)=>a("TextDrawTextSize","iff",e,t,n),Ia=(e,t)=>a("TextDrawAlignment","ii",e,t),Pa=(e,t)=>Boolean(a("TextDrawColor","ii",e,p(t))),pa=(e,t)=>a("TextDrawUseBox","ii",e,t),Aa=(e,t)=>Boolean(a("TextDrawBoxColor","ii",e,p(t))),fa=(e,t)=>a("TextDrawSetShadow","ii",e,t),Ea=(e,t)=>a("TextDrawSetOutline","ii",e,t),Ca=(e,t)=>Boolean(a("TextDrawBackgroundColor","ii",e,p(t))),Ta=(e,t)=>a("TextDrawFont","ii",e,t),Da=(e,t)=>a("TextDrawSetProportional","ii",e,t),La=(e,t)=>a("TextDrawSetSelectable","ii",e,t),ba=(e,t)=>a("TextDrawShowForPlayer","ii",e,t),Ra=(e,t)=>a("TextDrawHideForPlayer","ii",e,t),Oa=e=>a("TextDrawShowForAll","i",e),Ba=e=>a("TextDrawHideForAll","i",e),wa=(e,t)=>a("TextDrawSetString","is",e,t),Ga=(e,t)=>a("TextDrawSetPreviewModel","ii",e,t),ka=(e,t,n,r,i=1)=>{a("TextDrawSetPreviewRot","iffff",e,t,n,r,i)},Fa=(e,t,n)=>Boolean(a("TextDrawSetPreviewVehCol","iii",e,p(t),p(n))),Ma=(e,t,n,r)=>a("GangZoneCreate","ffff",e,t,n,r),Na=e=>a("GangZoneDestroy","i",e),Ha=(e,t,n)=>a("GangZoneShowForPlayer","iii",e,t,p(n)),xa=(e,t)=>a("GangZoneShowForAll","ii",e,p(t)),va=(e,t)=>a("GangZoneHideForPlayer","ii",e,t),Va=e=>a("GangZoneHideForAll","i",e),Ua=(e,t,n)=>a("GangZoneFlashForPlayer","iii",e,t,p(n)),Wa=(e,t)=>a("GangZoneFlashForAll","ii",e,p(t)),Ka=(e,t)=>a("GangZoneStopFlashForPlayer","ii",e,t),ja=e=>a("GangZoneStopFlashForAll","i",e),Za=(e,t)=>A.decodeFromBuf(A.getValidStr(a("gpci","iAi",e,41)),t),Xa=e=>Boolean(a("BeginObjectSelecting","i",e)),za=e=>Boolean(a("EndObjectEditing","i",e)),Ya=e=>Boolean(a("SetObjectsDefaultCameraCol","i",e)),Ja=(e,t,n,r,i,d,o,l,_,S,m,y,P)=>a("SetSpawnInfo","iiiffffiiiiii",e,t,n,r,i,d,o,l,_,S,m,y,P),$a=e=>a("SpawnPlayer","i",e),Je=(e,t,n,r)=>a("SetPlayerPos","ifff",e,t,n,r),Qa=(e,t,n,r)=>a("SetPlayerPosFindZ","ifff",e,t,n,r),qa=e=>a("GetPlayerPos","iFFF",e),ed=(e,t)=>a("SetPlayerFacingAngle","if",e,t),td=e=>a("GetPlayerFacingAngle","iF",e),nd=(e,t,n,r,i)=>Boolean(a("IsPlayerInRangeOfPoint","iffff",e,t,n,r,i)),rd=(e,t,n,r)=>W("GetPlayerDistanceFromPoint","ifff",e,t,n,r),id=(e,t)=>Boolean(a("IsPlayerStreamedIn","ii",e,t)),ad=(e,t)=>a("SetPlayerInterior","ii",e,t),dd=e=>a("GetPlayerInterior","i",e),od=(e,t)=>a("SetPlayerHealth","if",e,t),sd=e=>a("GetPlayerHealth","iF",e),ld=(e,t)=>a("SetPlayerArmour","if",e,t),_d=e=>a("GetPlayerArmour","iF",e),cd=(e,t,n)=>a("SetPlayerAmmo","iii",e,t,n),hd=e=>a("GetPlayerAmmo","i",e),ud=e=>a("GetPlayerWeaponState","i",e),Sd=e=>a("GetPlayerTargetPlayer","i",e),gd=(e,t)=>{a("SetPlayerTeam","ii",e,t)},md=e=>a("GetPlayerTeam","i",e),yd=(e,t)=>a("SetPlayerScore","ii",e,t),Id=e=>a("GetPlayerScore","i",e),Pd=e=>a("GetPlayerDrunkLevel","i",e),pd=(e,t)=>a("SetPlayerDrunkLevel","ii",e,t),Ad=(e,t)=>a("SetPlayerColor","ii",e,p(t)),fd=e=>a("GetPlayerColor","i",e),Ed=(e,t)=>a("SetPlayerSkin","ii",e,t),Cd=e=>a("GetPlayerSkin","i",e),Td=(e,t,n)=>a("GivePlayerWeapon","iii",e,t,n),Dd=e=>a("ResetPlayerWeapons","i",e),Ld=(e,t)=>a("SetPlayerArmedWeapon","ii",e,t),bd=(e,t)=>a("GetPlayerWeaponData","iiII",e,t),Rd=(e,t)=>a("GivePlayerMoney","ii",e,t),Od=e=>a("ResetPlayerMoney","i",e),Bd=e=>a("GetPlayerMoney","i",e),wd=e=>a("GetPlayerState","i",e),Gd=e=>a("GetPlayerPing","i",e),kd=e=>a("GetPlayerWeapon","i",e),Fd=e=>a("GetPlayerKeys","iIII",e),Md=(e,t,n)=>a("SetPlayerTime","iii",e,t,n),Nd=e=>a("GetPlayerTime","iII",e),Hd=(e,t)=>a("TogglePlayerClock","ii",e,t),xd=(e,t)=>a("SetPlayerWeather","ii",e,t),vd=e=>a("ForceClassSelection","i",e),Vd=(e,t)=>a("SetPlayerWantedLevel","ii",e,t),Ud=e=>a("GetPlayerWantedLevel","i",e),Wd=(e,t)=>a("SetPlayerFightingStyle","ii",e,t),Kd=e=>a("GetPlayerFightingStyle","i",e),jd=(e,t,n,r)=>a("SetPlayerVelocity","ifff",e,t,n,r),Zd=e=>a("GetPlayerVelocity","iFFF",e),Xd=(e,t,n)=>a("PlayCrimeReportForPlayer","iii",e,t,n),zd=(e,t,n,r,i,d,o=!1)=>a("PlayAudioStreamForPlayer","isffffi",e,t,n,r,i,d,o),Yd=e=>a("StopAudioStreamForPlayer","i",e),Jd=(e,t)=>a("SetPlayerShopName","is",e,t),$d=(e,t,n)=>a("SetPlayerSkillLevel","iii",e,t,n),Qd=e=>a("GetPlayerSurfingVehicleID","i",e),qd=e=>a("GetPlayerSurfingObjectID","i",e),eo=e=>a("GetPlayerSurfingPlayerObjectID","i",e),to=(e,t,n,r,i,d)=>a("RemoveBuildingForPlayer","iiffff",e,t,n,r,i,d),no=e=>a("GetPlayerLastShotVectors","iFFFFFF",e),ro=(e,t,n,r,i,d,o,l,_,S,m,y,P,f,D)=>a("SetPlayerAttachedObject","iiiifffffffffii",e,t,n,r,i,d,o,l,_,S,m,y,P,p(f),p(D)),io=(e,t)=>a("RemovePlayerAttachedObject","ii",e,t),ao=(e,t)=>Boolean(a("IsPlayerAttachedObjectSlotUsed","ii",e,t)),oo=(e,t,n,r)=>a("CreatePlayerTextDraw","iffs",e,t,n,r),so=(e,t)=>{a("PlayerTextDrawDestroy","ii",e,t)},lo=(e,t,n,r)=>a("PlayerTextDrawLetterSize","iiff",e,t,n,r),_o=(e,t,n)=>a("PlayerTextDrawAlignment","iii",e,t,n),co=(e,t,n)=>Boolean(a("PlayerTextDrawColor","iii",e,t,p(n))),ho=(e,t,n)=>a("PlayerTextDrawUseBox","iii",e,t,n),uo=(e,t,n)=>Boolean(a("PlayerTextDrawBoxColor","iii",e,t,p(n))),So=(e,t,n)=>a("PlayerTextDrawSetShadow","iii",e,t,n),go=(e,t,n)=>a("PlayerTextDrawSetOutline","iii",e,t,n),mo=(e,t,n)=>Boolean(a("PlayerTextDrawBackgroundColor","iii",e,t,p(n))),yo=(e,t,n)=>a("PlayerTextDrawFont","iii",e,t,n),Io=(e,t,n)=>a("PlayerTextDrawSetProportional","iii",e,t,n),Po=(e,t,n)=>a("PlayerTextDrawSetSelectable","iii",e,t,n),po=(e,t)=>a("PlayerTextDrawShow","ii",e,t),Ao=(e,t)=>a("PlayerTextDrawHide","ii",e,t),fo=(e,t,n)=>a("PlayerTextDrawSetString","iis",e,t,n),Eo=(e,t,n)=>a("PlayerTextDrawSetPreviewModel","iii",e,t,n),Co=(e,t,n,r,i,d)=>a("PlayerTextDrawSetPreviewRot","iiffff",e,t,n,r,i,d),To=(e,t,n,r)=>Boolean(a("PlayerTextDrawSetPreviewVehCol","iiii",e,t,n,r)),Do=(e,t,n,r,i)=>a("SetPlayerChatBubble","isifi",e,t,p(n),r,i),Lo=(e,t,n)=>a("PutPlayerInVehicle","iii",e,t,n),bo=e=>a("GetPlayerVehicleID","i",e),Ro=e=>a("GetPlayerVehicleSeat","i",e),Oo=e=>a("RemovePlayerFromVehicle","i",e),Bo=(e,t)=>a("TogglePlayerControllable","ii",e,t),wo=(e,t,n,r,i)=>a("PlayerPlaySound","iifff",e,t,n,r,i),Go=(e,t,n,r,i,d,o,l,_,S)=>a("ApplyAnimation","issfiiiiii",e,t,n,r,i,d,o,l,_,S),ko=(e,t)=>a("ClearAnimations","ii",e,t),Fo=e=>a("GetPlayerAnimationIndex","i",e),Mo=e=>a("GetPlayerSpecialAction","i",e),No=(e,t)=>a("SetPlayerSpecialAction","ii",e,t),Ho=(e,t)=>a("DisableRemoteVehicleCollisions","ii",e,t),xo=(e,t,n,r,i)=>a("SetPlayerWorldBounds","iffff",e,t,n,r,i),vo=(e,t,n)=>a("SetPlayerMarkerForPlayer","iii",e,t,p(n)),Vo=(e,t,n)=>a("ShowPlayerNameTagForPlayer","iii",e,t,n),Uo=(e,t,n,r)=>a("SetPlayerCameraPos","ifff",e,t,n,r),Wo=(e,t,n,r,i)=>a("SetPlayerCameraLookAt","ifffi",e,t,n,r,i),Ko=e=>a("SetCameraBehindPlayer","i",e),jo=e=>a("GetPlayerCameraPos","iFFF",e),Zo=e=>a("GetPlayerCameraFrontVector","iFFF",e),Xo=e=>a("GetPlayerCameraMode","i",e),zo=(e,t)=>a("EnablePlayerCameraTarget","ii",e,t),Yo=e=>a("GetPlayerCameraTargetVehicle","i",e),Jo=e=>a("GetPlayerCameraTargetPlayer","i",e),$o=e=>W("GetPlayerCameraAspectRatio","i",e),Qo=e=>W("GetPlayerCameraZoom","i",e),qo=(e,t,n,r,i,d,o,l,_)=>a("InterpolateCameraPos","iffffffii",e,t,n,r,i,d,o,l,_),es=(e,t,n,r,i,d,o,l,_)=>a("InterpolateCameraLookAt","iffffffii",e,t,n,r,i,d,o,l,_),$e=e=>Boolean(a("IsPlayerConnected","i",e)),ts=(e,t)=>Boolean(a("IsPlayerInVehicle","ii",e,t)),ns=e=>Boolean(a("IsPlayerInAnyVehicle","i",e)),rs=(e,t)=>a("SetPlayerVirtualWorld","ii",e,t),is=e=>a("GetPlayerVirtualWorld","i",e),as=(e,t)=>a("EnableStuntBonusForPlayer","ii",e,t),ds=e=>a("EnableStuntBonusForAll","i",e),os=(e,t)=>a("TogglePlayerSpectating","ii",e,t),ss=(e,t,n)=>a("PlayerSpectatePlayer","iii",e,t,n),ls=(e,t,n)=>a("PlayerSpectateVehicle","iii",e,t,n),_s=(e,t,n)=>a("StartRecordingPlayerData","iis",e,t,n),cs=e=>a("StopRecordingPlayerData","i",e),hs=(e,t)=>{a("SelectTextDraw","ii",e,p(t))},us=e=>{a("CancelSelectTextDraw","i",e)},Ss=(e,t,n,r,i,d)=>a("CreateExplosionForPlayer","ifffif",e,t,n,r,i,d),gs=(e,t,n,r,i)=>a("SendClientCheck","iiiii",e,t,n,r,i),ms=(e,t,n,r,i,d,o,l,_)=>a("CreateVehicle","iffffiiii",e,t,n,r,i,p(d),p(o),l,_),ys=e=>a("DestroyVehicle","i",e),Is=(e,t)=>Boolean(a("IsVehicleStreamedIn","ii",e,t)),Ps=e=>{const t=a("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},ps=(e,t,n,r)=>a("SetVehiclePos","ifff",e,t,n,r),As=e=>a("GetVehicleZAngle","iF",e),fs=e=>a("GetVehicleRotationQuat","iFFFF",e),Es=(e,t,n,r)=>W("GetVehicleDistanceFromPoint","ifff",e,t,n,r),Cs=(e,t)=>a("SetVehicleZAngle","if",e,t),Ts=(e,t,n,r)=>a("SetVehicleParamsForPlayer","iiii",e,t,n,r),Ds=()=>a("ManualVehicleEngineAndLights",""),Ls=(e,t,n,r,i,d,o,l)=>a("SetVehicleParamsEx","iiiiiiii",e,t,n,r,i,d,o,l),bs=e=>a("GetVehicleParamsEx","iIIIIIII",e),Rs=e=>a("GetVehicleParamsSirenState","i",e),Os=(e,t,n,r,i)=>a("SetVehicleParamsCarDoors","iiiii",e,t,n,r,i),Bs=e=>{const t=a("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},ws=(e,t,n,r,i)=>a("SetVehicleParamsCarWindows","iiiii",e,t,n,r,i),Gs=e=>{const t=a("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},ks=e=>a("SetVehicleToRespawn","i",e),Fs=(e,t)=>a("LinkVehicleToInterior","ii",e,t),Ms=(e,t)=>a("AddVehicleComponent","ii",e,t),Ns=(e,t)=>a("RemoveVehicleComponent","ii",e,t),Hs=(e,t,n)=>a("ChangeVehicleColor","iii",e,p(t),p(n)),xs=(e,t)=>a("ChangeVehiclePaintjob","ii",e,t),vs=(e,t)=>a("SetVehicleHealth","if",e,t),Vs=e=>a("GetVehicleHealth","iF",e),Us=(e,t)=>a("AttachTrailerToVehicle","ii",e,t),Ws=e=>a("DetachTrailerFromVehicle","i",e),Ks=e=>Boolean(a("IsTrailerAttachedToVehicle","i",e)),js=e=>a("GetVehicleTrailer","i",e),Zs=(e,t)=>a("SetVehicleNumberPlate","is",e,t),Xs=e=>a("GetVehicleModel","i",e),zs=(e,t)=>a("GetVehicleComponentInSlot","ii",e,t),Ys=e=>a("GetVehicleComponentType","i",e),Js=e=>a("RepairVehicle","i",e),$s=e=>a("GetVehicleVelocity","iFFF",e),Qs=(e,t,n,r)=>a("SetVehicleVelocity","ifff",e,t,n,r),qs=(e,t,n,r)=>a("SetVehicleAngularVelocity","ifff",e,t,n,r),el=e=>{const t=a("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},tl=(e,t,n,r,i)=>a("UpdateVehicleDamageStatus","iiiii",e,t,n,r,i),nl=(e,t)=>{const n=a("GetVehicleModelInfo","iiFFF",e,t);if(n.length<3)throw new Error("ModelID "+e+" not found");return{x:n[0],y:n[1],z:n[2]}},rl=(e,t)=>a("SetVehicleVirtualWorld","ii",e,t),il=e=>a("GetVehicleVirtualWorld","i",e),Qe=e=>Boolean(a("IsValidVehicle","i",e)),al=(e,t)=>a("StartRecordingPlayback","is",e,t),dl=()=>a("StopRecordingPlayback",""),ol=()=>a("PauseRecordingPlayback",""),sl=()=>a("ResumeRecordingPlayback",""),ll=e=>a("GetPlayerCustomSkin","i",e),_l=(e,t)=>a("RedirectDownload","is",e,t),cl=(e,t,n,r,i)=>a("AddSimpleModel","iiiss",e,t,n,r,i),hl=(e,t,n,r,i,d,o)=>a("AddSimpleModelTimed","iiissii",e,t,n,r,i,d,o),ul=e=>a("GetWeaponName","iSi",e,32),Sl=e=>a("NetStats_GetIpPort","iSi",e,128+6),gl=e=>a("GetPlayerIp","iSi",e,128),ml=e=>a("GetAnimationName","iSiSi",e,32,32),yl=e=>a("GetPlayerVersion","iSi",e,24),Il=e=>a("FindModelFileNameFromCRC","iSi",e,255),Pl=e=>a("FindTextureFileNameFromCRC","iSi",e,255);class M{constructor(){}static recordStatus;static connectNPC=xi;static startRecordingPlayerData(t,n,r){if(t.isRecording)return s.warn("[NpcFunc]: It should be stopped before recording");_s(t.id,n,r),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return s.warn("[NpcFunc]: It should be started before stop");cs(t.id),t.isRecording=!1}static startRecordingPlayback(t,n){if(M.recordStatus>=F.start)return s.warn("[NpcFunc]: The current status cannot be replayed");al(t,n),M.recordStatus=F.start}static stopRecordingPlayback(){if(M.recordStatus<F.start)return s.warn("[NpcFunc]: The current status cannot be stopped");dl(),M.recordStatus=F.none}static pauseRecordingPlayback(){if(M.recordStatus!==F.start)return s.warn("[NpcFunc]: The current status cannot be paused");ol(),M.recordStatus=F.pause}static resumeRecordingPlayback(){if(M.recordStatus!==F.pause)return s.warn("[NpcFunc]: The current status cannot be paused");sl(),M.recordStatus=F.start}}const pl=new Map([["AIRPORT",[{n:"thrw_barl_thrw",d:2}]],["Attractors",[{n:"Stepsit_in",d:1.67},{n:"Stepsit_loop",d:3.33},{n:"Stepsit_out",d:1.67}]],["BAR",[{n:"Barcustom_get",d:3},{n:"Barcustom_loop",d:2},{n:"Barcustom_order",d:3.67},{n:"BARman_idle",d:8.33},{n:"Barserve_bottle",d:3},{n:"Barserve_give",d:2.33},{n:"Barserve_glass",d:3.67},{n:"Barserve_in",d:1.67},{n:"Barserve_loop",d:2.33},{n:"Barserve_order",d:3.67},{n:"dnk_stndF_loop",d:2.33},{n:"dnk_stndM_loop",d:2.33}]],["BASEBALL",[{n:"Bat_1",d:.9},{n:"Bat_2",d:1.13},{n:"Bat_3",d:1.2},{n:"Bat_4",d:1},{n:"Bat_block",d:.47},{n:"Bat_Hit_1",d:.83},{n:"Bat_Hit_2",d:1.07},{n:"Bat_Hit_3",d:1.13},{n:"Bat_IDLE",d:.93},{n:"Bat_M",d:.53},{n:"BAT_PART",d:.53}]],["BD_FIRE",[{n:"BD_Fire1",d:1.83},{n:"BD_Fire2",d:1.67},{n:"BD_Fire3",d:1.83},{n:"BD_GF_Wave",d:5.07},{n:"BD_Panic_01",d:3.33},{n:"BD_Panic_02",d:3.33},{n:"BD_Panic_03",d:3.33},{n:"BD_Panic_04",d:3.33},{n:"BD_Panic_Loop",d:3.33},{n:"Grlfrd_Kiss_03",d:7},{n:"M_smklean_loop",d:5},{n:"Playa_Kiss_03",d:7},{n:"wash_up",d:3}]],["BEACH",[{n:"bather",d:4.2},{n:"Lay_Bac_Loop",d:2.67},{n:"ParkSit_M_loop",d:3.67},{n:"ParkSit_W_loop",d:3.33},{n:"SitnWait_loop_W",d:1.33}]],["benchpress",[{n:"gym_bp_celebrate",d:5},{n:"gym_bp_down",d:1},{n:"gym_bp_getoff",d:8.67},{n:"gym_bp_geton",d:5.33},{n:"gym_bp_up_A",d:2.33},{n:"gym_bp_up_B",d:2.67},{n:"gym_bp_up_smooth",d:1.33}]],["BF_injection",[{n:"BF_getin_LHS",d:1},{n:"BF_getin_RHS",d:1},{n:"BF_getout_LHS",d:1.13},{n:"BF_getout_RHS",d:1.13}]],["BIKED",[{n:"BIKEd_Back",d:.1},{n:"BIKEd_drivebyFT",d:.2},{n:"BIKEd_drivebyLHS",d:.2},{n:"BIKEd_drivebyRHS",d:.2},{n:"BIKEd_Fwd",d:.2},{n:"BIKEd_getoffBACK",d:1.47},{n:"BIKEd_getoffLHS",d:1},{n:"BIKEd_getoffRHS",d:1},{n:"BIKEd_hit",d:.03},{n:"BIKEd_jumponL",d:.97},{n:"BIKEd_jumponR",d:.97},{n:"BIKEd_kick",d:1.07},{n:"BIKEd_Left",d:.1},{n:"BIKEd_passenger",d:.03},{n:"BIKEd_pushes",d:.8},{n:"BIKEd_Ride",d:.03},{n:"BIKEd_Right",d:.1},{n:"BIKEd_shuffle",d:.43},{n:"BIKEd_Still",d:.03}]],["BIKEH",[{n:"BIKEh_Back",d:.1},{n:"BIKEh_drivebyFT",d:.2},{n:"BIKEh_drivebyLHS",d:.2},{n:"BIKEh_drivebyRHS",d:.2},{n:"BIKEh_Fwd",d:.2},{n:"BIKEh_getoffBACK",d:1.7},{n:"BIKEh_getoffLHS",d:.77},{n:"BIKEh_getoffRHS",d:.73},{n:"BIKEh_hit",d:.03},{n:"BIKEh_jumponL",d:1.47},{n:"BIKEh_jumponR",d:1.5},{n:"BIKEh_kick",d:1.07},{n:"BIKEh_Left",d:.13},{n:"BIKEh_passenger",d:.03},{n:"BIKEh_pushes",d:.97},{n:"BIKEh_Ride",d:.03},{n:"BIKEh_Right",d:.13},{n:"BIKEh_Still",d:.03}]],["BIKELEAP",[{n:"bk_blnce_in",d:1.9},{n:"bk_blnce_out",d:1},{n:"bk_jmp",d:.4},{n:"bk_rdy_in",d:.5},{n:"bk_rdy_out",d:.4},{n:"struggle_cesar",d:.47},{n:"struggle_driver",d:.47},{n:"truck_driver",d:.73},{n:"truck_getin",d:2.5}]],["BIKES",[{n:"BIKEs_Back",d:.1},{n:"BIKEs_drivebyFT",d:.2},{n:"BIKEs_drivebyLHS",d:.2},{n:"BIKEs_drivebyRHS",d:.2},{n:"BIKEs_Fwd",d:.2},{n:"BIKEs_getoffBACK",d:2.43},{n:"BIKEs_getoffLHS",d:1.1},{n:"BIKEs_getoffRHS",d:1.1},{n:"BIKEs_hit",d:.03},{n:"BIKEs_jumponL",d:.9},{n:"BIKEs_jumponR",d:.9},{n:"BIKEs_kick",d:1},{n:"BIKEs_Left",d:.1},{n:"BIKEs_passenger",d:.03},{n:"BIKEs_pushes",d:.73},{n:"BIKEs_Ride",d:.03},{n:"BIKEs_Right",d:.1},{n:"BIKEs_Snatch_L",d:.43},{n:"BIKEs_Snatch_R",d:.43},{n:"BIKEs_Still",d:.03}]],["BIKEV",[{n:"BIKEv_Back",d:.17},{n:"BIKEv_drivebyFT",d:.17},{n:"BIKEv_drivebyLHS",d:.23},{n:"BIKEv_drivebyRHS",d:.2},{n:"BIKEv_Fwd",d:.2},{n:"BIKEv_getoffBACK",d:1.7},{n:"BIKEv_getoffLHS",d:.67},{n:"BIKEv_getoffRHS",d:.67},{n:"BIKEv_hit",d:.03},{n:"BIKEv_jumponL",d:.67},{n:"BIKEv_jumponR",d:.67},{n:"BIKEv_kick",d:1},{n:"BIKEv_Left",d:.1},{n:"BIKEv_passenger",d:.03},{n:"BIKEv_pushes",d:.73},{n:"BIKEv_Ride",d:.03},{n:"BIKEv_Right",d:.1},{n:"BIKEv_Still",d:.03}]],["BIKE_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["BLOWJOBZ",[{n:"BJ_Car_End_P",d:4.13},{n:"BJ_Car_End_W",d:3.67},{n:"BJ_Car_Loop_P",d:.67},{n:"BJ_Car_Loop_W",d:.67},{n:"BJ_Car_Start_P",d:2.33},{n:"BJ_Car_Start_W",d:2.33},{n:"BJ_Couch_End_P",d:7.67},{n:"BJ_Couch_End_W",d:7.67},{n:"BJ_Couch_Loop_P",d:2},{n:"BJ_Couch_Loop_W",d:2},{n:"BJ_Couch_Start_P",d:5.33},{n:"BJ_Couch_Start_W",d:5.33},{n:"BJ_Stand_End_P",d:4.87},{n:"BJ_Stand_End_W",d:5.33},{n:"BJ_Stand_Loop_P",d:.67},{n:"BJ_Stand_Loop_W",d:.67},{n:"BJ_Stand_Start_P",d:2},{n:"BJ_Stand_Start_W",d:2}]],["BMX",[{n:"BMX_back",d:.1},{n:"BMX_bunnyhop",d:.33},{n:"BMX_drivebyFT",d:.2},{n:"BMX_driveby_LHS",d:.2},{n:"BMX_driveby_RHS",d:.2},{n:"BMX_fwd",d:.13},{n:"BMX_getoffBACK",d:1.37},{n:"BMX_getoffLHS",d:.73},{n:"BMX_getoffRHS",d:.63},{n:"BMX_jumponL",d:.9},{n:"BMX_jumponR",d:.9},{n:"BMX_Left",d:.13},{n:"BMX_pedal",d:.73},{n:"BMX_pushes",d:.8},{n:"BMX_Ride",d:.03},{n:"BMX_Right",d:.13},{n:"BMX_sprint",d:.67},{n:"BMX_still",d:.03}]],["BOMBER",[{n:"BOM_Plant",d:2.67},{n:"BOM_Plant_2Idle",d:1},{n:"BOM_Plant_Crouch_In",d:.8},{n:"BOM_Plant_Crouch_Out",d:.8},{n:"BOM_Plant_In",d:.87},{n:"BOM_Plant_Loop",d:.8}]],["BOX",[{n:"boxhipin",d:6.53},{n:"boxhipup",d:5},{n:"boxshdwn",d:6.1},{n:"boxshup",d:5.2},{n:"bxhipwlk",d:1.5},{n:"bxhwlki",d:.97},{n:"bxshwlk",d:2.5},{n:"bxshwlki",d:.97},{n:"bxwlko",d:.53},{n:"catch_box",d:1.5}]],["BSKTBALL",[{n:"BBALL_def_jump_shot",d:1.17},{n:"BBALL_def_loop",d:1},{n:"BBALL_def_stepL",d:.6},{n:"BBALL_def_stepR",d:.6},{n:"BBALL_Dnk",d:1.4},{n:"BBALL_Dnk_Gli",d:.37},{n:"BBALL_Dnk_Gli_O",d:.37},{n:"BBALL_Dnk_Lnch",d:.2},{n:"BBALL_Dnk_Lnch_O",d:.2},{n:"BBALL_Dnk_Lnd",d:.93},{n:"BBALL_Dnk_O",d:.1},{n:"BBALL_idle",d:2.43},{n:"BBALL_idle2",d:2.67},{n:"BBALL_idle2_O",d:2.67},{n:"BBALL_idleloop",d:.67},{n:"BBALL_idleloop_O",d:.67},{n:"BBALL_idle_O",d:2.43},{n:"BBALL_Jump_Cancel",d:1.07},{n:"BBALL_Jump_Cancel_O",d:1.07},{n:"BBALL_Jump_End",d:.93},{n:"BBALL_Jump_Shot",d:1.67},{n:"BBALL_Jump_Shot_O",d:.67},{n:"BBALL_Net_Dnk_O",d:1.83},{n:"BBALL_pickup",d:1.83},{n:"BBALL_pickup_O",d:1.83},{n:"BBALL_react_miss",d:.8},{n:"BBALL_react_score",d:1.1},{n:"BBALL_run",d:.9},{n:"BBALL_run_O",d:.9},{n:"BBALL_SkidStop_L",d:.5},{n:"BBALL_SkidStop_L_O",d:.5},{n:"BBALL_SkidStop_R",d:.5},{n:"BBALL_SkidStop_R_O",d:.5},{n:"BBALL_walk",d:1.07},{n:"BBALL_WalkStop_L",d:.5},{n:"BBALL_WalkStop_L_O",d:.5},{n:"BBALL_WalkStop_R",d:.5},{n:"BBALL_WalkStop_R_O",d:.5},{n:"BBALL_walk_O",d:1.07},{n:"BBALL_walk_start",d:.2},{n:"BBALL_walk_start_O",d:.2}]],["BUDDY",[{n:"buddy_crouchfire",d:.87},{n:"buddy_crouchreload",d:1.1},{n:"buddy_fire",d:.8},{n:"buddy_fire_poor",d:1.33},{n:"buddy_reload",d:1.3}]],["BUS",[{n:"BUS_close",d:.4},{n:"BUS_getin_LHS",d:.33},{n:"BUS_getin_RHS",d:2.17},{n:"BUS_getout_LHS",d:.8},{n:"BUS_getout_RHS",d:1.87},{n:"BUS_jacked_LHS",d:1.13},{n:"BUS_open",d:1.47},{n:"BUS_open_RHS",d:1.2},{n:"BUS_pullout_LHS",d:.8}]],["CAMERA",[{n:"camcrch_cmon",d:2.33},{n:"camcrch_idleloop",d:2},{n:"camcrch_stay",d:2},{n:"camcrch_to_camstnd",d:1.33},{n:"camstnd_cmon",d:3},{n:"camstnd_idleloop",d:2},{n:"camstnd_lkabt",d:4.33},{n:"camstnd_to_camcrch",d:1},{n:"piccrch_in",d:1.33},{n:"piccrch_out",d:2},{n:"piccrch_take",d:1},{n:"picstnd_in",d:1},{n:"picstnd_out",d:.67},{n:"picstnd_take",d:1}]],["CAR",[{n:"Fixn_Car_Loop",d:5},{n:"Fixn_Car_Out",d:2.33},{n:"flag_drop",d:4.5},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33},{n:"Tyd2car_bump",d:.83},{n:"Tyd2car_high",d:8},{n:"Tyd2car_low",d:6.67},{n:"Tyd2car_med",d:6.67},{n:"Tyd2car_TurnL",d:1},{n:"Tyd2car_TurnR",d:1}]],["CARRY",[{n:"crry_prtial",d:.03},{n:"liftup",d:1.53},{n:"liftup05",d:.63},{n:"liftup105",d:.67},{n:"putdwn",d:1.13},{n:"putdwn05",d:.67},{n:"putdwn105",d:.53}]],["CAR_CHAT",[{n:"carfone_in",d:6},{n:"carfone_loopA",d:4},{n:"carfone_loopA_to_B",d:1},{n:"carfone_loopB",d:5},{n:"carfone_loopB_to_A",d:.67},{n:"carfone_out",d:3},{n:"CAR_Sc1_BL",d:11.67},{n:"CAR_Sc1_BR",d:11.67},{n:"CAR_Sc1_FL",d:11.67},{n:"CAR_Sc1_FR",d:11.67},{n:"CAR_Sc2_FL",d:5},{n:"CAR_Sc3_BR",d:10.83},{n:"CAR_Sc3_FL",d:10.83},{n:"CAR_Sc3_FR",d:10.83},{n:"CAR_Sc4_BL",d:4.4},{n:"CAR_Sc4_BR",d:6.53},{n:"CAR_Sc4_FL",d:10},{n:"CAR_Sc4_FR",d:10},{n:"car_talkm_in",d:1.67},{n:"car_talkm_loop",d:4.33},{n:"car_talkm_out",d:7.33}]],["CASINO",[{n:"cards_in",d:.67},{n:"cards_loop",d:3.33},{n:"cards_lose",d:3.33},{n:"cards_out",d:.67},{n:"cards_pick_01",d:4.67},{n:"cards_pick_02",d:5.33},{n:"cards_raise",d:1.67},{n:"cards_win",d:3},{n:"dealone",d:.8},{n:"manwinb",d:1.5},{n:"manwind",d:1.67},{n:"Roulette_bet",d:2.33},{n:"Roulette_in",d:.67},{n:"Roulette_loop",d:3.67},{n:"Roulette_lose",d:2.67},{n:"Roulette_out",d:.67},{n:"Roulette_win",d:2.33},{n:"Slot_bet_01",d:4.67},{n:"Slot_bet_02",d:2},{n:"Slot_in",d:3.67},{n:"Slot_lose_out",d:4},{n:"Slot_Plyr",d:1.33},{n:"Slot_wait",d:3.67},{n:"Slot_win_out",d:9.33},{n:"wof",d:1.47}]],["CHAINSAW",[{n:"CSAW_1",d:1},{n:"CSAW_2",d:1.03},{n:"CSAW_3",d:.87},{n:"CSAW_G",d:1.17},{n:"CSAW_Hit_1",d:.83},{n:"CSAW_Hit_2",d:1.07},{n:"CSAW_Hit_3",d:1.13},{n:"csaw_part",d:.13},{n:"IDLE_csaw",d:1.5},{n:"WEAPON_csaw",d:1.33},{n:"WEAPON_csawlo",d:1.9}]],["CHOPPA",[{n:"CHOPPA_back",d:.1},{n:"CHOPPA_bunnyhop",d:.33},{n:"CHOPPA_drivebyFT",d:.2},{n:"CHOPPA_driveby_LHS",d:.2},{n:"CHOPPA_driveby_RHS",d:.2},{n:"CHOPPA_fwd",d:.2},{n:"CHOPPA_getoffBACK",d:1.27},{n:"CHOPPA_getoffLHS",d:.73},{n:"CHOPPA_getoffRHS",d:.63},{n:"CHOPPA_jumponL",d:.7},{n:"CHOPPA_jumponR",d:.8},{n:"CHOPPA_Left",d:.13},{n:"CHOPPA_pedal",d:.73},{n:"CHOPPA_Pushes",d:.8},{n:"CHOPPA_ride",d:.03},{n:"CHOPPA_Right",d:.13},{n:"CHOPPA_sprint",d:.67},{n:"CHOPPA_Still",d:.03}]],["CLOTHES",[{n:"CLO_Buy",d:2.07},{n:"CLO_In",d:4},{n:"CLO_Out",d:2.67},{n:"CLO_Pose_Hat",d:3.33},{n:"CLO_Pose_In",d:3.13},{n:"CLO_Pose_In_O",d:4},{n:"CLO_Pose_Legs",d:3.33},{n:"CLO_Pose_Loop",d:6},{n:"CLO_Pose_Out",d:4},{n:"CLO_Pose_Out_O",d:4},{n:"CLO_Pose_Shoes",d:3.33},{n:"CLO_Pose_Torso",d:3.33},{n:"CLO_Pose_Watch",d:3.33}]],["COACH",[{n:"COACH_inL",d:2.17},{n:"COACH_inR",d:2.2},{n:"COACH_opnL",d:1.2},{n:"COACH_opnR",d:1.2},{n:"COACH_outL",d:1.73},{n:"COACH_outR",d:1.83}]],["COLT45",[{n:"2guns_crouchfire",d:.8},{n:"colt45_crouchfire",d:.8},{n:"colt45_crouchreload",d:1},{n:"colt45_fire",d:.73},{n:"colt45_fire_2hands",d:.87},{n:"colt45_reload",d:.93},{n:"sawnoff_reload",d:.93}]],["COP_AMBIENT",[{n:"Copbrowse_in",d:5},{n:"Copbrowse_loop",d:2.33},{n:"Copbrowse_nod",d:4},{n:"Copbrowse_out",d:2.67},{n:"Copbrowse_shake",d:1.83},{n:"Coplook_in",d:1.33},{n:"Coplook_loop",d:2.67},{n:"Coplook_nod",d:5.33},{n:"Coplook_out",d:.67},{n:"Coplook_shake",d:4},{n:"Coplook_think",d:3.33},{n:"Coplook_watch",d:2}]],["COP_DVBYZ",[{n:"COP_Dvby_B",d:.83},{n:"COP_Dvby_FT",d:.83},{n:"COP_Dvby_L",d:.83},{n:"COP_Dvby_R",d:.83}]],["CRACK",[{n:"Bbalbat_Idle_01",d:6.67},{n:"Bbalbat_Idle_02",d:10},{n:"crckdeth1",d:2.17},{n:"crckdeth2",d:3},{n:"crckdeth3",d:2.17},{n:"crckdeth4",d:1.67},{n:"crckidle1",d:3.5},{n:"crckidle2",d:3.33},{n:"crckidle3",d:3.33},{n:"crckidle4",d:2.67}]],["CRIB",[{n:"CRIB_Console_Loop",d:3},{n:"CRIB_Use_Switch",d:1.17},{n:"PED_Console_Loop",d:3},{n:"PED_Console_Loose",d:3.5},{n:"PED_Console_Win",d:3.5}]],["DAM_JUMP",[{n:"DAM_Dive_Loop",d:1.33},{n:"DAM_Land",d:2.6},{n:"DAM_Launch",d:2.4},{n:"Jump_Roll",d:3.17},{n:"SF_JumpWall",d:3}]],["DANCING",[{n:"bd_clap",d:3.2},{n:"bd_clap1",d:2.63},{n:"dance_loop",d:1.17},{n:"DAN_Down_A",d:1},{n:"DAN_Left_A",d:1},{n:"DAN_Loop_A",d:2},{n:"DAN_Right_A",d:1},{n:"DAN_Up_A",d:1},{n:"dnce_M_a",d:2.13},{n:"dnce_M_b",d:1.93},{n:"dnce_M_c",d:1.93},{n:"dnce_M_d",d:2.43},{n:"dnce_M_e",d:.9}]],["DEALER",[{n:"DEALER_DEAL",d:3.17},{n:"DEALER_IDLE",d:6.67},{n:"DEALER_IDLE_01",d:5},{n:"DEALER_IDLE_02",d:4},{n:"DEALER_IDLE_03",d:4.67},{n:"DRUGS_BUY",d:3.17},{n:"shop_pay",d:4.67}]],["DILDO",[{n:"DILDO_1",d:.97},{n:"DILDO_2",d:1.1},{n:"DILDO_3",d:1.17},{n:"DILDO_block",d:.47},{n:"DILDO_G",d:1.47},{n:"DILDO_Hit_1",d:.77},{n:"DILDO_Hit_2",d:1.03},{n:"DILDO_Hit_3",d:.9},{n:"DILDO_IDLE",d:.87}]],["DODGE",[{n:"Cover_Dive_01",d:6},{n:"Cover_Dive_02",d:6},{n:"Crushed",d:.93},{n:"Crush_Jump",d:3.17}]],["DOZER",[{n:"DOZER_Align_LHS",d:.97},{n:"DOZER_Align_RHS",d:.93},{n:"DOZER_getin_LHS",d:.43},{n:"DOZER_getin_RHS",d:.43},{n:"DOZER_getout_LHS",d:1.07},{n:"DOZER_getout_RHS",d:.77},{n:"DOZER_Jacked_LHS",d:1.27},{n:"DOZER_Jacked_RHS",d:1.07},{n:"DOZER_pullout_LHS",d:.73},{n:"DOZER_pullout_RHS",d:.7}]],["DRIVEBYS",[{n:"Gang_DrivebyLHS",d:.83},{n:"Gang_DrivebyLHS_Bwd",d:.83},{n:"Gang_DrivebyLHS_Fwd",d:.83},{n:"Gang_DrivebyRHS",d:.83},{n:"Gang_DrivebyRHS_Bwd",d:.83},{n:"Gang_DrivebyRHS_Fwd",d:.83},{n:"Gang_DrivebyTop_LHS",d:.83},{n:"Gang_DrivebyTop_RHS",d:.83}]],["FAT",[{n:"FatIdle",d:1.5},{n:"FatIdle_armed",d:1.53},{n:"FatIdle_Csaw",d:1.5},{n:"FatIdle_Rocket",d:1.6},{n:"FatRun",d:.77},{n:"FatRun_armed",d:.77},{n:"FatRun_Csaw",d:.77},{n:"FatRun_Rocket",d:.77},{n:"FatSprint",d:.6},{n:"FatWalk",d:1.17},{n:"FatWalkstart",d:.2},{n:"FatWalkstart_Csaw",d:.2},{n:"FatWalkSt_armed",d:.2},{n:"FatWalkSt_Rocket",d:.2},{n:"FatWalk_armed",d:1.17},{n:"FatWalk_Csaw",d:1.17},{n:"FatWalk_Rocket",d:1.17},{n:"IDLE_tired",d:1.07}]],["FIGHT_B",[{n:"FightB_1",d:.73},{n:"FightB_2",d:1.1},{n:"FightB_3",d:1.2},{n:"FightB_block",d:.47},{n:"FightB_G",d:1.07},{n:"FightB_IDLE",d:.8},{n:"FightB_M",d:.5},{n:"HitB_1",d:.73},{n:"HitB_2",d:.83},{n:"HitB_3",d:1.43}]],["FIGHT_C",[{n:"FightC_1",d:.83},{n:"FightC_2",d:1.03},{n:"FightC_3",d:1},{n:"FightC_block",d:.47},{n:"FightC_blocking",d:3.2},{n:"FightC_G",d:.77},{n:"FightC_IDLE",d:1},{n:"FightC_M",d:.9},{n:"FightC_Spar",d:3.2},{n:"HitC_1",d:.3},{n:"HitC_2",d:.67},{n:"HitC_3",d:.83}]],["FIGHT_D",[{n:"FightD_1",d:.93},{n:"FightD_2",d:1.87},{n:"FightD_3",d:.9},{n:"FightD_block",d:.47},{n:"FightD_G",d:.83},{n:"FightD_IDLE",d:1.53},{n:"FightD_M",d:1.07},{n:"HitD_1",d:.67},{n:"HitD_2",d:1.83},{n:"HitD_3",d:.97}]],["FIGHT_E",[{n:"FightKick",d:.77},{n:"FightKick_B",d:1.03},{n:"Hit_fightkick",d:.5},{n:"Hit_fightkick_B",d:1.13}]],["FINALE",[{n:"FIN_Climb_In",d:2.9},{n:"FIN_Cop1_ClimbOut2",d:6},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Stomp",d:1},{n:"FIN_Hang_L",d:.57},{n:"FIN_Hang_Loop",d:4},{n:"FIN_Hang_R",d:.57},{n:"FIN_Hang_Slip",d:3.33},{n:"FIN_Jump_On",d:5.6},{n:"FIN_Land_Car",d:.67},{n:"FIN_Land_Die",d:2.37},{n:"FIN_LegsUp",d:1},{n:"FIN_LegsUp_L",d:.5},{n:"FIN_LegsUp_Loop",d:1.33},{n:"FIN_LegsUp_R",d:.5},{n:"FIN_Let_Go",d:.17}]],["FINALE2",[{n:"FIN_Cop1_ClimbOut",d:4},{n:"FIN_Cop1_Fall",d:.43},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Shot",d:2.07},{n:"FIN_Cop1_Swing",d:1.17},{n:"FIN_Cop2_ClimbOut",d:5.33},{n:"FIN_Switch_P",d:3.97},{n:"FIN_Switch_S",d:2.17}]],["FLAME",[{n:"FLAME_fire",d:.8}]],["Flowers",[{n:"Flower_attack",d:.8},{n:"Flower_attack_M",d:1.23},{n:"Flower_Hit",d:.83}]],["FOOD",[{n:"EAT_Burger",d:5},{n:"EAT_Chicken",d:5},{n:"EAT_Pizza",d:5},{n:"EAT_Vomit_P",d:8},{n:"EAT_Vomit_SK",d:8},{n:"FF_Dam_Bkw",d:.67},{n:"FF_Dam_Fwd",d:.67},{n:"FF_Dam_Left",d:.67},{n:"FF_Dam_Right",d:.67},{n:"FF_Die_Bkw",d:.67},{n:"FF_Die_Fwd",d:.67},{n:"FF_Die_Left",d:.67},{n:"FF_Die_Right",d:.67},{n:"FF_Sit_Eat1",d:2.83},{n:"FF_Sit_Eat2",d:2.67},{n:"FF_Sit_Eat3",d:2.67},{n:"FF_Sit_In",d:3},{n:"FF_Sit_In_L",d:2},{n:"FF_Sit_In_R",d:2},{n:"FF_Sit_Look",d:8},{n:"FF_Sit_Loop",d:2.67},{n:"FF_Sit_Out_180",d:2.83},{n:"FF_Sit_Out_L_180",d:1.33},{n:"FF_Sit_Out_R_180",d:1.33},{n:"SHP_Thank",d:1.17},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Lift",d:1.67},{n:"SHP_Tray_Lift_In",d:.5},{n:"SHP_Tray_Lift_Loop",d:8},{n:"SHP_Tray_Lift_Out",d:.5},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:.67},{n:"SHP_Tray_Return",d:1.33}]],["Freeweights",[{n:"gym_barbell",d:2.37},{n:"gym_free_A",d:1.93},{n:"gym_free_B",d:2.33},{n:"gym_free_celebrate",d:3.33},{n:"gym_free_down",d:.57},{n:"gym_free_loop",d:.67},{n:"gym_free_pickup",d:3.17},{n:"gym_free_putdown",d:3.17},{n:"gym_free_up_smooth",d:1}]],["GANGS",[{n:"DEALER_DEAL",d:1.17},{n:"DEALER_IDLE",d:2},{n:"drnkbr_prtl",d:2.67},{n:"drnkbr_prtl_F",d:2.67},{n:"DRUGS_BUY",d:1.17},{n:"hndshkaa",d:4},{n:"hndshkba",d:2.33},{n:"hndshkca",d:3.33},{n:"hndshkcb",d:3.33},{n:"hndshkda",d:2},{n:"hndshkea",d:1},{n:"hndshkfa",d:4.17},{n:"hndshkfa_swt",d:4.17},{n:"Invite_No",d:3.33},{n:"Invite_Yes",d:4.33},{n:"leanIDLE",d:1},{n:"leanIN",d:1},{n:"leanOUT",d:1},{n:"prtial_gngtlkA",d:4},{n:"prtial_gngtlkB",d:6.17},{n:"prtial_gngtlkC",d:7.33},{n:"prtial_gngtlkD",d:3},{n:"prtial_gngtlkE",d:2.83},{n:"prtial_gngtlkF",d:5.17},{n:"prtial_gngtlkG",d:7},{n:"prtial_gngtlkH",d:6},{n:"prtial_hndshk_01",d:1.67},{n:"prtial_hndshk_biz_01",d:2.33},{n:"shake_cara",d:1.67},{n:"shake_carK",d:1.27},{n:"shake_carSH",d:1.5},{n:"smkcig_prtl",d:7.5},{n:"smkcig_prtl_F",d:7.5}]],["GFUNK",[{n:"Dance_B1",d:1.27},{n:"Dance_B2",d:1.27},{n:"Dance_B3",d:1.27},{n:"Dance_B4",d:1.27},{n:"Dance_B5",d:1.27},{n:"Dance_B6",d:1.27},{n:"Dance_B7",d:1.27},{n:"Dance_B8",d:1.27},{n:"Dance_B9",d:1.27},{n:"Dance_B10",d:1.27},{n:"Dance_B11",d:1.27},{n:"Dance_B12",d:1.27},{n:"Dance_B13",d:1.27},{n:"Dance_B14",d:1.27},{n:"Dance_B15",d:1.27},{n:"Dance_B16",d:1.27},{n:"Dance_G1",d:1.27},{n:"Dance_G2",d:1.27},{n:"Dance_G3",d:1.27},{n:"Dance_G4",d:1.27},{n:"Dance_G5",d:1.27},{n:"Dance_G6",d:1.27},{n:"Dance_G7",d:1.27},{n:"Dance_G8",d:1.27},{n:"Dance_G9",d:1.27},{n:"Dance_G10",d:1.27},{n:"Dance_G11",d:1.27},{n:"Dance_G12",d:1.27},{n:"Dance_G13",d:1.27},{n:"Dance_G14",d:1.27},{n:"Dance_G15",d:1.27},{n:"Dance_G16",d:1.27},{n:"dance_loop",d:1.17}]],["GHANDS",[{n:"gsign1",d:4.77},{n:"gsign1LH",d:2.73},{n:"gsign2",d:2.13},{n:"gsign2LH",d:2.33},{n:"gsign3",d:4.67},{n:"gsign3LH",d:2},{n:"gsign4",d:4.17},{n:"gsign4LH",d:4.67},{n:"gsign5",d:6.2},{n:"gsign5LH",d:2},{n:"LHGsign1",d:2},{n:"LHGsign2",d:2},{n:"LHGsign3",d:2},{n:"LHGsign4",d:2},{n:"LHGsign5",d:2},{n:"RHGsign1",d:2},{n:"RHGsign2",d:2},{n:"RHGsign3",d:2},{n:"RHGsign4",d:2},{n:"RHGsign5",d:2}]],["GHETTO_DB",[{n:"GDB_Car2_PLY",d:9.5},{n:"GDB_Car2_SMO",d:9.5},{n:"GDB_Car2_SWE",d:9.5},{n:"GDB_Car_PLY",d:13.33},{n:"GDB_Car_RYD",d:13.33},{n:"GDB_Car_SMO",d:13.33},{n:"GDB_Car_SWE",d:13.33}]],["goggles",[{n:"goggles_put_on",d:.8}]],["GRAFFITI",[{n:"graffiti_Chkout",d:4.67},{n:"spraycan_fire",d:2.33}]],["GRAVEYARD",[{n:"mrnF_loop",d:4.67},{n:"mrnM_loop",d:2.67},{n:"prst_loopa",d:4}]],["GRENADE",[{n:"WEAPON_start_throw",d:.2},{n:"WEAPON_throw",d:.87},{n:"WEAPON_throwu",d:.67}]],["GYMNASIUM",[{n:"GYMshadowbox",d:5.1},{n:"gym_bike_celebrate",d:1.93},{n:"gym_bike_fast",d:.4},{n:"gym_bike_faster",d:.4},{n:"gym_bike_getoff",d:1.67},{n:"gym_bike_geton",d:1.67},{n:"gym_bike_pedal",d:.4},{n:"gym_bike_slow",d:.43},{n:"gym_bike_still",d:1.67},{n:"gym_jog_falloff",d:2.17},{n:"gym_shadowbox",d:5.1},{n:"gym_tread_celebrate",d:2.5},{n:"gym_tread_falloff",d:2},{n:"gym_tread_getoff",d:3.33},{n:"gym_tread_geton",d:2.5},{n:"gym_tread_jog",d:.77},{n:"gym_tread_sprint",d:.67},{n:"gym_tread_tired",d:1.33},{n:"gym_tread_walk",d:1.07},{n:"gym_walk_falloff",d:3.33},{n:"Pedals_fast",d:.4},{n:"Pedals_med",d:.4},{n:"Pedals_slow",d:.43},{n:"Pedals_still",d:.43}]],["HAIRCUTS",[{n:"BRB_Beard_01",d:4.5},{n:"BRB_Buy",d:4.17},{n:"BRB_Cut",d:1.7},{n:"BRB_Cut_In",d:.83},{n:"BRB_Cut_Out",d:1.33},{n:"BRB_Hair_01",d:3.83},{n:"BRB_Hair_02",d:4.5},{n:"BRB_In",d:1.33},{n:"BRB_Loop",d:2.67},{n:"BRB_Out",d:.67},{n:"BRB_Sit_In",d:2.07},{n:"BRB_Sit_Loop",d:7},{n:"BRB_Sit_Out",d:3}]],["HEIST9",[{n:"CAS_G2_GasKO",d:3.33},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43},{n:"Use_SwipeCard",d:1.17}]],["INT_HOUSE",[{n:"BED_In_L",d:3.33},{n:"BED_In_R",d:3.33},{n:"BED_Loop_L",d:3.33},{n:"BED_Loop_R",d:3.33},{n:"BED_Out_L",d:3.33},{n:"BED_Out_R",d:3.33},{n:"LOU_In",d:1.83},{n:"LOU_Loop",d:3.33},{n:"LOU_Out",d:2},{n:"wash_up",d:3}]],["INT_OFFICE",[{n:"FF_Dam_Fwd",d:.67},{n:"OFF_Sit_2Idle_180",d:2.83},{n:"OFF_Sit_Bored_Loop",d:2.83},{n:"OFF_Sit_Crash",d:3.33},{n:"OFF_Sit_Drink",d:4.17},{n:"OFF_Sit_Idle_Loop",d:2.07},{n:"OFF_Sit_In",d:2.77},{n:"OFF_Sit_Read",d:3.33},{n:"OFF_Sit_Type_Loop",d:3.33},{n:"OFF_Sit_Watch",d:2}]],["INT_SHOP",[{n:"shop_cashier",d:6.67},{n:"shop_in",d:1},{n:"shop_lookA",d:2},{n:"shop_lookB",d:3},{n:"shop_loop",d:2},{n:"shop_out",d:1.33},{n:"shop_pay",d:6.67},{n:"shop_shelf",d:2.33}]],["JST_BUISNESS",[{n:"girl_01",d:3.33},{n:"girl_02",d:11.33},{n:"player_01",d:24.83},{n:"smoke_01",d:25}]],["KART",[{n:"KART_getin_LHS",d:.83},{n:"KART_getin_RHS",d:.83},{n:"KART_getout_LHS",d:.83},{n:"KART_getout_RHS",d:.83}]],["KISSING",[{n:"BD_GF_Wave",d:5.07},{n:"gfwave2",d:2.67},{n:"GF_CarArgue_01",d:5},{n:"GF_CarArgue_02",d:5},{n:"GF_CarSpot",d:5},{n:"GF_StreetArgue_01",d:5},{n:"GF_StreetArgue_02",d:5},{n:"gift_get",d:5.33},{n:"gift_give",d:5.33},{n:"Grlfrd_Kiss_01",d:4.17},{n:"Grlfrd_Kiss_02",d:5.77},{n:"Grlfrd_Kiss_03",d:7},{n:"Playa_Kiss_01",d:5},{n:"Playa_Kiss_02",d:5.77},{n:"Playa_Kiss_03",d:7}]],["KNIFE",[{n:"KILL_Knife_Ped_Damage",d:2.23},{n:"KILL_Knife_Ped_Die",d:1.93},{n:"KILL_Knife_Player",d:2.67},{n:"KILL_Partial",d:.03},{n:"knife_1",d:1},{n:"knife_2",d:.93},{n:"knife_3",d:.87},{n:"Knife_4",d:.9},{n:"knife_block",d:.47},{n:"Knife_G",d:.9},{n:"knife_hit_1",d:.57},{n:"knife_hit_2",d:.63},{n:"knife_hit_3",d:1.6},{n:"knife_IDLE",d:1.3},{n:"knife_part",d:.53},{n:"WEAPON_knifeidle",d:1.3}]],["LAPDAN1",[{n:"LAPDAN_D",d:37.73},{n:"LAPDAN_P",d:37.73}]],["LAPDAN2",[{n:"LAPDAN_D",d:46.83},{n:"LAPDAN_P",d:46.83}]],["LAPDAN3",[{n:"LAPDAN_D",d:51.47},{n:"LAPDAN_P",d:51.47}]],["LOWRIDER",[{n:"F_smklean_loop",d:4},{n:"lrgirl_bdbnce",d:2.67},{n:"lrgirl_hair",d:2.33},{n:"lrgirl_hurry",d:2.83},{n:"lrgirl_idleloop",d:2.17},{n:"lrgirl_idle_to_l0",d:2.17},{n:"lrgirl_l0_bnce",d:.67},{n:"lrgirl_l0_loop",d:2},{n:"lrgirl_l0_to_l1",d:3.67},{n:"lrgirl_l12_to_l0",d:2},{n:"lrgirl_l1_bnce",d:.67},{n:"lrgirl_l1_loop",d:2},{n:"lrgirl_l1_to_l2",d:1.33},{n:"lrgirl_l2_bnce",d:.67},{n:"lrgirl_l2_loop",d:1.5},{n:"lrgirl_l2_to_l3",d:1.5},{n:"lrgirl_l345_to_l1",d:1},{n:"lrgirl_l3_bnce",d:.67},{n:"lrgirl_l3_loop",d:2},{n:"lrgirl_l3_to_l4",d:.67},{n:"lrgirl_l4_bnce",d:.67},{n:"lrgirl_l4_loop",d:2.33},{n:"lrgirl_l4_to_l5",d:1},{n:"lrgirl_l5_bnce",d:.83},{n:"lrgirl_l5_loop",d:1.67},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"prtial_gngtlkB",d:1.47},{n:"prtial_gngtlkC",d:1.5},{n:"prtial_gngtlkD",d:2.47},{n:"prtial_gngtlkE",d:3},{n:"prtial_gngtlkF",d:2.67},{n:"prtial_gngtlkG",d:2.67},{n:"prtial_gngtlkH",d:3.33},{n:"RAP_A_Loop",d:2.67},{n:"RAP_B_Loop",d:2.67},{n:"RAP_C_Loop",d:3},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33}]],["MD_CHASE",[{n:"Carhit_Hangon",d:1.53},{n:"Carhit_Tumble",d:2.03},{n:"donutdrop",d:1.5},{n:"Fen_Choppa_L1",d:1.43},{n:"Fen_Choppa_L2",d:1.3},{n:"Fen_Choppa_L3",d:1.3},{n:"Fen_Choppa_R1",d:1.3},{n:"Fen_Choppa_R2",d:1.3},{n:"Fen_Choppa_R3",d:1.3},{n:"Hangon_Stun_loop",d:4.67},{n:"Hangon_Stun_Turn",d:4},{n:"MD_BIKE_2_HANG",d:1.37},{n:"MD_BIKE_Jmp_BL",d:1.1},{n:"MD_BIKE_Jmp_F",d:1},{n:"MD_BIKE_Lnd_BL",d:.9},{n:"MD_BIKE_Lnd_Die_BL",d:1.53},{n:"MD_BIKE_Lnd_Die_F",d:.8},{n:"MD_BIKE_Lnd_F",d:1.17},{n:"MD_BIKE_Lnd_Roll",d:2.7},{n:"MD_BIKE_Lnd_Roll_F",d:1.03},{n:"MD_BIKE_Punch",d:1.83},{n:"MD_BIKE_Punch_F",d:1.83},{n:"MD_BIKE_Shot_F",d:1.33},{n:"MD_HANG_Lnd_Roll",d:2.7},{n:"MD_HANG_Loop",d:1}]],["MD_END",[{n:"END_SC1_PLY",d:5},{n:"END_SC1_RYD",d:5},{n:"END_SC1_SMO",d:5},{n:"END_SC1_SWE",d:5},{n:"END_SC2_PLY",d:9},{n:"END_SC2_RYD",d:9},{n:"END_SC2_SMO",d:9},{n:"END_SC2_SWE",d:9}]],["MEDIC",[{n:"CPR",d:8.33}]],["MISC",[{n:"bitchslap",d:1.17},{n:"BMX_celebrate",d:1.57},{n:"BMX_comeon",d:.77},{n:"bmx_idleloop_01",d:3.33},{n:"bmx_idleloop_02",d:6.67},{n:"bmx_talkleft_in",d:.67},{n:"bmx_talkleft_loop",d:6.67},{n:"bmx_talkleft_out",d:.67},{n:"bmx_talkright_in",d:.67},{n:"bmx_talkright_loop",d:7.33},{n:"bmx_talkright_out",d:.67},{n:"bng_wndw",d:7.33},{n:"bng_wndw_02",d:7.33},{n:"Case_pickup",d:1},{n:"door_jet",d:5.33},{n:"GRAB_L",d:.4},{n:"GRAB_R",d:.4},{n:"Hiker_Pose",d:.33},{n:"Hiker_Pose_L",d:.33},{n:"Idle_Chat_02",d:7.23},{n:"KAT_Throw_K",d:3.33},{n:"KAT_Throw_O",d:3.33},{n:"KAT_Throw_P",d:3.33},{n:"PASS_Rifle_O",d:1.33},{n:"PASS_Rifle_Ped",d:1.33},{n:"PASS_Rifle_Ply",d:1.33},{n:"pickup_box",d:.4},{n:"Plane_door",d:5.33},{n:"Plane_exit",d:5.33},{n:"Plane_hijack",d:5.33},{n:"Plunger_01",d:3.33},{n:"Plyrlean_loop",d:2.67},{n:"plyr_shkhead",d:1.67},{n:"Run_Dive",d:8.27},{n:"Scratchballs_01",d:8.33},{n:"SEAT_LR",d:3.67},{n:"Seat_talk_01",d:3.67},{n:"Seat_talk_02",d:3.33},{n:"SEAT_watch",d:2.33},{n:"smalplane_door",d:6.33},{n:"smlplane_door",d:5.33},{n:"MTB_back",d:.1},{n:"MTB_bunnyhop",d:.33},{n:"MTB_drivebyFT",d:.2},{n:"MTB_driveby_LHS",d:.2},{n:"MTB_driveby_RHS",d:.2},{n:"MTB_fwd",d:.2},{n:"MTB_getoffBACK",d:1.53},{n:"MTB_getoffLHS",d:.73},{n:"MTB_getoffRHS",d:.73},{n:"MTB_jumponL",d:.8},{n:"MTB_jumponR",d:.83},{n:"MTB_Left",d:.13},{n:"MTB_pedal",d:.67},{n:"MTB_pushes",d:.8},{n:"MTB_Ride",d:.03},{n:"MTB_Right",d:.13},{n:"MTB_sprint",d:.8},{n:"MTB_still",d:.03},{n:"MscleWalkst_armed",d:.2},{n:"MscleWalkst_Csaw",d:.2},{n:"Mscle_rckt_run",d:.8},{n:"Mscle_rckt_walkst",d:.2},{n:"Mscle_run_Csaw",d:.8},{n:"MuscleIdle",d:1.5},{n:"MuscleIdle_armed",d:1.5},{n:"MuscleIdle_Csaw",d:1.5},{n:"MuscleIdle_rocket",d:1.5},{n:"MuscleRun",d:.8},{n:"MuscleRun_armed",d:.8},{n:"MuscleSprint",d:.57},{n:"MuscleWalk",d:1.07},{n:"MuscleWalkstart",d:.27},{n:"MuscleWalk_armed",d:1.07},{n:"Musclewalk_Csaw",d:1.07},{n:"Musclewalk_rocket",d:1.07}]],["NEVADA",[{n:"NEVADA_getin",d:1.87},{n:"NEVADA_getout",d:.93}]],["ON_LOOKERS",[{n:"lkaround_in",d:.33},{n:"lkaround_loop",d:7},{n:"lkaround_out",d:.33},{n:"lkup_in",d:1.67},{n:"lkup_loop",d:5.33},{n:"lkup_out",d:1},{n:"lkup_point",d:3.33},{n:"panic_cower",d:6.67},{n:"panic_hide",d:6.33},{n:"panic_in",d:.83},{n:"panic_loop",d:1.67},{n:"panic_out",d:.67},{n:"panic_point",d:6},{n:"panic_shout",d:8.67},{n:"Pointup_in",d:1},{n:"Pointup_loop",d:2.67},{n:"Pointup_out",d:1},{n:"Pointup_shout",d:3},{n:"point_in",d:.5},{n:"point_loop",d:3},{n:"point_out",d:.33},{n:"shout_01",d:2.67},{n:"shout_02",d:4},{n:"shout_in",d:1.67},{n:"shout_loop",d:2},{n:"shout_out",d:.33},{n:"wave_in",d:.83},{n:"wave_loop",d:1.5},{n:"wave_out",d:.83}]],["OTB",[{n:"betslp_in",d:1.33},{n:"betslp_lkabt",d:2.67},{n:"betslp_loop",d:2.67},{n:"betslp_out",d:1},{n:"betslp_tnk",d:5.6},{n:"wtchrace_cmon",d:5},{n:"wtchrace_in",d:1.67},{n:"wtchrace_loop",d:2.67},{n:"wtchrace_lose",d:4},{n:"wtchrace_out",d:1},{n:"wtchrace_win",d:4.33}]],["PARACHUTE",[{n:"FALL_skyDive",d:1.33},{n:"FALL_SkyDive_Accel",d:1.33},{n:"FALL_skyDive_DIE",d:1},{n:"FALL_SkyDive_L",d:1.33},{n:"FALL_SkyDive_R",d:1.33},{n:"PARA_decel",d:2},{n:"PARA_decel_O",d:2},{n:"PARA_float",d:2},{n:"PARA_float_O",d:2},{n:"PARA_Land",d:1.67},{n:"PARA_Land_O",d:2.17},{n:"PARA_Land_Water",d:2.33},{n:"PARA_Land_Water_O",d:2.17},{n:"PARA_open",d:2.83},{n:"PARA_open_O",d:2.33},{n:"PARA_Rip_Land_O",d:.9},{n:"PARA_Rip_Loop_O",d:1},{n:"PARA_Rip_O",d:.23},{n:"PARA_steerL",d:2},{n:"PARA_steerL_O",d:2},{n:"PARA_steerR",d:2},{n:"PARA_steerR_O",d:2}]],["PARK",[{n:"Tai_Chi_in",d:2.17},{n:"Tai_Chi_Loop",d:12},{n:"Tai_Chi_Out",d:.83}]],["PAULNMAC",[{n:"Piss_in",d:9},{n:"Piss_loop",d:6.67},{n:"Piss_out",d:11},{n:"PnM_Argue1_A",d:4.33},{n:"PnM_Argue1_B",d:4.33},{n:"PnM_Argue2_A",d:4.33},{n:"PnM_Argue2_B",d:4.33},{n:"PnM_Loop_A",d:5.33},{n:"PnM_Loop_B",d:5.33},{n:"wank_in",d:7.33},{n:"wank_loop",d:2.67},{n:"wank_out",d:11.67}]],["ped",[{n:"abseil",d:.03},{n:"ARRESTgun",d:.67},{n:"ATM",d:12.17},{n:"BIKE_elbowL",d:.97},{n:"BIKE_elbowR",d:.97},{n:"BIKE_fallR",d:1.63},{n:"BIKE_fall_off",d:1.07},{n:"BIKE_pickupL",d:1.07},{n:"BIKE_pickupR",d:1.07},{n:"BIKE_pullupL",d:1},{n:"BIKE_pullupR",d:1},{n:"bomber",d:.6},{n:"CAR_alignHI_LHS",d:.73},{n:"CAR_alignHI_RHS",d:.73},{n:"CAR_align_LHS",d:.13},{n:"CAR_align_RHS",d:.13},{n:"CAR_closedoorL_LHS",d:.6},{n:"CAR_closedoorL_RHS",d:.4},{n:"CAR_closedoor_LHS",d:.6},{n:"CAR_closedoor_RHS",d:.4},{n:"CAR_close_LHS",d:.73},{n:"CAR_close_RHS",d:.73},{n:"CAR_crawloutRHS",d:2.17},{n:"CAR_dead_LHS",d:.03},{n:"CAR_dead_RHS",d:.03},{n:"CAR_doorlocked_LHS",d:1.33},{n:"CAR_doorlocked_RHS",d:1.27},{n:"CAR_fallout_LHS",d:.57},{n:"CAR_fallout_RHS",d:.57},{n:"CAR_getinL_LHS",d:1},{n:"CAR_getinL_RHS",d:1},{n:"CAR_getin_LHS",d:1},{n:"CAR_getin_RHS",d:1},{n:"CAR_getoutL_LHS",d:.93},{n:"CAR_getoutL_RHS",d:1},{n:"CAR_getout_LHS",d:1.13},{n:"CAR_getout_RHS",d:.8},{n:"car_hookertalk",d:4.3},{n:"CAR_jackedLHS",d:2.9},{n:"CAR_jackedRHS",d:3.43},{n:"CAR_jumpin_LHS",d:1},{n:"CAR_LB",d:.23},{n:"CAR_LB_pro",d:.1},{n:"CAR_LB_weak",d:.23},{n:"CAR_LjackedLHS",d:3.57},{n:"CAR_LjackedRHS",d:3.47},{n:"CAR_Lshuffle_RHS",d:.4},{n:"CAR_Lsit",d:.03},{n:"CAR_open_LHS",d:1.1},{n:"CAR_open_RHS",d:1.1},{n:"CAR_pulloutL_LHS",d:2.93},{n:"CAR_pulloutL_RHS",d:2.93},{n:"CAR_pullout_LHS",d:2.3},{n:"CAR_pullout_RHS",d:2.8},{n:"CAR_Qjacked",d:3.3},{n:"CAR_rolldoor",d:.6},{n:"CAR_rolldoorLO",d:.6},{n:"CAR_rollout_LHS",d:1.63},{n:"CAR_rollout_RHS",d:1.27},{n:"CAR_shuffle_RHS",d:.4},{n:"CAR_sit",d:.03},{n:"CAR_sitp",d:.03},{n:"CAR_sitpLO",d:.03},{n:"CAR_sit_pro",d:.03},{n:"CAR_sit_weak",d:.03},{n:"CAR_tune_radio",d:.63},{n:"CLIMB_idle",d:.8},{n:"CLIMB_jump",d:.57},{n:"CLIMB_jump2fall",d:.03},{n:"CLIMB_jump_B",d:.97},{n:"CLIMB_Pull",d:.87},{n:"CLIMB_Stand",d:.8},{n:"CLIMB_Stand_finish",d:.2},{n:"cower",d:.8},{n:"Crouch_Roll_L",d:.93},{n:"Crouch_Roll_R",d:.93},{n:"DAM_armL_frmBK",d:.83},{n:"DAM_armL_frmFT",d:.83},{n:"DAM_armL_frmLT",d:.67},{n:"DAM_armR_frmBK",d:.83},{n:"DAM_armR_frmFT",d:.5},{n:"DAM_armR_frmRT",d:.27},{n:"DAM_LegL_frmBK",d:.83},{n:"DAM_LegL_frmFT",d:.83},{n:"DAM_LegL_frmLT",d:.83},{n:"DAM_LegR_frmBK",d:.83},{n:"DAM_LegR_frmFT",d:.83},{n:"DAM_LegR_frmRT",d:.83},{n:"DAM_stomach_frmBK",d:.83},{n:"DAM_stomach_frmFT",d:.83},{n:"DAM_stomach_frmLT",d:.83},{n:"DAM_stomach_frmRT",d:.83},{n:"DOOR_LHinge_O",d:1.07},{n:"DOOR_RHinge_O",d:1.07},{n:"DrivebyL_L",d:.2},{n:"DrivebyL_R",d:.2},{n:"Driveby_L",d:.2},{n:"Driveby_R",d:.2},{n:"DRIVE_BOAT",d:.03},{n:"DRIVE_BOAT_back",d:.1},{n:"DRIVE_BOAT_L",d:.1},{n:"DRIVE_BOAT_R",d:.1},{n:"Drive_L",d:.13},{n:"Drive_LO_l",d:.13},{n:"Drive_LO_R",d:.13},{n:"Drive_L_pro",d:.13},{n:"Drive_L_pro_slow",d:.13},{n:"Drive_L_slow",d:.13},{n:"Drive_L_weak",d:.13},{n:"Drive_L_weak_slow",d:.13},{n:"Drive_R",d:.13},{n:"Drive_R_pro",d:.13},{n:"Drive_R_pro_slow",d:.13},{n:"Drive_R_slow",d:.13},{n:"Drive_R_weak",d:.13},{n:"Drive_R_weak_slow",d:.13},{n:"Drive_truck",d:.03},{n:"DRIVE_truck_back",d:.1},{n:"DRIVE_truck_L",d:.13},{n:"DRIVE_truck_R",d:.13},{n:"Drown",d:2.5},{n:"DUCK_cower",d:.8},{n:"endchat_01",d:2},{n:"endchat_02",d:2},{n:"endchat_03",d:2.33},{n:"EV_dive",d:2.33},{n:"EV_step",d:1.07},{n:"facanger",d:.13},{n:"facgum",d:1.03},{n:"facsurp",d:.13},{n:"facsurpm",d:.13},{n:"factalk",d:2.33},{n:"facurios",d:.13},{n:"FALL_back",d:.73},{n:"FALL_collapse",d:1},{n:"FALL_fall",d:.73},{n:"FALL_front",d:.73},{n:"FALL_glide",d:.8},{n:"FALL_land",d:.47},{n:"FALL_skyDive",d:1.33},{n:"Fight2Idle",d:.33},{n:"FightA_1",d:.43},{n:"FightA_2",d:.77},{n:"FightA_3",d:.87},{n:"FightA_block",d:.47},{n:"FightA_G",d:.93},{n:"FightA_M",d:.4},{n:"FIGHTIDLE",d:1.3},{n:"FightShB",d:.47},{n:"FightShF",d:.53},{n:"FightSh_BWD",d:.67},{n:"FightSh_FWD",d:.67},{n:"FightSh_Left",d:.67},{n:"FightSh_Right",d:.67},{n:"flee_lkaround_01",d:2},{n:"FLOOR_hit",d:.37},{n:"FLOOR_hit_f",d:.4},{n:"fucku",d:1.33},{n:"gang_gunstand",d:.03},{n:"gas_cwr",d:1},{n:"getup",d:1.37},{n:"getup_front",d:1.37},{n:"gum_eat",d:5.33},{n:"GunCrouchBwd",d:1},{n:"GunCrouchFwd",d:.73},{n:"GunMove_BWD",d:1.03},{n:"GunMove_FWD",d:1},{n:"GunMove_L",d:1},{n:"GunMove_R",d:1},{n:"Gun_2_IDLE",d:.27},{n:"GUN_BUTT",d:.43},{n:"GUN_BUTT_crouch",d:.43},{n:"Gun_stand",d:.03},{n:"handscower",d:1.93},{n:"handsup",d:.6},{n:"HitA_1",d:.3},{n:"HitA_2",d:.53},{n:"HitA_3",d:.57},{n:"HIT_back",d:.5},{n:"HIT_behind",d:.67},{n:"HIT_front",d:.6},{n:"HIT_GUN_BUTT",d:.5},{n:"HIT_L",d:.7},{n:"HIT_R",d:.6},{n:"HIT_walk",d:.33},{n:"HIT_wall",d:.7},{n:"Idlestance_fat",d:1.67},{n:"idlestance_old",d:2},{n:"IDLE_armed",d:1.47},{n:"IDLE_chat",d:6.67},{n:"IDLE_csaw",d:1.53},{n:"Idle_Gang1",d:1.67},{n:"IDLE_HBHB",d:2.67},{n:"IDLE_ROCKET",d:1.57},{n:"IDLE_stance",d:1.5},{n:"IDLE_taxi",d:.87},{n:"IDLE_tired",d:1},{n:"Jetpack_Idle",d:.03},{n:"JOG_femaleA",d:.77},{n:"JOG_maleA",d:.77},{n:"JUMP_glide",d:.5},{n:"JUMP_land",d:.23},{n:"JUMP_launch",d:.2},{n:"JUMP_launch_R",d:.2},{n:"KART_drive",d:.03},{n:"KART_L",d:.13},{n:"KART_LB",d:.03},{n:"KART_R",d:.13},{n:"KD_left",d:.9},{n:"KD_right",d:.9},{n:"KO_shot_face",d:2.1},{n:"KO_shot_front",d:.57},{n:"KO_shot_stom",d:3.17},{n:"KO_skid_back",d:.97},{n:"KO_skid_front",d:1.13},{n:"KO_spin_L",d:.87},{n:"KO_spin_R",d:.93},{n:"pass_Smoke_in_car",d:1.73},{n:"phone_in",d:2.33},{n:"phone_out",d:2},{n:"phone_talk",d:2},{n:"Player_Sneak",d:1.33},{n:"Player_Sneak_walkstart",d:.3},{n:"roadcross",d:2},{n:"roadcross_female",d:4},{n:"roadcross_gang",d:2},{n:"roadcross_old",d:4},{n:"run_1armed",d:.77},{n:"run_armed",d:.7},{n:"run_civi",d:.73},{n:"run_csaw",d:.7},{n:"run_fat",d:.8},{n:"run_fatold",d:.8},{n:"run_gang1",d:.83},{n:"run_left",d:.67},{n:"run_old",d:.8},{n:"run_player",d:.73},{n:"run_right",d:.67},{n:"run_rocket",d:.77},{n:"Run_stop",d:.87},{n:"Run_stopR",d:.8},{n:"Run_Wuzi",d:.77},{n:"SEAT_down",d:1.5},{n:"SEAT_idle",d:2},{n:"SEAT_up",d:1.17},{n:"SHOT_leftP",d:.3},{n:"SHOT_partial",d:.37},{n:"SHOT_partial_B",d:.33},{n:"SHOT_rightP",d:.33},{n:"Shove_Partial",d:.53},{n:"Smoke_in_car",d:1.73},{n:"sprint_civi",d:.53},{n:"sprint_panic",d:.6},{n:"Sprint_Wuzi",d:.67},{n:"swat_run",d:.67},{n:"Swim_Tread",d:1.3},{n:"Tap_hand",d:.03},{n:"Tap_handP",d:.03},{n:"turn_180",d:.63},{n:"Turn_L",d:.8},{n:"Turn_R",d:.8},{n:"WALK_armed",d:1.07},{n:"WALK_civi",d:1.13},{n:"WALK_csaw",d:1.07},{n:"Walk_DoorPartial",d:.8},{n:"WALK_drunk",d:3.93},{n:"WALK_fat",d:1.33},{n:"WALK_fatold",d:1.17},{n:"WALK_gang1",d:1.4},{n:"WALK_gang2",d:1.4},{n:"WALK_old",d:1.4},{n:"WALK_player",d:1.2},{n:"WALK_rocket",d:1.07},{n:"WALK_shuffle",d:1.2},{n:"WALK_start",d:.27},{n:"WALK_start_armed",d:.2},{n:"WALK_start_csaw",d:.2},{n:"WALK_start_rocket",d:.2},{n:"Walk_Wuzi",d:1.17},{n:"WEAPON_crouch",d:.8},{n:"woman_idlestance",d:5.33},{n:"woman_run",d:.77},{n:"WOMAN_runbusy",d:.67},{n:"WOMAN_runfatold",d:1.2},{n:"woman_runpanic",d:.6},{n:"WOMAN_runsexy",d:.7},{n:"WOMAN_walkbusy",d:1},{n:"WOMAN_walkfatold",d:1.2},{n:"WOMAN_walknorm",d:1.13},{n:"WOMAN_walkold",d:1.2},{n:"WOMAN_walkpro",d:1.33},{n:"WOMAN_walksexy",d:1.17},{n:"WOMAN_walkshop",d:.97},{n:"XPRESSscratch",d:3.97}]],["PLAYER_DVBYS",[{n:"Plyr_DrivebyBwd",d:.83},{n:"Plyr_DrivebyFwd",d:.83},{n:"Plyr_DrivebyLHS",d:.83},{n:"Plyr_DrivebyRHS",d:.83}]],["PLAYIDLES",[{n:"shift",d:3.6},{n:"shldr",d:2.17},{n:"stretch",d:4.6},{n:"strleg",d:3.67},{n:"time",d:5.2}]],["POLICE",[{n:"CopTraf_Away",d:1.47},{n:"CopTraf_Come",d:2.87},{n:"CopTraf_Left",d:2},{n:"CopTraf_Stop",d:2},{n:"COP_getoutcar_LHS",d:.83},{n:"Cop_move_FWD",d:1},{n:"crm_drgbst_01",d:18.57},{n:"Door_Kick",d:1.33},{n:"plc_drgbst_01",d:20.6},{n:"plc_drgbst_02",d:7.57}]],["POOL",[{n:"POOL_ChalkCue",d:4.83},{n:"POOL_Idle_Stance",d:2},{n:"POOL_Long_Shot",d:1.67},{n:"POOL_Long_Shot_O",d:1.67},{n:"POOL_Long_Start",d:.67},{n:"POOL_Long_Start_O",d:.67},{n:"POOL_Med_Shot",d:1.67},{n:"POOL_Med_Shot_O",d:1.67},{n:"POOL_Med_Start",d:.67},{n:"POOL_Med_Start_O",d:.67},{n:"POOL_Place_White",d:2.5},{n:"POOL_Short_Shot",d:1.67},{n:"POOL_Short_Shot_O",d:1.67},{n:"POOL_Short_Start",d:.67},{n:"POOL_Short_Start_O",d:.67},{n:"POOL_Walk",d:1.27},{n:"POOL_Walk_Start",d:.2},{n:"POOL_XLong_Shot",d:1.67},{n:"POOL_XLong_Shot_O",d:1.67},{n:"POOL_XLong_Start",d:.67},{n:"POOL_XLong_Start_O",d:.67}]],["POOR",[{n:"WINWASH_Start",d:.43},{n:"WINWASH_Wash2Beg",d:2.13}]],["PYTHON",[{n:"python_crouchfire",d:1.2},{n:"python_crouchreload",d:1},{n:"python_fire",d:1.17},{n:"python_fire_poor",d:1.47},{n:"python_reload",d:.93}]],["QUAD",[{n:"QUAD_back",d:.1},{n:"QUAD_driveby_FT",d:.2},{n:"QUAD_driveby_LHS",d:.2},{n:"QUAD_driveby_RHS",d:.2},{n:"QUAD_FWD",d:.2},{n:"QUAD_getoff_B",d:1.63},{n:"QUAD_getoff_LHS",d:.67},{n:"QUAD_getoff_RHS",d:.7},{n:"QUAD_geton_LHS",d:.73},{n:"QUAD_geton_RHS",d:.73},{n:"QUAD_hit",d:.03},{n:"QUAD_kick",d:1.13},{n:"QUAD_Left",d:.13},{n:"QUAD_passenger",d:.03},{n:"QUAD_reverse",d:.17},{n:"QUAD_ride",d:.03},{n:"QUAD_Right",d:.13}]],["QUAD_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["RAPPING",[{n:"Laugh_01",d:5.33},{n:"RAP_A_IN",d:.83},{n:"RAP_A_Loop",d:2.67},{n:"RAP_A_OUT",d:.33},{n:"RAP_B_IN",d:1},{n:"RAP_B_Loop",d:2.67},{n:"RAP_B_OUT",d:.87},{n:"RAP_C_Loop",d:3}]],["RIFLE",[{n:"RIFLE_crouchfire",d:.87},{n:"RIFLE_crouchload",d:1.27},{n:"RIFLE_fire",d:.8},{n:"RIFLE_fire_poor",d:.8},{n:"RIFLE_load",d:1.4}]],["RIOT",[{n:"RIOT_ANGRY",d:5},{n:"RIOT_ANGRY_B",d:.63},{n:"RIOT_challenge",d:3.23},{n:"RIOT_CHANT",d:1.73},{n:"RIOT_FUKU",d:.67},{n:"RIOT_PUNCHES",d:.67},{n:"RIOT_shout",d:1}]],["ROB_BANK",[{n:"CAT_Safe_End",d:.5},{n:"CAT_Safe_Open",d:3.33},{n:"CAT_Safe_Open_O",d:3.33},{n:"CAT_Safe_Rob",d:1.83},{n:"SHP_HandsUp_Scr",d:.67}]],["ROCKET",[{n:"idle_rocket",d:1.6},{n:"RocketFire",d:.97},{n:"run_rocket",d:.77},{n:"walk_rocket",d:1.07},{n:"WALK_start_rocket",d:.2}]],["RUNNINGMAN",[{n:"Dance_B1",d:.53},{n:"Dance_B2",d:.57},{n:"Dance_B3",d:.53},{n:"Dance_B4",d:.57},{n:"Dance_B5",d:.53},{n:"Dance_B6",d:.57},{n:"Dance_B7",d:.53},{n:"Dance_B8",d:.57},{n:"Dance_B9",d:.53},{n:"Dance_B10",d:.57},{n:"Dance_B11",d:.53},{n:"Dance_B12",d:.57},{n:"Dance_B13",d:.53},{n:"Dance_B14",d:.57},{n:"Dance_B15",d:.53},{n:"Dance_B16",d:.57},{n:"Dance_G1",d:.53},{n:"Dance_G2",d:.57},{n:"Dance_G3",d:.53},{n:"Dance_G4",d:.57},{n:"Dance_G5",d:.53},{n:"Dance_G6",d:.57},{n:"Dance_G7",d:.53},{n:"Dance_G8",d:.57},{n:"Dance_G9",d:.53},{n:"Dance_G10",d:.57},{n:"Dance_G11",d:.53},{n:"Dance_G12",d:.57},{n:"Dance_G13",d:.53},{n:"Dance_G14",d:.57},{n:"Dance_G15",d:.53},{n:"Dance_G16",d:.57},{n:"dance_loop",d:1.17}]],["RUSTLER",[{n:"Plane_align_LHS",d:.73},{n:"Plane_close",d:.4},{n:"Plane_getin",d:.8},{n:"Plane_getout",d:1.57},{n:"Plane_open",d:.7}]],["RYDER",[{n:"RYD_Beckon_01",d:1.23},{n:"RYD_Beckon_02",d:1},{n:"RYD_Beckon_03",d:1.07},{n:"RYD_Die_PT1",d:4},{n:"RYD_Die_PT2",d:7.93},{n:"Van_Crate_L",d:.67},{n:"Van_Crate_R",d:.67},{n:"Van_Fall_L",d:.47},{n:"Van_Fall_R",d:.93},{n:"Van_Lean_L",d:.67},{n:"Van_Lean_R",d:.67},{n:"VAN_PickUp_E",d:1.83},{n:"VAN_PickUp_S",d:1.5},{n:"Van_Stand",d:.67},{n:"Van_Stand_Crate",d:.67},{n:"Van_Throw",d:1.37}]],["SAMP",[{n:"FishingIdle",d:1}]],["SCRATCHING",[{n:"scdldlp",d:.67},{n:"scdlulp",d:.67},{n:"scdrdlp",d:.67},{n:"scdrulp",d:.67},{n:"sclng_l",d:1},{n:"sclng_r",d:1},{n:"scmid_l",d:.47},{n:"scmid_r",d:.47},{n:"scshrtl",d:.2},{n:"scshrtr",d:.2},{n:"sc_ltor",d:.67},{n:"sc_rtol",d:.67}]],["SHAMAL",[{n:"SHAMAL_align",d:.2},{n:"SHAMAL_getin_LHS",d:1.4},{n:"SHAMAL_getout_LHS",d:1.37},{n:"SHAMAL_open",d:.6}]],["SHOP",[{n:"ROB_2Idle",d:1.17},{n:"ROB_Loop",d:2.67},{n:"ROB_Loop_Threat",d:2},{n:"ROB_Shifty",d:5.67},{n:"ROB_StickUp_In",d:.53},{n:"SHP_Duck",d:.67},{n:"SHP_Duck_Aim",d:.33},{n:"SHP_Duck_Fire",d:.83},{n:"SHP_Gun_Aim",d:.63},{n:"SHP_Gun_Duck",d:.5},{n:"SHP_Gun_Fire",d:.87},{n:"SHP_Gun_Grab",d:.87},{n:"SHP_Gun_Threat",d:.83},{n:"SHP_HandsUp_Scr",d:.67},{n:"SHP_Jump_Glide",d:.33},{n:"SHP_Jump_Land",d:.7},{n:"SHP_Jump_Launch",d:.57},{n:"SHP_Rob_GiveCash",d:3.83},{n:"SHP_Rob_HandsUp",d:2.67},{n:"SHP_Rob_React",d:2.67},{n:"SHP_Serve_End",d:5.5},{n:"SHP_Serve_Idle",d:5},{n:"SHP_Serve_Loop",d:4.17},{n:"SHP_Serve_Start",d:1.33},{n:"Smoke_RYD",d:6.67}]],["SHOTGUN",[{n:"shotgun_crouchfire",d:1.47},{n:"shotgun_fire",d:1.47},{n:"shotgun_fire_poor",d:1.5}]],["SILENCED",[{n:"CrouchReload",d:1},{n:"SilenceCrouchfire",d:.93},{n:"Silence_fire",d:.87},{n:"Silence_reload",d:.93}]],["SKATE",[{n:"skate_idle",d:1},{n:"skate_run",d:.83},{n:"skate_sprint",d:.67}]],["SMOKING",[{n:"F_smklean_loop",d:4},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"M_smk_drag",d:3.67},{n:"M_smk_in",d:6.67},{n:"M_smk_loop",d:3.33},{n:"M_smk_out",d:3},{n:"M_smk_tap",d:3}]],["SNIPER",[{n:"WEAPON_sniper",d:1.47}]],["SnM",[{n:"SnM_Caned_Idle_P",d:2},{n:"SnM_Caned_Idle_W",d:2},{n:"SnM_Caned_P",d:1.33},{n:"SnM_Caned_W",d:1.33},{n:"SnM_Cane_Idle_P",d:2},{n:"SnM_Cane_Idle_W",d:2},{n:"SnM_Cane_P",d:1.33},{n:"SnM_Cane_W",d:1.33},{n:"SpankedP",d:1.33},{n:"SpankedW",d:1.33},{n:"Spanked_IdleP",d:1.33},{n:"Spanked_IdleW",d:1.33},{n:"SpankingP",d:1.33},{n:"SpankingW",d:1.33},{n:"Spanking_endP",d:6.67},{n:"Spanking_endW",d:6.67},{n:"Spanking_IdleP",d:1.33},{n:"Spanking_IdleW",d:1.33},{n:"Spanking_SittingIdleP",d:1.33},{n:"Spanking_SittingIdleW",d:1.33},{n:"Spanking_SittingP",d:1},{n:"Spanking_SittingW",d:1}]],["SPRAYCAN",[{n:"spraycan_fire",d:2.33},{n:"spraycan_full",d:4.5}]],["STRIP",[{n:"PLY_CASH",d:1.67},{n:"PUN_CASH",d:3.33},{n:"PUN_HOLLER",d:5},{n:"PUN_LOOP",d:1.93},{n:"strip_A",d:2.07},{n:"strip_B",d:1},{n:"strip_C",d:.97},{n:"strip_D",d:1.9},{n:"strip_E",d:3.33},{n:"strip_F",d:1.03},{n:"strip_G",d:2.27},{n:"STR_A2B",d:4},{n:"STR_B2A",d:.5},{n:"STR_B2C",d:5},{n:"STR_C1",d:6},{n:"STR_C2",d:6},{n:"STR_C2B",d:1},{n:"STR_Loop_A",d:1},{n:"STR_Loop_B",d:2},{n:"STR_Loop_C",d:3}]],["SUNBATHE",[{n:"batherdown",d:3.93},{n:"batherup",d:12.3},{n:"Lay_Bac_in",d:2.33},{n:"Lay_Bac_out",d:3},{n:"ParkSit_M_IdleA",d:3.33},{n:"ParkSit_M_IdleB",d:2.67},{n:"ParkSit_M_IdleC",d:4.33},{n:"ParkSit_M_in",d:2.33},{n:"ParkSit_M_out",d:2},{n:"ParkSit_W_idleA",d:3.33},{n:"ParkSit_W_idleB",d:5},{n:"ParkSit_W_idleC",d:3},{n:"ParkSit_W_in",d:4},{n:"ParkSit_W_out",d:2.67},{n:"SBATHE_F_LieB2Sit",d:1.67},{n:"SBATHE_F_Out",d:2},{n:"SitnWait_in_W",d:4.67},{n:"SitnWait_out_W",d:2.67}]],["SWAT",[{n:"gnstwall_injurd",d:2},{n:"JMP_Wall1m_180",d:1.17},{n:"Rail_fall",d:3},{n:"Rail_fall_crawl",d:5.67},{n:"swt_breach_01",d:5.47},{n:"swt_breach_02",d:5.33},{n:"swt_breach_03",d:4.3},{n:"swt_go",d:1.67},{n:"swt_lkt",d:3},{n:"swt_sty",d:1.17},{n:"swt_vent_01",d:4.73},{n:"swt_vent_02",d:4.43},{n:"swt_vnt_sht_die",d:.67},{n:"swt_vnt_sht_in",d:1.6},{n:"swt_vnt_sht_loop",d:.27},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43}]],["SWEET",[{n:"ho_ass_slapped",d:2},{n:"LaFin_Player",d:26.67},{n:"LaFin_Sweet",d:26.67},{n:"plyr_hndshldr_01",d:4},{n:"sweet_ass_slap",d:2},{n:"sweet_hndshldr_01",d:4},{n:"Sweet_injuredloop",d:2}]],["SWIM",[{n:"Swim_Breast",d:1.3},{n:"SWIM_crawl",d:.9},{n:"Swim_Dive_Under",d:1.07},{n:"Swim_Glide",d:1.47},{n:"Swim_jumpout",d:.33},{n:"Swim_Tread",d:1.3},{n:"Swim_Under",d:1.5}]],["SWORD",[{n:"sword_1",d:.87},{n:"sword_2",d:1.07},{n:"sword_3",d:.8},{n:"sword_4",d:1.1},{n:"sword_block",d:.47},{n:"Sword_Hit_1",d:.83},{n:"Sword_Hit_2",d:1.03},{n:"Sword_Hit_3",d:.87},{n:"sword_IDLE",d:1},{n:"sword_part",d:.67}]],["TANK",[{n:"TANK_align_LHS",d:1.43},{n:"TANK_close_LHS",d:.33},{n:"TANK_doorlocked",d:.53},{n:"TANK_getin_LHS",d:.43},{n:"TANK_getout_LHS",d:1.97},{n:"TANK_open_LHS",d:.3}]],["TATTOOS",[{n:"TAT_ArmL_In_O",d:.83},{n:"TAT_ArmL_In_P",d:.83},{n:"TAT_ArmL_In_T",d:.83},{n:"TAT_ArmL_Out_O",d:.93},{n:"TAT_ArmL_Out_P",d:2.5},{n:"TAT_ArmL_Out_T",d:.93},{n:"TAT_ArmL_Pose_O",d:.83},{n:"TAT_ArmL_Pose_P",d:.83},{n:"TAT_ArmL_Pose_T",d:.83},{n:"TAT_ArmR_In_O",d:.83},{n:"TAT_ArmR_In_P",d:.83},{n:"TAT_ArmR_In_T",d:.83},{n:"TAT_ArmR_Out_O",d:1},{n:"TAT_ArmR_Out_P",d:2.5},{n:"TAT_ArmR_Out_T",d:1},{n:"TAT_ArmR_Pose_O",d:.83},{n:"TAT_ArmR_Pose_P",d:.83},{n:"TAT_ArmR_Pose_T",d:.83},{n:"TAT_Back_In_O",d:.83},{n:"TAT_Back_In_P",d:.83},{n:"TAT_Back_In_T",d:.83},{n:"TAT_Back_Out_O",d:.93},{n:"TAT_Back_Out_P",d:2.5},{n:"TAT_Back_Out_T",d:.93},{n:"TAT_Back_Pose_O",d:.83},{n:"TAT_Back_Pose_P",d:.83},{n:"TAT_Back_Pose_T",d:.83},{n:"TAT_Back_Sit_In_P",d:.83},{n:"TAT_Back_Sit_Loop_P",d:2.67},{n:"TAT_Back_Sit_Out_P",d:.83},{n:"TAT_Bel_In_O",d:.83},{n:"TAT_Bel_In_T",d:.83},{n:"TAT_Bel_Out_O",d:.97},{n:"TAT_Bel_Out_T",d:.97},{n:"TAT_Bel_Pose_O",d:.83},{n:"TAT_Bel_Pose_T",d:.83},{n:"TAT_Che_In_O",d:.83},{n:"TAT_Che_In_P",d:.83},{n:"TAT_Che_In_T",d:.83},{n:"TAT_Che_Out_O",d:.93},{n:"TAT_Che_Out_P",d:2.5},{n:"TAT_Che_Out_T",d:.93},{n:"TAT_Che_Pose_O",d:.83},{n:"TAT_Che_Pose_P",d:.83},{n:"TAT_Che_Pose_T",d:.83},{n:"TAT_Drop_O",d:.5},{n:"TAT_Idle_Loop_O",d:2.67},{n:"TAT_Idle_Loop_T",d:2.67},{n:"TAT_Sit_In_O",d:2.33},{n:"TAT_Sit_In_P",d:2.33},{n:"TAT_Sit_In_T",d:2.33},{n:"TAT_Sit_Loop_O",d:2.67},{n:"TAT_Sit_Loop_P",d:2.67},{n:"TAT_Sit_Loop_T",d:2.67},{n:"TAT_Sit_Out_O",d:2.83},{n:"TAT_Sit_Out_P",d:2.17},{n:"TAT_Sit_Out_T",d:2.83}]],["TEC",[{n:"TEC_crouchfire",d:.97},{n:"TEC_crouchreload",d:1.33},{n:"TEC_fire",d:1.1},{n:"TEC_reload",d:1.5}]],["TRAIN",[{n:"tran_gtup",d:3.17},{n:"tran_hng",d:2.33},{n:"tran_ouch",d:1.17},{n:"tran_stmb",d:2.33}]],["TRUCK",[{n:"TRUCK_ALIGN_LHS",d:.57},{n:"TRUCK_ALIGN_RHS",d:.57},{n:"TRUCK_closedoor_LHS",d:.4},{n:"TRUCK_closedoor_RHS",d:.4},{n:"TRUCK_close_LHS",d:.73},{n:"TRUCK_close_RHS",d:.73},{n:"TRUCK_getin_LHS",d:.6},{n:"TRUCK_getin_RHS",d:.6},{n:"TRUCK_getout_LHS",d:.8},{n:"TRUCK_getout_RHS",d:.8},{n:"TRUCK_jackedLHS",d:1.73},{n:"TRUCK_jackedRHS",d:1.5},{n:"TRUCK_open_LHS",d:.53},{n:"TRUCK_open_RHS",d:.53},{n:"TRUCK_pullout_LHS",d:.9},{n:"TRUCK_pullout_RHS",d:.9},{n:"TRUCK_Shuffle",d:.4}]],["UZI",[{n:"UZI_crouchfire",d:.63},{n:"UZI_crouchreload",d:1.37},{n:"UZI_fire",d:.57},{n:"UZI_fire_poor",d:.53},{n:"UZI_reload",d:1.4}]],["VAN",[{n:"VAN_close_back_LHS",d:.33},{n:"VAN_close_back_RHS",d:.33},{n:"VAN_getin_Back_LHS",d:.6},{n:"VAN_getin_Back_RHS",d:.6},{n:"VAN_getout_back_LHS",d:.63},{n:"VAN_getout_back_RHS",d:.63},{n:"VAN_open_back_LHS",d:.97},{n:"VAN_open_back_RHS",d:.97}]],["VENDING",[{n:"VEND_Drink2_P",d:3.33},{n:"VEND_Drink_P",d:1.33},{n:"vend_eat1_P",d:4.33},{n:"VEND_Eat_P",d:1.67},{n:"VEND_Use",d:2.6},{n:"VEND_Use_pt2",d:.4}]],["VORTEX",[{n:"CAR_jumpin_LHS",d:1},{n:"CAR_jumpin_RHS",d:.93},{n:"vortex_getout_LHS",d:1},{n:"vortex_getout_RHS",d:1}]],["WAYFARER",[{n:"WF_Back",d:.1},{n:"WF_drivebyFT",d:.2},{n:"WF_drivebyLHS",d:.2},{n:"WF_drivebyRHS",d:.2},{n:"WF_Fwd",d:.2},{n:"WF_getoffBACK",d:1.73},{n:"WF_getoffLHS",d:.9},{n:"WF_getoffRHS",d:.9},{n:"WF_hit",d:.03},{n:"WF_jumponL",d:.9},{n:"WF_jumponR",d:.9},{n:"WF_kick",d:1.03},{n:"WF_Left",d:.13},{n:"WF_passenger",d:.03},{n:"WF_pushes",d:.97},{n:"WF_Ride",d:.03},{n:"WF_Right",d:.13},{n:"WF_Still",d:.03}]],["WEAPONS",[{n:"SHP_1H_Lift",d:1},{n:"SHP_1H_Lift_End",d:.33},{n:"SHP_1H_Ret",d:.83},{n:"SHP_1H_Ret_S",d:.33},{n:"SHP_2H_Lift",d:.93},{n:"SHP_2H_Lift_End",d:.33},{n:"SHP_2H_Ret",d:.9},{n:"SHP_2H_Ret_S",d:.33},{n:"SHP_Ar_Lift",d:1},{n:"SHP_Ar_Lift_End",d:.33},{n:"SHP_Ar_Ret",d:1.17},{n:"SHP_Ar_Ret_S",d:.33},{n:"SHP_G_Lift_In",d:.67},{n:"SHP_G_Lift_Out",d:.67},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:2.67}]],["WOP",[{n:"Dance_B1",d:1.13},{n:"Dance_B2",d:1.17},{n:"Dance_B3",d:1.13},{n:"Dance_B4",d:1.17},{n:"Dance_B5",d:1.13},{n:"Dance_B6",d:1.17},{n:"Dance_B7",d:1.13},{n:"Dance_B8",d:1.17},{n:"Dance_B9",d:1.13},{n:"Dance_B10",d:1.17},{n:"Dance_B11",d:1.13},{n:"Dance_B12",d:1.17},{n:"Dance_B13",d:1.13},{n:"Dance_B14",d:1.17},{n:"Dance_B15",d:1.13},{n:"Dance_B16",d:1.17},{n:"Dance_G1",d:1.13},{n:"Dance_G2",d:1.17},{n:"Dance_G3",d:1.13},{n:"Dance_G4",d:1.17},{n:"Dance_G5",d:1.13},{n:"Dance_G6",d:1.17},{n:"Dance_G7",d:1.13},{n:"Dance_G8",d:1.17},{n:"Dance_G9",d:1.13},{n:"Dance_G10",d:1.17},{n:"Dance_G11",d:1.13},{n:"Dance_G12",d:1.17},{n:"Dance_G13",d:1.13},{n:"Dance_G14",d:1.17},{n:"Dance_G15",d:1.13},{n:"Dance_G16",d:1.17},{n:"dance_loop",d:1.17}]],["WUZI",[{n:"CS_Dead_Guy",d:5.07},{n:"CS_Plyr_pt1",d:3.77},{n:"CS_Plyr_pt2",d:9.67},{n:"CS_Wuzi_pt1",d:3.77},{n:"CS_Wuzi_pt2",d:9.67},{n:"Walkstart_Idle_01",d:3.17},{n:"Wuzi_follow",d:3},{n:"Wuzi_Greet_Plyr",d:4},{n:"Wuzi_Greet_Wuzi",d:4},{n:"Wuzi_grnd_chk",d:4},{n:"Wuzi_stand_loop",d:2.67},{n:"Wuzi_Walk",d:1.17}]]]),Al=e=>{const t=pl.get(e);return t===void 0?!1:t},qe=(e,t)=>{const n=Al(e);if(n)return n.find(r=>r.n===t)?.d},[et]=u({name:"OnClientCheckResponse",beforeEach(e,t,n,r){return{player:g.getInstance(e),actionId:t,memAddr:n,data:r}}});class g{constructor(t){this.id=t}static players=new Map;charset="ISO-8859-1";locale="en_US";lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;sendClientMessage(t,n){return ze(this,t,n)}static sendClientMessageToAll(t,n,r){Yr(t,n,r)}sendPlayerMessage(t,n){return Ye(t,this.id,n)}sendPlayerMessageToAll(t,n){return Jr(t,this.id,n)}isNpc(){return vi(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Pd(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return s.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));pd(this.id,t)}allowTeleport(t){c.AllowPlayerTeleport(this.id,t)}isTeleportAllowed(){return c.IsPlayerTeleportAllowed(this.id)}enableCameraTarget(t){zo(this.id,t)}enableStuntBonus(t){as(this.id,t)}getInterior(){return dd(this.id)}setInterior(t){return ad(this.id,t)}showPlayerNameTag(t,n){Vo(this.id,t.id,n)}setColor(t){Ad(this.id,t)}getColor(){return fd(this.id)}setPlayerMarker(t,n){vo(this.id,t.id,n)}resetMoney(){return Od(this.id)}getMoney(){return Bd(this.id)}giveMoney(t){return Rd(this.id,t)}resetWeapons(){return Dd(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):$a(this.id)}setHealth(t){return od(this.id,t)}getHealth(){return sd(this.id)}toggleClock(t){return Hd(this.id,t)}toggleControllable(t){return Bo(this.id,t)}toggleSpectating(t){return os(this.id,t)}spectatePlayer(t,n=ae.NORMAL){return ss(this.id,t.id,n)}spectateVehicle(t,n=ae.NORMAL){return ls(this.id,t.id,n)}forceClassSelection(){vd(this.id)}kick(){Ui(this.id)}ban(){Wi(this.id)}banEx(t,n){ei(this.id,t,n)}isAdmin(){return Vi(this.id)}isInRangeOfPoint(t,n,r,i){return nd(this.id,t,n,r,i)}isStreamedIn(t){return id(this.id,t.id)}setSkin(t,n=!1){return!n&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===se.DUCK?0:Ed(this.id,t)}getSkin(){return Cd(this.id)}isInAnyVehicle(){return ns(this.id)}getSpecialAction(){return Mo(this.id)}setSpecialAction(t){return No(this.id,t)}setScore(t){return yd(this.id,t)}getScore(){return Id(this.id)}getPing(){return Gd(this.id)||0}setPos(t,n,r){return Je(this.id,t,n,r)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===Y.NONE)return;const[t,n,r]=qa(this.id);return{x:t,y:n,z:r}}isSpectating(){return this.getState()===Y.SPECTATING}isWasted(){return this.getState()===Y.WASTED}getState(){return wd(this.id)}getVersion(){return this.isNpc()?"":yl(this.id)}setVirtualWorld(t){return rs(this.id,t)}getVirtualWorld(){return is(this.id)}removeFromVehicle(){return Oo(this.id)}setWantedLevel(t){return t<0||t>6?(s.error("[Player]: player's wanted level ranges from 0 to 6"),0):Vd(this.id,t)}getWantedLevel(){return Ud(this.id)}setFacingAngle(t){return ed(this.id,t)}getFacingAngle(){return td(this.id)}setWeather(t){if(t<0||t>255){s.warn("[Player]: The valid weather value is only 0 to 255");return}xd(this.id,t)}getWeather(){return c.GetPlayerWeather(this.id)}setTime(t,n){if(t<0||t>23){s.warn("[Player]: The valid hour value is only 0 to 23");return}if(n<0||n>59){s.warn("[Player]: The valid minute value is only 0 to 59");return}return Md(this.id,t,n)}getTime(){const[t,n]=Nd(this.id);return{hour:t,minute:n}}removeBuilding(t,n,r,i,d){to(this.id,t,n,r,i,d)}setTeam(t){t<0||t>T.NO_TEAM||gd(this.id,t)}getTeam(){return md(this.id)}setSkillLevel(t,n){if(n<0||n>999){s.warn("[Player]: The valid skill level is only 0 to 999");return}$d(this.id,t,n)}getName(){return Qr(this)}setName(t){return qr(this,t)}setVelocity(t,n,r){return jd(this.id,t,n,r)}getVelocity(){const[t,n,r]=Zd(this.id);return{x:t,y:n,z:r}}getKeys(){const[t,n,r]=Fd(this.id);return{keys:t,updown:n,leftright:r}}getIp(){return gl(this.id)}getFightingStyle(){return Kd(this.id)}setFightingStyle(t){Wd(this.id,t)}setArmour(t){return ld(this.id,t)}getArmour(){return _d(this.id)}setCameraBehind(){return Ko(this.id)}setCameraPos(t,n,r){return Uo(this.id,t,n,r)}setCameraLookAt(t,n,r,i){return Wo(this.id,t,n,r,i)}getCameraAspectRatio(){return $o(this.id)}getCameraFrontVector(){const[t,n,r]=Zo(this.id);return{x:t,y:n,z:r}}getCameraMode(){return Xo(this.id)}getCameraPos(){const[t,n,r]=jo(this.id);return{x:t,y:n,z:r}}getCameraTargetPlayer(t){const n=Jo(this.id);return t.find(r=>r.id===n)}getCameraTargetVehicle(t){const n=Yo(this.id);return t.find(r=>r.id===n)}getCameraZoom(){return Qo(this.id)}playAudioStream(t,n=0,r=0,i=0,d=5){let o=!1;return(n!==0||r!==0||i!==0)&&(o=!0),zd(this.id,t,n,r,i,d,o)}stopAudioStream(){Yd(this.id)}playSound(t,n=0,r=0,i=0){return wo(this.id,t,n,r,i)}static getPoolSize(){return mi()}static getMaxPlayers(){return Si()}playCrimeReport(t,n){return n<3||n>22?(s.warn("[Player]: Available crime ids range from 3 to 22"),0):Xd(this.id,t.id,n)}interpolateCameraPos(t,n,r,i,d,o,l,_=ie.CUT){qo(this.id,t,n,r,i,d,o,l,_)}interpolateCameraLookAt(t,n,r,i,d,o,l,_=ie.CUT){es(this.id,t,n,r,i,d,o,l,_)}createExplosion(t,n,r,i,d){return i<0||i>13?(s.error("[Player]: The valid explosion type value is only 0 to 13"),0):Ss(this.id,t,n,r,i,d)}static isConnected(t){return $e(t)}isConnected(){return $e(this.id)}disableRemoteVehicleCollisions(t){return Ho(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const n=bo(this.id);return t.find(r=>r.id===n)}getVehicleSeat(){return Ro(this.id)}getSurfingVehicle(t){const n=Qd(this.id);if(n!==T.VEHICLE_ID)return t.find(r=>r.id===n)}applyAnimation(t,n,r=!1,i=!0,d=!0,o=!1,l=!1){const _=qe(t,n);if(_===void 0)return s.error("[Player]: Invalid anim library or name");Go(this.id,t,n,4.1,r,i,d,o,r?0:_,l)}clearAnimations(t=!1){ko(this.id,t)}getAnimationIndex(){return Fo(this.id)}getAnimationName(){const[t,n]=ml(this.getAnimationIndex());return{animLib:t,animName:n}}setShopName(t){Jd(this.id,t)}setPosFindZ(t,n,r=150){return new Promise(i=>{Je(this.id,t,n,r),setTimeout(()=>i(Qa(this.id,t,n,r)))})}setWorldBounds(t,n,r,i){xo(this.id,t,n,r,i)}setChatBubble(t,n,r,i){Do(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return rd(this.id,t,n,r)}getCustomSkin(){return ll(this.id)}getTargetPlayer(t){const n=Sd(this.id);if(n!==T.PLAYER_ID)return t.find(r=>r.id===n)}getLastShotVectors(){const[t,n,r,i,d,o]=no(this.id);return{fOriginX:t,fOriginY:n,fOriginZ:r,fHitPosX:i,fHitPosY:d,fHitPosZ:o}}getWeapon(){return kd(this.id)}getWeaponData(t){if(t<0||t>12){s.error("[Player]: weapon slots range from 0 to 12");return}const[n,r]=bd(this.id,t);return{weapons:n,ammo:r}}getWeaponState(){return ud(this.id)}giveWeapon(t,n){return Td(this.id,t,n)}setAmmo(t,n){return cd(this.id,t,n)}getAmmo(){return hd(this.id)}setArmedWeapon(t){return Ld(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(T.PLAYER_ID,T.PLAYER_ID,le.CONNECT)}sendDeathMessage(t,n){oi(t===T.PLAYER_ID?t:t.id,this.id,n)}sendDeathMessageToPlayer(t,n,r){si(this.id,t===T.PLAYER_ID?t:t.id,n===T.PLAYER_ID?n:n.id,r)}setSpawnInfo(t,n,r,i,d,o,l,_,S,m,y,P){t<0||t>T.NO_TEAM||n<0||n>311||n==74||_<0||m<0||P<0||Ja(this.id,t,n,r,i,d,o,l,_,S,m,y,P)}redirectDownload(t){return _l(this.id,t)}sendClientCheck(t,n,r,i){const d=[2,5,69,70,71,72];return d.includes(t)?new Promise((o,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const _="[Player]: An attempt to check the player client response timed out",S=this.getPing(),m=(S>=200?0:S)+200;let y=null;const P=et(({player:f,actionId:D,memAddr:B,data:x,next:ne})=>{if(f!==this)return ne();y?(clearTimeout(y),y=null,l(_)):o({actionId:D,memAddr:B,data:x});const _t=ne();return P(),_t});y=setTimeout(()=>{P(),l(_)},m),gs(this.id,t,n,r,i)}):s.error(`[Player]: sendClientCheck valid types are ${d.toString()}`)}selectTextDraw(t){hs(this.id,t)}cancelSelectTextDraw(){us(this.id)}beginObjectSelecting(){Xa(this.id)}endObjectEditing(){za(this.id)}getSurfingObject(t){const n=qd(this.id);if(n!==T.OBJECT_ID)return t.get(n)}getSurfingPlayerObject(t){const n=eo(this.id);if(n!==T.OBJECT_ID)return t.get(n)}isAttachedObjectSlotUsed(t){return ao(this.id,t)}setAttachedObject(t,n,r,i,d,o,l,_,S,m,y,P,f,D){return this.isAttachedObjectSlotUsed(t)?0:ro(this.id,t,n,r,i,d,o,l,_,S,m,y,P,f,D)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?io(this.id,t):0}toggleWidescreen(t){return c.TogglePlayerWidescreen(this.id,t)}isPlayerWidescreenToggled(){return c.IsPlayerWidescreenToggled(this.id)}getSpawnInfo(){return c.GetSpawnInfo(this.id)}getSkillLevel(t){return c.GetPlayerSkillLevel(this.id,t)}isCheckpointActive(){return c.IsPlayerCheckpointActive(this.id)}getCheckpoint(){return c.GetPlayerCheckpoint(this.id)}isRaceCheckpointActive(){return c.IsPlayerRaceCheckpointActive(this.id)}getRaceCheckpoint(){return c.GetPlayerRaceCheckpoint(this.id)}getWorldBounds(){c.GetPlayerWorldBounds(this.id)}isInModShop(){return c.IsPlayerInModShop(this.id)}getSirenState(){return c.GetPlayerSirenState(this.id)}getLandingGearState(){return c.GetPlayerLandingGearState(this.id)}getHydraReactorAngle(){return c.GetPlayerHydraReactorAngle(this.id)}getTrainSpeed(){return c.GetPlayerTrainSpeed(this.id)}getZAim(){return c.GetPlayerZAim(this.id)}getSurfingOffsets(){return c.GetPlayerSurfingOffsets(this.id)}getRotationQuat(){return c.GetPlayerRotationQuat(this.id)}getDialogID(){return c.GetPlayerDialogID(this.id)}getSpectateID(){return c.GetPlayerSpectateID(this.id)}getSpectateType(){return c.GetPlayerSpectateType(this.id)}getRawIp(){return c.GetPlayerRawIp(this.id)}setGravity(t){return c.SetPlayerGravity(this.id,t)}getGravity(){return c.GetPlayerGravity(this.id)}setAdmin(t){return c.SetPlayerAdmin(this.id,t)}isSpawned(){return c.IsPlayerSpawned(this.id)}isControllable(){return c.IsPlayerControllable(this.id)}isCameraTargetEnabled(){return c.IsPlayerCameraTargetEnabled(this.id)}toggleGhostMode(t){return c.TogglePlayerGhostMode(this.id,t)}getGhostMode(){return c.GetPlayerGhostMode(this.id)}getBuildingsRemoved(){return c.GetPlayerBuildingsRemoved(this.id)}getAttachedObject(t){return c.GetPlayerAttachedObject(this.id,t)}removeWeapon(t){return c.RemovePlayerWeapon(this.id,t)}isUsingOfficialClient(){return c.IsPlayerUsingOfficialClient(this.id)}allowWeapons(t){return c.AllowPlayerWeapons(this.id,t)}areWeaponsAllowed(){return c.ArePlayerWeaponsAllowed(this.id)}gpci(t=this.charset){return Za(this.id,t)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[tt]=u({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,n,r,i){return{player:g.getInstance(e),dialogId:t,response:n,listItem:r,buffer:i}}});tt(({next:e,player:t,dialogId:n,response:r,listItem:i,buffer:d})=>{const o=b.waitingQueue.get(t);return!o||o.showId!==n||setTimeout(()=>o.resolve({response:r,listItem:i,buffer:d})),e()});class b{id=-1;static showingIds=[];static max_dialogId=32767;dialog;static waitingQueue=new Map;constructor(t={style:oe.MSGBOX,caption:"",info:"",button1:"",button2:""}){this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,n=!1){const r=b.waitingQueue.get(t);if(!r)return!1;n&&r.reject("[Dialog]: player timeout does not respond or second request show dialog"),b.waitingQueue.delete(t);const i=b.showingIds.indexOf(r.showId);return i>-1&&b.showingIds.splice(i,1),!0}show(t){return new Promise((n,r)=>{for(b.close(t);(this.id===-1||b.showingIds.includes(this.id))&&b.showingIds.length!==b.max_dialogId;)this.id=Math.floor(Math.random()*(b.max_dialogId+1));if(this.id===-1){r("[Dialog]: The maximum number of dialogs is reached");return}b.showingIds.push(this.id),b.waitingQueue.set(t,{resolve:n,reject:r,showId:this.id}),$r(t,this.id,this.dialog)}).then(n=>{const{response:r,listItem:i}=n,d=A.decodeFromBuf(n.buffer,t.charset);return Promise.resolve({response:r,listItem:i,inputText:d})}).catch(n=>Promise.reject(n)).finally(()=>b.delDialogTask(t))}static close(t){b.delDialogTask(t,!0),Xn(t.id)}}const[nt]=u({name:"OnPlayerConnect",beforeEach(e){const t=new g(e);return g.players.set(e,t),{player:t}}}),[rt]=u({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:g.players.get(e),reason:t}},afterEach({player:e}){g.players.delete(e.id)}}),[it]=u({name:"OnPlayerUpdate",beforeEach(e){return{player:g.getInstance(e)}}}),[fl]=u({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const n=g.getInstance(e);return{player:n,text:A.decodeFromBuf(t,n.charset),buffer:t}}}),[El]=u({name:"OnPlayerEnterExitModShop",beforeEach(e,t,n){return{player:g.getInstance(e),enterExit:Boolean(t),interior:n}}}),[Cl]=u({name:"OnPlayerClickMap",beforeEach(e,t,n,r){return{player:g.getInstance(e),fX:t,fY:n,fZ:r}}}),[Tl]=u({name:"OnPlayerClickPlayer",beforeEach(e,t,n){return{player:g.getInstance(e),clickedPlayer:g.getInstance(t),source:n}}}),[Dl]=u({name:"OnPlayerDeath",beforeEach(e,t,n){return{player:g.getInstance(e),killer:g.getInstance(t)||T.PLAYER_ID,reason:n}}}),[Ll]=u({name:"OnPlayerGiveDamage",beforeEach(e,t,n,r,i){return{player:g.getInstance(e),damage:g.getInstance(t),amount:n,weapon:r,bodyPart:i}}}),[bl]=u({name:"OnPlayerKeyStateChange",beforeEach(e,t,n){return{player:g.getInstance(e),newKeys:t,oldKeys:n}}}),[Rl]=u({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:g.getInstance(e),classId:t}}}),[Ol]=u({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:g.getInstance(e)}}}),[Bl]=u({name:"OnPlayerSpawn",beforeEach(e){return{player:g.getInstance(e)}}}),[wl]=u({name:"OnPlayerStateChange",beforeEach(e,t,n){return{player:g.getInstance(e),newState:t,oldState:n}}}),[Gl]=u({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:g.getInstance(e),forPlayer:g.getInstance(t)}}}),[kl]=u({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:g.getInstance(e),forPlayer:g.getInstance(t)}}}),[Fl]=u({name:"OnPlayerTakeDamage",beforeEach(e,t,n,r,i){return{player:g.getInstance(e),damage:g.getInstance(t)||T.PLAYER_ID,amount:n,weapon:r,bodyPart:i}}}),[Ml]=u({name:"OnPlayerInteriorChange",beforeEach(e,t,n){return{player:g.getInstance(e),newInteriorId:t,oldInteriorId:n}}}),[Nl]=u({name:"OnPlayerRequestDownload",beforeEach(e,t,n){return{player:g.getInstance(e),type:t,crc:n}}}),[Hl]=u({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:g.getInstance(e),virtualWorld:t}}});let te=null;const[xl,vl]=u({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Vl,Ul]=u({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,n,r){return{player:e,pausedAt:t,now:n,diff:r}}});nt(({next:e})=>(!te&&g.getPoolSize()>-1&&(te=setInterval(()=>{g.getInstances().filter(t=>{const n=t.getState()!==Y.NONE;return!t.isPaused&&!t.isNpc()&&n}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,vl(t,t.lastUpdateTick))})},500)),e())),rt(({player:e,next:t})=>(te&&g.getPoolSize()<=0&&(clearInterval(te),te=null),b.close(e),t()));function Wl(e){if(!g.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const n=e.getDrunkLevel();if(n<100){e.setDrunkLevel(2e3),e.lastDrunkLevel=2e3,e.lastFps=0;return}e.lastUpdateFpsTick=t,e.lastFps=e.lastDrunkLevel-n-1,e.lastDrunkLevel=n}}it(({player:e,next:t})=>{if(!e.isNpc()){const n=Date.now();e.isPaused&&(e.isPaused=!1,Ul(e,e.lastUpdateTick,n,n-e.lastUpdateTick)),e.lastUpdateTick=n,Wl(e)}return t()});const $=new Map,at=/[^/\s]+/gi,_e={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"}},[Kl,jl]=u({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Zl,Xl]=u({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[zl,ce]=u({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,n){return{player:e,command:t,error:n}}}),[Yl]=u({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:g.getInstance(e),buffer:t}}});function Jl(e){const t=[];let n="";for(let r=0;r<e.length;r++)n+=e[r]+" ",t.push(n.trimEnd());return t.reverse()}Yl(({player:e,buffer:t,next:n})=>{const r=A.decodeFromBuf(t,e.charset).match(at),i=Jl(r).find(m=>$.get(m)),d=r.join(" ");if(!i)return ce(e,d,_e.NOT_EXIST);const o=jl(e,d);if(!o)return o;const l=$.get(i),[,_]=l,S=d.replace(i,"").trim().split(" ");return _(e,S)?Xl(e,d)?n():ce(e,d,_e.PERFORMED):ce(e,d,_e.REJECTED)});const dt={on(e,t){const n=Array.isArray(e)?e:[e],r=n.find(d=>!d.match(at));if(r)return console.log(`error command ${r} format`),()=>{};const i=n.map(d=>{const o=d.replaceAll("/","");if(!$.has(o)){const _=u({name:o,isNative:!1,beforeEach(S,m){return{player:S,subcommand:m}}});$.set(o,_)}const[l]=$.get(o);return l(t)});return()=>{i.forEach(d=>d())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{$.has(t)&&Ee(t)})}},ot=Object.freeze({onConnect:nt,onDisconnect:rt,onPause:xl,onResume:Vl,onUpdate:it,onText:fl,onEnterExitModShop:El,onClickMap:Cl,onClickPlayer:Tl,onDeath:Dl,onGiveDamage:Ll,onKeyStateChange:bl,onRequestClass:Rl,onRequestSpawn:Ol,onSpawn:Bl,onStateChange:wl,onStreamIn:Gl,onStreamOut:kl,onTakeDamage:Fl,onInteriorChange:Ml,onRequestDownload:Nl,onFinishedDownloading:Hl,onCheckResponse:et,onCommandReceived:Kl,onCommandPerformed:Zl,onCommandError:zl,onCommandText:dt.on,offCommandText:dt.off,onDialogResponse:tt}),$l=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Ql=[[13,18,19,20,21,24],[1,3,4,5,6,7,13,17,19,20,142,143,144,145],[],[],[0,2,7,13,16,17,19,20,21],[0,1,14,18,19,20,21,23],[],[],[],[],[1,3,7,13,17,19,20,21,23,24],[],[],[],[],[1,3,7,17,18,19,23],[],[],[2,6,16,20,21],[],[1,3,4,5,19,21],[0,14,16,18,19,20,21,23],[7,13,17,19,20,21],[],[],[],[1,3,4,5,6,19,21],[],[],[],null,[],[],[],[],[],[1,3,6,7,13,17,19,20,21,22],[],[],[1,3,7,13,17,23,142,143,144,145],[],[],[],[],[],[],null,[],null,null,[],[],null,null,null,[],[],[],[],[],[],null,null,null,[],[],[],[],null,[],[],[],null,null,[],[],[],[6,7,17,18,19,20,21],[4,5,12,13,20,21,22,24],[],[],null,[],[],null,[],[],[],[],[0,2,4,5,6,13,16,18,19,20,24],[],[3,7,14,17,18,19,20,21,23,142,143,144,145],[0,4,5,6,16],null,[],[],[1,2,3,6,7,11,17,19,20,23,142,143],[],[],[],[13,19,20,21,24],[],[],[],[],[],[],[],[],null,null,[],[],[],[],[],[0,2,4,7,15,16,17,18,19,20,21],[2,3,7,16,17,18,19,20,23,142,143,144,145],[1,3,5,6,7,13,17,18,20,23,142,143,144,145],[],[],null,null,null,[],[],[],[1,7,14,15,17,18,20,21],[],[1,3,6,7,11,12,17,18,19,20,23],[],[],[],[],[100,101,106,122,123,124,125,126,127,178,179,180,185],[109,110,113,114,115,116,117,118,119,120,121],[103,104,105,107,108,128,181,182,183,184],null,null,[],[1,4,6,7,17,18,19,20,23,24,142,143,144,145],[],[14,15,18,19,20,21,144,145],[],[],[],[1,2,4,6,7,17,18,19,23,24,142,143,144,145],[0,3,16,18,19,20,21,142,143],[],[1,3,7,11,12,17,18,19,20,23,142,143,144,145],[1,3,4,5,6,18,19,20,23,142,143,144,145],[2,3,5,6,16,18,19,20,21,23],[],[],[],[],[],[],[88,89,90,91,92,93,94,95,163,164,165,166,167,168],[65,66,67,68,69,70,71,72,158,159,160,161,162,173],[26,27,28,29,30,31,32,33,138,139,140,141,169,170],[55,56,57,58,59,60,61,62,63,64,154,155,156,157],[34,35,36,37,38,39,40,41,146,147,148,149,171,172],[],[],[45,46,47,48,49,50,51,52,53,54,150,151,152,153],[],[102,129,130,131,132,133,186,187,188,189],[],null,null,[],[],[],[],[42,43,44,99,174,175,176,177],[134,135,136,137,190,191,192,193],[],[],[],[1,6,7,17,18,20,23],null,[],[],[],[0,1,2,3,6,7,13,14,15,16,17,18,19,20,21,22,23,24,142,143,144,145],null,[],[],[0,4,5,6,7,13,16,17,18,20,24,144,145],null,[],[],[],[],null,[],[],[],[],[4,5,6,7,13,17,18,20,22],[],[],[1,6,7,17,18,19,20,23,24,142,143,144,145],[],[],[],[],[],[],[],[]],ql=(e,t)=>{if(!e_(e))return s.error("[vehicleUtils]: Invalid model id"),!1;const n=Ql[e-400];if(n===null)return!1;const r=t-1e3;return $l.includes(r)||n.includes(r)},e_=e=>e>=400&&e<=611,t_=(e,t)=>{if(t<0||t>2)return!1;const n=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return n===void 0?!1:t<=n};class E{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,n=!1){this.sourceInfo=t,this.isStatic=n}create(t=!1){if(this.id!==-1)return s.warn("[Vehicle]: Unable to create the vehicle again");if(E.createdCount===k.MAX_VEHICLES)return s.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:n,x:r,y:i,z:d,z_angle:o,color:l,respawn_delay:_,addSiren:S}=this.sourceInfo;if(!(!t&&(n<400||n>611))){if(this.isStatic){if(_===void 0){this._id=fi(n,r,i,d,o,l[0],l[1]);return}this._id=Ei(n,r,i,d,o,l[0],l[1],_||-1,S||!1)}else this._id=ms(n,r,i,d,o,l[0],l[1],_||-1,S||!1);E.createdCount++,E.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return s.warn("[Vehicle]: Unable to destroy the vehicle before create");ys(this.id),E.createdCount--,E.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:ql(this.getModel(),t)?Ms(this.id,t):(s.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(E.getComponentType(t))===0?(s.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):Ns(this.id,t)}getComponentInSlot(t){return zs(this.id,t)}static getComponentType(t){return Ys(t)}linkToInterior(t){return this.id===-1?0:Fs(this.id,t)}setVirtualWorld(t){return this.id===-1?0:rl(this.id,t)}getVirtualWorld(){return this.id===-1?0:il(this.id)}repair(){return this.id===-1?0:Js(this.id)}setPos(t,n,r){return this.id===-1?0:ps(this.id,t,n,r)}getPos(){if(this.id!==-1)return Ps(this.id)}getHealth(){return this.id===-1?0:Vs(this.id)}setHealth(t){return this.id===-1?0:vs(this.id,t)}isPlayerIn(t){return this.id===-1?!1:ts(t.id,this.id)}putPlayerIn(t,n){return this.id===-1||n<0?0:(n>4&&s.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),Lo(t.id,this.id,n))}getZAngle(){return this.id===-1?0:As(this.id)}setZAngle(t){return this.id===-1?0:Cs(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(s.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?Zs(this.id,t):(s.error("[Vehicle]: number plates only allow letters and numbers"),0)}static getPoolSize(){return yi()}changeColors(t,n){return this.id===-1?0:Hs(this.id,t,n)}setVelocity(t,n,r){return this.id===-1?0:Qs(this.id,t,n,r)}getVelocity(){if(this.id===-1)return;const[t,n,r]=$s(this.id);return{x:t,y:n,z:r}}setAngularVelocity(t,n,r){return this.id===-1?0:qs(this.id,t,n,r)}getDamageStatus(){if(this.id!==-1)return el(this.id)}updateDamageStatus(t,n,r,i){this.id!==-1&&tl(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Es(this.id,t,n,r)}getModel(){return Xs(this.id)}static getModelInfo(t,n){return nl(t,n)}getModelInfo(t){if(this.id!==-1)return E.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,n,r,i]=fs(this.id);return{w:t,x:n,y:r,z:i}}setRespawn(){return this.id===-1?0:ks(this.id)}isStreamedIn(t){return this.id===-1?!1:Is(this.id,t.id)}setParamsCarDoors(t,n,r,i){return this.id===-1?0:Os(this.id,t,n,r,i)}setParamsCarWindows(t,n,r,i){return this.id===-1?0:ws(this.id,t,n,r,i)}getParamsCarDoors(){if(this.id!==-1)return Bs(this.id)}getParamsCarWindows(){if(this.id!==-1)return Gs(this.id)}setParamsEx(t,n,r,i,d,o,l){return this.id===-1?0:Ls(this.id,t,n,r,i,d,o,l)}getParamsEx(){if(this.id===-1)return;const[t,n,r,i,d,o,l]=bs(this.id);return{engine:t,lights:n,alarm:r,doors:i,bonnet:d,boot:o,objective:l}}getParamsSirenState(){return this.id===-1?-2:Rs(this.id)}setParamsForPlayer(t,n,r){return this.id===-1?0:Ts(this.id,t.id,n,r)}isTrailerAttached(){return this.id===-1?!1:Ks(this.id)}changePaintjob(t){return this.id===-1||!t_(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),xs(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Us(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Ws(this.id)}getTrailer(t){if(this.id!==-1)return t.find(n=>n.id===js(this.id))}isValid(){return Qe(this.id)}static isValid(t){return Qe(t)}getMatrix(){if(this.id!==-1)return c.GetVehicleMatrix(this.id)}getTrainSpeed(){return this.id===-1?0:c.GetVehicleTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===-1?0:c.GetVehicleHydraReactorAngle(this.id)}getLandingGearState(){return this.id===-1?0:c.GetVehicleLandingGearState(this.id)}getSirenState(){return this.id===-1?0:c.GetVehicleSirenState(this.id)}static getModelsUsed=c.GetVehicleModelsUsed;getDriver(t){if(this.id!==-1)return t.get(c.GetVehicleDriver(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(c.GetVehicleLastDriver(this.id))}static getModelCount=c.GetVehicleModelCount;isSirenEnabled(){return c.IsVehicleSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===-1?0:c.ToggleVehicleSirenEnabled(this.id,t)}isDead(){return this.id===-1?!0:c.IsVehicleDead(this.id)}getRespawnTick(){return this.id===-1?0:c.GetVehicleRespawnTick(this.id)}isOccupied(){return this.id===-1?!1:c.IsVehicleOccupied(this.id)}hasBeenOccupied(){return this.id===-1?!1:c.HasVehicleBeenOccupied(this.id)}getOccupiedTick(){return this.id===-1?0:c.GetVehicleOccupiedTick(this.id)}getCab(){return this.id===-1?0:c.GetVehicleCab(this.id)}getRespawnDelay(){return this.id===-1?0:c.GetVehicleRespawnDelay(this.id)}setRespawnDelay(t){return this.id===-1?0:c.SetVehicleRespawnDelay(this.id,t)}getNumberPlate(){return this.id===-1?"":c.GetVehicleNumberPlate(this.id)}getInterior(){return this.id===-1?0:c.GetVehicleInterior(this.id)}getPaintjob(){return this.id===-1?-1:c.GetVehiclePaintjob(this.id)}getColors(){if(this.id!==-1)return c.GetVehicleColors(this.id)}setSpawnInfo(t,n,r,i,d,o,l,_=-2,S=-2,m=!1){return this.id===-1||!m&&(t<400||t>611)?0:c.SetVehicleSpawnInfo(this.id,t,n,r,i,d,p(o),p(l),_,S)}getSpawnInfo(){if(this.id!==-1)return c.GetVehicleSpawnInfo(this.id)}static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[st]=u({name:"OnGameModeInit"}),[lt]=u({name:"OnGameModeExit"}),[n_]=u({name:"OnIncomingConnection",beforeEach(e,t,n){return{playerId:e,ipAddress:t,port:n}}}),[r_]=u({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:A.decodeFromBuf(e)}}}),[i_]=u({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,n){return{ip:A.decodeFromBuf(e),password:A.decodeFromBuf(t),success:Boolean(n),ipBuffer:e,passwordBuffer:t}}}),K=[],Q=[],he=e=>{setTimeout(async()=>{try{const t=K.findIndex(r=>r.name===e);if(t===-1)return;const n=K[t];await n.load(),K.splice(t,1),Q.push(n)}catch(t){s.error(`[GameMode]: script ${e} load fail`),s.warn(new Error(JSON.stringify(t)))}})},ue=e=>{setTimeout(async()=>{try{const t=Q.findIndex(r=>r.name===e);if(t===-1)return;const n=Q[t];await n.unload(),Q.splice(t,1),K.push(n)}catch(t){s.error(`[GameMode]: script ${e} unload fail`),s.warn(new Error(JSON.stringify(t)))}})},a_=e=>{ue(e),he(e)};st(({next:e})=>(K.forEach(t=>he(t.name)),e())),lt(({next:e})=>(Q.forEach(t=>ue(t.name)),e()));const d_=function(e,...t){if(K.some(n=>n===e)||Q.some(n=>n===e)){s.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),K.push(e)};var o_={use(e,...t){return d_(e,...t),this},loadUseScript:he,reloadUseScript:a_,unloadUseScript:ue,supportAllNickname(){for(let e=0;e<=255;e++)this.isNickNameCharacterAllowed(e)||this.allowNickNameCharacter(e,!0)},setWeather(e){return e<0||e>255?(s.error("[GameMode]: The valid weather value is only 0 to 255"),0):bi(e)},setWorldTime(e){return e<0||e>23?(s.error("[GameMode]: The valid hour value is only 0 to 23"),0):Di(e)},setTeamCount:Pi,sendRconCommand:Ki,addPlayerClass:pi,addPlayerClassEx:Ai,createExplosion(e,t,n,r,i){return r<0||r>13?(s.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Bi(e,t,n,r,i)},manualVehicleEngineAndLights:Ds,blockIpAddress:Xi,unBlockIpAddress:zi,getServerTickRate:Yi,addSimpleModel(e,t,n,r,i){return this.checkSimpleModel(e,t,n,r,i)?cl(e,t,n,r,i):0},addSimpleModelTimed(e,t,n,r,i,d,o){return this.checkSimpleModel(e,t,n,r,i,d,o)?hl(e,t,n,r,i,d,o):0},checkSimpleModel(e,t,n,r,i,d,o){return e<-1?(s.error("[GameMode]: AddSimpleModel - Error virtual world"),0):t<0?(s.error("[GameMode]: AddSimpleModel - Error baseid"),0):n>-1e3||n<-3e4?(s.error("[GameMode]: AddSimpleModel - Error newid range"),0):r.trim().length<0?(s.error("[GameMode]: AddSimpleModel - Empty dffname"),0):i.trim().length<0?(s.error("[GameMode]: AddSimpleModel - Empty txdName"),0):d!==void 0&&(d<0||d>23)?(s.error("[GameMode]: AddSimpleModel - Error time on range"),0):o!==void 0&&(o<0||o>23)?(s.error("[GameMode]: AddSimpleModel - Error time off range"),0):1},getConsoleVarAsString(e,t="utf8"){const n=c.GetConsoleVarAsByteArray(e);return A.decodeFromBuf(A.getValidStr(n),t)},allowAdminTeleport:c.AllowAdminTeleport,isAdminTeleportAllowed:c.IsAdminTeleportAllowed,allowInteriorWeapons:c.AllowInteriorWeapons,areInteriorWeaponsAllowed:c.AreInteriorWeaponsAllowed,areAllAnimationsEnabled:c.AreAllAnimationsEnabled,enableAllAnimations:c.EnableAllAnimations,enableStuntBonusForAll:ds,enableVehicleFriendlyFire:Li,enableZoneNames:wi,disableInteriorEnterExits:ki,setGameModeText:Ii,getGravity:Ri,setGravity:Oi,showNameTags:Ci,disableNameTagLOS:Mi,usePlayerPedAnims:Gi,showPlayerMarkers:Ti,limitPlayerMarkerRadius:Hi,limitGlobalChatRadius:Ni,setNameTagDrawDistance:Fi,findModelFileNameFromCRC:Il,findTextureFileNameFromCRC:Pl,getWeaponName:ul,setObjectsDefaultCameraCollision:Ya,vectorSize:gi,clearBanList:c.ClearBanList,isBanned:c.IsBanned,isValidNickName:c.IsValidNickName,allowNickNameCharacter:c.AllowNickNameCharacter,isNickNameCharacterAllowed:c.IsNickNameCharacterAllowed,addServerRule:c.AddServerRule,setServerRule:c.SetServerRule,isValidServerRule:c.IsValidServerRule,removeServerRule:c.RemoveServerRule,getWeaponSlot:c.GetWeaponSlot,getAvailableClasses:c.GetAvailableClasses,getPlayerClass:c.GetPlayerClass,editPlayerClass:c.EditPlayerClass,toggleChatTextReplacement:c.ToggleChatTextReplacement,chatTextReplacementToggled:c.ChatTextReplacementToggled,getConsoleVarAsInt:c.GetConsoleVarAsInt,getConsoleVarAsBool:c.GetConsoleVarAsBool};const O={onInit:st,onExit:lt,onIncomingConnection:n_,onRconCommand:r_,onRconLoginAttempt:i_,...o_};O.onExit(({next:e})=>(E.getInstances().forEach(t=>t.destroy()),e()));const[s_]=u({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:E.getInstance(e),player:g.getInstance(t)}}}),[l_]=u({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:E.getInstance(e),killer:g.getInstance(t)}}}),[__]=u({name:"OnVehicleMod",beforeEach(e,t,n){return{player:g.getInstance(e),vehicle:E.getInstance(t),componentId:n}}}),[c_]=u({name:"OnVehiclePaintjob",beforeEach(e,t,n){return{player:g.getInstance(e),vehicle:E.getInstance(t),paintjobId:n}}}),[h_]=u({name:"OnVehicleRespray",beforeEach(e,t,n,r){return{player:g.getInstance(e),vehicle:E.getInstance(t),color:[n,r]}}}),[u_]=u({name:"OnVehicleSirenStateChange",beforeEach(e,t,n){return{player:g.getInstance(e),vehicle:E.getInstance(t),state:!!n}}}),[S_]=u({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:E.getInstance(e)}}}),[g_]=u({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:E.getInstance(e),forPlayer:g.getInstance(t)}}}),[m_]=u({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:E.getInstance(e),forPlayer:g.getInstance(t)}}}),[y_]=u({name:"OnPlayerEnterVehicle",beforeEach(e,t,n){return{player:g.getInstance(e),vehicle:E.getInstance(t),isPassenger:!!n}}}),[I_]=u({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:g.getInstance(e),vehicle:E.getInstance(t)}}}),[P_]=u({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:E.getInstance(e),seatId:t}}}),[p_]=u({name:"OnNpcExitVehicle"}),[A_]=u({name:"OnTrailerUpdate",beforeEach(e,t){return{player:g.getInstance(e),vehicle:E.getInstance(t)}}}),f_=Object.freeze({onDamageStatusUpdate:s_,onDeath:l_,onMod:__,onPaintjob:c_,onRespray:h_,onSirenStateChange:u_,onSpawn:S_,onStreamIn:g_,onStreamOut:m_,onPlayerEnter:y_,onPlayerExit:I_,onNpcEnter:P_,onNpcExit:p_,onTrailerUpdate:A_});class E_{constructor(){}static getNetworkStats(){return Zi()}static getPlayerNetworkStats(t){return ji(t.id)}static getBytesReceived(t){return Qi(t.id)}static getBytesSent(t){return ea(t.id)}static getConnectionStatus(t){return ra(t.id)}static getConnectedTime(t){return Ji(t.id)}static getIpPort(t){return Sl(t.id)}static getMessagesReceived(t){return $i(t.id)}static getMessagesRecvPerSecond(t){return ta(t.id)}static getMessagesSent(t){return qi(t.id)}static getPacketLossPercent(t){return na(t.id)}}class C_{_text;_time;_style;get text(){return this._text}set text(t){this._text=t}get time(){return this._time}set time(t){this._time=t}get style(){return this._style}set style(t){this._style=t}constructor(t,n,r){this._text=t,this._time=n,this._style=r}static hideForAll(t){_i(t)}static has(t,n){return hi(t.id,n)}forAll(){li(this.text,this.time,this.style)}forPlayer(t){ci(t.id,this.text,this.time,this.style)}hideForPlayer(t){return ui(t.id,this.style)}}class z{static menus=new Map;_itemCount=0;get itemCount(){return this._itemCount}_id=-1;get id(){return this._id}_title;get title(){return this._title}set title(t){this._title=t}_columns=1;get columns(){return this._columns}set columns(t){if(t!==1&&t!==2){s.error("[Menu]: The menu column number interval is between 1 and 2");return}this._columns=t}_x;get x(){return this._x}set x(t){this._x=t}_y;get y(){return this._y}set y(t){this._y=t}_col1width;get col1width(){return this._col1width}set col1width(t){this._col1width=t}_col2width;get col2width(){return this._col2width}set col2width(t){this._col2width=t}constructor(t,n,r,i,d,o){this._title=t,this.columns=n,this._x=r,this._y=i,this._col1width=d,this._col2width=o}create(){return this._id!==-1?s.error("[Menu]: Cannot be created twice"):z.getInstances().length===k.MAX_MENUS?s.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=ia(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),z.menus.set(this._id,this),this)}destroy(){return this._id===-1?s.error("[Menu]: Cannot destroy before create"):(aa(this.id),z.menus.delete(this._id),this._id=-1,this)}addItem(t,n){return this._id===-1?s.error("[Menu]: Cannot addItem before create"):this._itemCount===k.MAX_MENU_ROW?s.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?s.error("[Menu]: Wrong number of columns"):(da(this.id,t,n),this._itemCount++,this)}setColumnHeader(t,n){return this._id===-1?s.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?s.error("[Menu]: Wrong number of columns"):(oa(this.id,t,n),this)}disable(){return this._id===-1?s.error("[Menu]: Cannot disable menu before create"):(ca(this.id),this)}disableRow(t){if(this._id===-1)return s.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return s.error("[Menu]: Wrong number of rows");ha(this.id,t)}isValid(){return _a(this.id)}showForPlayer(t){return this._id===-1?s.error("[Menu]: Cannot show menu before create"):sa(this.id,t.id)}hideForPlayer(t){return this._id===-1?s.error("[Menu]: Cannot hide menu before create"):la(this.id,t.id)}isDisabled(){return this._id===-1?!1:zn(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:Yn(this.id,t)}getItems(t){return this._id===-1?0:Jn(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:$n(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:Qn(this.id)}getColumnHeader(t){return this._id===-1?s.error("[Menu]: Cannot get column header before create"):qn(this.id,t)}getItem(t,n){if(this._id===-1)return s.error("[Menu]: Cannot get item before create");if(!(n<0||n>this.getItems(t)-1))return er(this.id,t,n)}static getInstance(t){return this.menus.get(t)}static getInstances(){return[...this.menus.values()]}static getInstanceByPlayer(t){return this.getInstances().find(n=>n.id===ua(t.id))}}O.onExit(({next:e})=>(z.getInstances().forEach(t=>t.destroy()),e()));const[T_]=u({name:"OnPlayerExitedMenu",beforeEach(e){return{player:g.getInstance(e)}}}),[D_]=u({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const n=g.getInstance(e),r=z.getInstanceByPlayer(n);return{player:n,menu:r,row:t}}}),L_=Object.freeze({onPlayerExited:T_,onPlayerSelectedRow:D_});class R{static gangZones=new Map;static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;constructor(t){this.sourceInfo=t}_id=-1;get id(){return this._id}create(){if(this.id!==-1)return s.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(R.createdPlayerCount===k.MAX_GANG_ZONES)return s.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:n,minY:r,maxX:i,maxY:d}=this.sourceInfo;this._id=c.CreatePlayerGangZone(t.id,n,r,i,d),R.createdPlayerCount++;const o=ot.onDisconnect(({player:l,next:_})=>{_(),l===this.sourceInfo.player&&(this.destroy(),o())})}else{if(R.createdGlobalCount===k.MAX_GANG_ZONES)return s.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:n,minY:r,maxX:i,maxY:d}=this.sourceInfo;this._id=Ma(n,r,i,d),R.createdGlobalCount++}R.gangZones.set({id:this.id,global:t===void 0},this)}destroy(){if(this.id===-1)return s.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(c.PlayerGangZoneDestroy(t.id,this.id),R.createdPlayerCount--):(Na(this.id),R.createdGlobalCount--),R.gangZones.delete({id:this.id,global:t===void 0}),this._id=-1}showForAll(t){return this.id===-1?s.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be show for all."):(xa(this.id,t),this)}showForPlayer(t,n){if(this.id===-1)return s.warn("[GangZone]: Unable to show the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneShow(r.id,this.id,p(t));else if(n)Ha(n.id,this.id,t);else return s.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?s.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be hide for all."):(Va(this.id),this)}hideForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to hide the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneHide(n.id,this.id);else if(t)va(t.id,this.id);else return s.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?s.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be flash for all."):(Wa(this.id,t),this)}flashForPlayer(t,n){if(this.id===-1)return s.warn("[GangZone]: Unable to flash the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneFlash(r.id,this.id,p(n));else if(t)Ua(t.id,this.id,n);else return s.warn("[GangZone]: invalid player for flash");return this}stopFlashForAll(){return this.id===-1?s.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be stop flash for all."):(ja(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to stop flash the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneStopFlash(n.id,this.id);else if(t)Ka(t.id,this.id);else return s.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.IsValidPlayerGangZone(t.id,this.id):c.IsValidGangZone(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerInPlayerGangZone(n.id,this.id):c.IsPlayerInGangZone(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneVisible(n.id,this.id):c.IsGangZoneVisibleForPlayer(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to get color before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetColor(n.id,this.id):c.GangZoneGetColorForPlayer(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to get flash color before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetFlashColor(n.id,this.id):c.GangZoneGetFlashColorForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneFlashing(n.id,this.id):c.IsGangZoneFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===-1)return s.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?c.PlayerGangZoneGetPos(t.id,this.id):c.GangZoneGetPos(this.id)}useCheck(t){if(this.id===-1)return s.warn("[GangZone]: Unable to use check before create");const n=this.sourceInfo.player;return n?c.UsePlayerGangZoneCheck(n.id,this.id,t):c.UseGangZoneCheck(this.id,t),this}static getInstance(t){return this.gangZones.get(t)}static getInstances(){return[...this.gangZones.values()]}}O.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),e()));const[b_]=u({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:g.getInstance(e),gangZone:R.getInstance({id:t,global:!0})}}}),[R_]=u({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:g.getInstance(e),gangZone:R.getInstance({id:t,global:!0})}}}),[O_]=u({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:g.getInstance(e),gangZone:R.getInstance({id:t,global:!1})}}}),[B_]=u({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:g.getInstance(e),gangZone:R.getInstance({id:t,global:!1})}}}),w_=Object.freeze({onPlayerEnterGlobal:b_,onPlayerLeaveGlobal:R_,onPlayerEnterPlayer:O_,onPlayerLeavePlayer:B_}),[j]=u({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,n){return{type:e,id:t,forPlayer:g.getInstance(n)}}}),[Z]=u({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,n){return{type:e,id:t,forPlayer:g.getInstance(n)}}}),[G_]=u({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class L{constructor(){}static getTickRate=It;static setTickRate=Pt;static getPlayerTickRate(t){return pt(t.id)}static setPlayerTickRate(t,n=50){return At(t.id,n)}static toggleChunkStream=ft;static isToggleChunkStream=Et;static getChunkTickRate(t,n=-1){return n instanceof g?ge(t,n.id):ge(t,n)}static setChunkTickRate(t,n,r=-1){return r instanceof g?me(t,n,r.id):me(t,n,r)}static getChunkSize=Ct;static setChunkSize=Tt;static getMaxItems=Dt;static setMaxItems=Lt;static getVisibleItems(t,n=-1){return n instanceof g?ye(t,n.id):ye(t,n)}static setVisibleItems(t,n,r=-1){return r instanceof g?Ie(t,n,r.id):Ie(t,n,r)}static getRadiusMultiplier(t,n=-1){return n instanceof g?Pe(t,n.id):Pe(t,n)}static setRadiusMultiplier(t,n,r=-1){return r instanceof g?pe(t,r.id):pe(t,n,r)}static getTypePriority=bt;static setTypePriority=Rt;static getCellDistance=Ot;static setCellDistance=Bt;static getCellSize=wt;static setCellSize=Gt;static toggleItemStatic=kt;static isToggleItemStatic=Ft;static toggleItemInvAreas=Mt;static isToggleItemInvAreas=Nt;static toggleItemCallbacks=Ht;static isToggleItemCallbacks=xt;static toggleErrorCallback=vt;static isToggleErrorCallback=Vt;static amxUnloadDestroyItems=Ut;static processActiveItems=Wt;static toggleIdleUpdate(t,n){return Kt(t.id,n)}static isToggleIdleUpdate(t){return jt(t.id)}static toggleCameraUpdate(t,n){return Zt(t.id,n)}static isToggleCameraUpdate(t){return Xt(t.id)}static toggleItemUpdate(t,n,r){return zt(t.id,n,r)}static isToggleItemUpdate(t,n){return Yt(t.id,n)}static getLastUpdateTime(){return Jt()}static update(t,n=-1){return $t(t.id,n)}static updateEx(t,n,r,i,d,o,l,_,S){return Qt(t.id,n,r,i,d,o,l,_,S)}static getDistanceToItem=qt;static toggleItem(t,n,r,i){return en(t.id,n,r,i)}static isToggleItem(t,n,r){return tn(t.id,n,r)}static toggleAllItems(t,n,r,i=[-1]){return nn(t.id,n,r,i)}static getItemInternalID(t,n,r){return rn(t.id,n,r)}static getItemStreamerID(t,n,r){return an(t.id,n,r)}static isItemVisible(t,n,r){return dn(t.id,n,r)}static destroyAllVisibleItems(t,n,r=1){return on(t.id,n,r)}static countVisibleItems(t,n,r=1){return sn(t.id,n,r)}static destroyAllItems=ln;static countItems=_n;static getNearbyItems=cn;static getAllVisibleItems(t,n,r){hn(t.id,n,r)}static getItemPos=un;static setItemPos=Sn;static getItemOffset=gn;static setItemOffset=mn;static getFloatData=yn;static setFloatData=In;static getIntData=Pn;static setIntData=pn;static getArrayData=An;static setArrayData=fn;static isInArrayData=En;static appendArrayData=Cn;static removeArrayData=Tn;static getArrayDataLength=Dn;static getUpperBound=Ln;static onPluginError=G_}class U{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:n,worldId:r,interiorId:i,playerId:d,areaId:o,priority:l}=this.sourceInfo;const{x:_,y:S,z:m,type:y,color:P,extended:f}=this.sourceInfo;return y<0||y>63?s.error("[StreamerMapIcon]: Invalid map icon type"):(t??=bn.LOCAL,n??=re.MAP_ICON_SD,l??=0,f?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof d=="number"?d=[-1]:d??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=Rn(_,S,m,y,p(P),t,n,r,i,d,o,l),U.mapIcons.set(this._id,this),this):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(d)?d=-1:d??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=On(_,S,m,y,p(P),r,i,d,n,t,o,l),U.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?s.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(Bn(this.id),U.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return wn(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(C.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(C.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}O.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[k_,F_]=u({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[M_,N_]=u({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.MAP_ICON?F_(n,U.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.MAP_ICON?N_(n,U.getInstance(t)):r());const H_=Object.freeze({onStreamIn:k_,onStreamOut:M_});class v{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:n,interiorId:r,playerId:i,areaId:d,priority:o}=this.sourceInfo;const{type:l,modelId:_,x:S,y:m,z:y,extended:P}=this.sourceInfo;return l<0||l>22?s.error("[StreamerPickup]: Invalid pickup type"):(t??=h.StreamerDistances.PICKUP_SD,o??=0,P?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=h.CreateDynamicPickupEx(_,l,S,m,y,t,n,r,i,d,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=h.CreateDynamicPickup(_,l,S,m,y,n,r,i,t,d,o)),v.pickups.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(h.DestroyDynamicPickup(this.id),v.pickups.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerPickup]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}O.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),e()));const[x_,v_]=u({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[V_,U_]=u({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.PICKUP?v_(n,v.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.PICKUP?U_(n,v.getInstance(t)):r());const[W_]=u({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:v.getInstance(t)}}}),K_=Object.freeze({onPlayerPickUp:W_,onStreamIn:x_,onStreamOut:V_});class N{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:n,interiorId:r,playerId:i,areaId:d,priority:o}=this.sourceInfo;const{size:l,x:_,y:S,z:m,extended:y}=this.sourceInfo;return l<0?s.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=re.CP_SD,o??=0,y?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=Gn(_,S,m,l,t,n,r,i,d,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=kn(_,S,m,l,n,r,i,t,d,o)),N.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(Ae(this.id),N.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return fe(this.id)}togglePlayer(t,n){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(Fn(t.id,this.id,n),this)}static togglePlayerAll(t,n){return Mn(t.id,n)}isPlayerIn(t){return this.id===-1?!1:Nn(t.id,this.id)}static getPlayerVisible(t,n){return n.get(Hn(t.id))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(C.CP,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(C.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}O.onExit(({next:e})=>(N.checkpoints.forEach(t=>t.destroy()),e()));const[j_,Z_]=u({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[X_,z_]=u({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.CP?Z_(n,N.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.CP?z_(n,N.getInstance(t)):r());const[Y_]=u({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:N.getInstance(t)}}}),[J_]=u({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:N.getInstance(t)}}}),$_=Object.freeze({onPlayerEnter:Y_,onPlayerLeave:J_,onStreamIn:j_,onStreamOut:X_});class H{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:n,interiorId:r,playerId:i,areaId:d,priority:o}=this.sourceInfo;const{type:l,size:_,x:S,y:m,z:y,nextX:P,nextY:f,nextZ:D,extended:B}=this.sourceInfo;return l<0||l>8?s.error("[StreamerRaceCP]: Invalid type"):_<0?s.error("[StreamerRaceCP]: Invalid size"):(t??=re.RACE_CP_SD,o??=0,B?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=xn(l,S,m,y,P,f,D,_,t,n,r,i,d,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=vn(l,S,m,y,P,f,D,_,n,r,i,t,d,o)),H.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(Ae(this.id),H.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return fe(this.id)}togglePlayer(t,n){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(Vn(t.id,this.id,n),this)}static togglePlayerAll(t,n){return Un(t.id,n)}isPlayerIn(t){return this.id===-1?!1:Wn(t.id,this.id)}static getPlayerVisible(t,n){return n.get(Kn(t.id))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(C.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(C.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}O.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[Q_,q_]=u({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ec,tc]=u({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.RACE_CP?q_(n,H.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.RACE_CP?tc(n,H.getInstance(t)):r());const[nc]=u({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:H.getInstance(t)}}}),[rc]=u({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:H.getInstance(t)}}}),ic=Object.freeze({onPlayerEnter:nc,onPlayerLeave:rc,onStreamIn:Q_,onStreamOut:ec});class V{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:n,interiorId:r,playerId:i,areaId:d,priority:o}=this.sourceInfo;const{modelId:l,x:_,y:S,z:m,r:y,invulnerable:P,health:f,extended:D}=this.sourceInfo;return t??=h.StreamerDistances.ACTOR_SD,o??=0,D?(typeof n=="number"?n=[0]:n??=[0],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=h.CreateDynamicActorEx(l,_,S,m,y,P,f,t,n,r,i,d,o)):(Array.isArray(n)?n=0:n??=0,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=h.CreateDynamicActor(l,_,S,m,y,P,f,n,r,i,t,d,o)),V.actors.set(this.id,this),this}destroy(){return this.id===-1?s.warn("[StreamerActor]: Unable to destroy the actor before create"):(h.DestroyDynamicActor(this.id),V.actors.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:h.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?s.warn("[StreamerActor]: Unable to get virtual world before create"):h.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set virtual world before create"):h.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,n,r=!1,i=!0,d=!0,o=!1){if(this.id===-1)return s.warn("[StreamerActor]: Unable to apply animation before create");const l=qe(t,n);return l===void 0?s.error("[StreamerActor]: Invalid anim library or name"):h.ApplyDynamicActorAnimation(this.id,t,n,4.1,r,i,d,o,r?0:l)}clearAnimations(){return this.id===-1?s.warn("[StreamerActor]: Unable to clear animation before create"):h.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?s.warn("[StreamerActor]: Unable to get facing angle before create"):h.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set facing angle before create"):h.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?s.warn("[StreamerActor]: Unable to get pos before create"):h.GetDynamicActorPos(this.id)}setPos(t,n,r){return this.id===-1?s.warn("[StreamerActor]: Unable to set pos before create"):h.SetDynamicActorPos(this.id,t,n,r)}getHealth(){return this.id===-1?s.warn("[StreamerActor]: Unable to get health before create"):h.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set health before create"):h.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:h.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?s.warn("[StreamerActor]: Unable to set invulnerable before create"):h.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t,n){if(this.id===-1)return;const r=h.GetPlayerTargetDynamicActor(t.id);return n.get(r)}getPlayerCameraTarget(t,n){if(this.id===-1)return;const r=h.GetPlayerCameraTargetDynActor(t.id);return n.get(r)}getSkin(){return this.id===-1?s.warn("[StreamerActor]: Unable to get skin before create"):c.GetActorSkin(this.id)}setSkin(t,n=!1){return this.id===-1?s.warn("[StreamerActor]: Unable to set skin before create"):!n&&(t<0||t>311||t==74)?0:c.SetActorSkin(this.id,t)}getSpawnInfo(){return this.id===-1?s.warn("[StreamerActor]: Unable to get spawn info before create"):c.GetActorSpawnInfo(this.id)}getAnimation(){return this.id===-1?s.warn("[StreamerActor]: Unable to get animation before create"):c.GetActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerActor]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}O.onExit(({next:e})=>(V.getInstances().forEach(t=>t.destroy()),e()));const[ac]=u({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:V.getInstance(e),forPlayer:g.getInstance(t)}}}),[dc]=u({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:V.getInstance(e),forPlayer:g.getInstance(t)}}}),[oc]=u({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,n,r,i){return{player:g.getInstance(e),actor:V.getInstance(t),amount:n,weapon:r,bodyPart:i}}}),sc=Object.freeze({onStreamIn:ac,onStreamOut:dc,onPlayerGiveDamage:oc});class X{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:n,testLos:r,streamDistance:i,worldId:d,interiorId:o,playerId:l,areaId:_,priority:S}=this.sourceInfo;const{charset:m,text:y,color:P,drawDistance:f,x:D,y:B,z:x,extended:ne}=this.sourceInfo;return t??=T.PLAYER_ID,n??=T.VEHICLE_ID,i??=re.TEXT_3D_LABEL_SD,r??=!1,S??=0,ne?(typeof d=="number"?d=[-1]:d??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof _=="number"?_=[-1]:_??=[-1],this._id=ni(y,p(P),D,B,x,f,t,n,r,i,d,o,l,_,S,m||"utf8")):(Array.isArray(d)?d=-1:d??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(_)?_=-1:_??=-1,this._id=ti(m||"utf8",y,p(P),D,B,x,f,t,n,r,d,o,l,i,_,S)),X.texts.set(this.id,this),this}destroy(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(jn(this.id),X.texts.delete(this.id),this._id=-1,this)}isValid(){return Zn(this.id)}getColor(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get text before create"):ii(this.id,this.sourceInfo.charset||"utf8")}updateText(t,n,r=this.sourceInfo.charset){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=r,ri(this.id,p(t),n,r||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(C.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(C.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}O.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),e()));const[lc,_c]=u({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[cc,hc]=u({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.TEXT_3D_LABEL?_c(n,X.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.TEXT_3D_LABEL?hc(n,X.getInstance(t)):r());const uc=Object.freeze({onStreamIn:lc,onStreamOut:cc});class G{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:n,worldId:r,interiorId:i,playerId:d,areaId:o,priority:l}=this.sourceInfo;const{modelId:_,x:S,y:m,z:y,rx:P,ry:f,rz:D,extended:B}=this.sourceInfo;return t??=h.StreamerDistances.OBJECT_SD,n??=h.StreamerDistances.OBJECT_DD,l??=0,B?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof d=="number"?d=[-1]:d??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=h.CreateDynamicObjectEx(_,S,m,y,P,f,D,t,n,r,i,d,o,l)):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(d)?d=-1:d??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=h.CreateDynamicObject(_,S,m,y,P,f,D,r,i,d,t,n,o,l)),G.objects.set(this._id,this),this}destroy(){return this.id===-1?s.warn("[StreamerObject]: Unable to destroy the object before create"):(h.DestroyDynamicObject(this.id),G.objects.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?s.warn("[StreamerObject]: Cannot get position before create"):h.GetDynamicObjectPos(this.id)}setPos(t,n,r){return this.id===-1?s.warn("[StreamerObject]: Cannot set position before create"):h.SetDynamicObjectPos(this.id,t,n,r)}getRot(){return this.id===-1?s.warn("[StreamerObject]: Cannot get rotation before create"):h.GetDynamicObjectRot(this.id)}setRot(t,n,r){return this.id===-1?s.warn("[StreamerObject]: Cannot set rotation before create"):h.SetDynamicObjectRot(this.id,t,n,r)}move(t,n,r,i,d=-1e3,o=-1e3,l=-1e3){return this.id===-1?s.warn("[StreamerObject]: Cannot start moving before create"):i<0?s.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&s.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),h.MoveDynamicObject(this.id,t,n,r,i,d,o,l))}stop(){return this.id===-1?s.warn("[StreamerObject]: Cannot stop moving before create"):h.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:h.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachCamera before both are created"):h.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,n,r,i,d,o,l,_=!0){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToObject before both are created"):h.AttachDynamicObjectToObject(this.id,t.id,n,r,i,d,o,l,_)}attachToPlayer(t,n,r,i,d,o,l){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToPlayer(this.id,t.id,n,r,i,d,o,l)}attachToVehicle(t,n,r,i,d,o,l){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToVehicle(this.id,t.id,n,r,i,d,o,l)}edit(t){return this.id===-1?s.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),h.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:h.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:h.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,n,r){return this.id===-1?s.warn("[StreamerObject]: Unable to get material before create"):h.GetDynamicObjectMaterial(this.id,t,n,r)}setMaterial(t,n,r,i,d="#000"){return this.id===-1?s.warn("[StreamerObject]: Unable to set material before create"):h.SetDynamicObjectMaterial(this.id,t,n,r,i,p(d))}isMaterialTextUsed(t){return this.id===-1?!1:h.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?h.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?s.warn("[StreamerObject]: Unable to get material text before create"):di(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,n,r,i=h.MaterialTextSizes.SIZE_256x128,d="Arial",o=24,l=1,_="#fff",S="#000",m=0){return this.id===-1?s.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,ai(t||"utf8",this.id,n,r,i,d,o,l,p(_),p(S),m))}getPlayerCameraTarget(t,n){const r=h.GetPlayerCameraTargetDynObject(t.id);if(r!==T.OBJECT_ID)return n.get(r)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerObject]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}O.onExit(({next:e})=>(G.getInstances().forEach(t=>t.destroy()),e()));const[Sc,gc]=u({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[mc,yc]=u({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.OBJECT?gc(n,G.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.OBJECT?yc(n,G.getInstance(t)):r());const[Ic]=u({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:G.getInstance(e)}}}),[Pc]=u({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,n,r,i,d,o,l,_){return{player:g.getInstance(e),object:G.getInstance(t),response:n,x:r,y:i,z:d,rX:o,rY:l,rZ:_}}}),[pc]=u({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,n,r,i,d){return{player:g.getInstance(e),object:G.getInstance(t),modelId:n,x:r,y:i,z:d}}}),[Ac]=u({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,n,r,i,d){return{player:g.getInstance(e),object:G.getInstance(n),weapon:t,x:r,y:i,z:d}}}),[fc]=u({name:"OnPlayerEditAttachedObject",beforeEach(e,t,n,r,i,d,o,l,_,S,m,y,P,f){return{player:g.getInstance(e),response:t,index:n,modelId:r,boneId:i,fOffsetX:d,fOffsetY:o,fOffsetZ:l,fRotX:_,fRotY:S,fRotZ:m,fScaleX:y,fScaleY:P,fScaleZ:f}}}),Ec=Object.freeze({onMoved:Ic,onPlayerEdit:Pc,onPlayerSelect:pc,onPlayerShoot:Ac,onPlayerEditAttached:fc,onStreamIn:Sc,onStreamOut:mc});class w{static areas=new Map;sourceInfo;_id=-1;get type(){return this.sourceInfo.type}get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:n,playerId:r}=this.sourceInfo;const{type:i,extended:d}=this.sourceInfo;if(d)if(typeof t=="number"?t=[-1]:t??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],i==="circle"){const{x:o,y:l,size:_}=this.sourceInfo;if(_<0)return s.error("[StreamerArea]: Invalid circle extend size");this._id=h.CreateDynamicCircleEx(o,l,_,t,n,r)}else if(i==="cuboid"){const{minX:o,minY:l,minZ:_,maxX:S,maxY:m,maxZ:y}=this.sourceInfo;this._id=h.CreateDynamicCuboidEx(o,l,_,S,m,y,t,n,r)}else if(i==="cylinder"){const{x:o,y:l,minZ:_,maxZ:S,size:m}=this.sourceInfo;if(m<0)return s.error("[StreamerArea]: Invalid cylinder extend size");this._id=h.CreateDynamicCylinderEx(o,l,_,S,m,t,n,r)}else if(i==="polygon"){const{points:o,minZ:l,maxZ:_}=this.sourceInfo;if(o.length%2!==0)return s.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=h.CreateDynamicPolygonEx(o,l,_,t,n,r)}else if(i==="rectangle"){const{minX:o,minY:l,maxX:_,maxY:S}=this.sourceInfo;this._id=h.CreateDynamicRectangleEx(o,l,_,S,t,n,r)}else{const{x:o,y:l,z:_,size:S}=this.sourceInfo;if(S<0)return s.error("[StreamerArea]: Invalid sphere extended size");this._id=h.CreateDynamicSphereEx(o,l,_,S,t,n,r)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,i==="circle"){const{x:o,y:l,size:_}=this.sourceInfo;if(_<0)return s.error("[StreamerArea]: Invalid circle size");this._id=h.CreateDynamicCircle(o,l,_,t,n,r)}else if(i==="cuboid"){const{minX:o,minY:l,minZ:_,maxX:S,maxY:m,maxZ:y}=this.sourceInfo;this._id=h.CreateDynamicCuboid(o,l,_,S,m,y,t,n,r)}else if(i==="cylinder"){const{x:o,y:l,minZ:_,maxZ:S,size:m}=this.sourceInfo;if(m<0)return s.error("[StreamerArea]: Invalid cylinder size");this._id=h.CreateDynamicCylinder(o,l,_,S,m,t,n,r)}else if(i==="polygon"){const{points:o,minZ:l,maxZ:_}=this.sourceInfo;if(o.length%2!==0)return s.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=h.CreateDynamicPolygon(o,l,_,t,n,r)}else if(i==="rectangle"){const{minX:o,minY:l,maxX:_,maxY:S}=this.sourceInfo;this._id=h.CreateDynamicRectangle(o,l,_,S,t,n,r)}else{const{x:o,y:l,z:_,size:S}=this.sourceInfo;if(S<0)return s.error("[StreamerArea]: Invalid sphere size");this._id=h.CreateDynamicSphere(o,l,_,S,t,n,r)}return w.areas.set(this._id,this),this}destroy(){return this.id===-1?s.warn("[StreamerArea]: Unable to destroy the area before create"):(h.DestroyDynamicArea(this.id),w.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:h.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?s.warn("[StreamerArea]: Unable to get type before create"):h.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return h.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return h.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,n=!1){return this.id===-1?!1:h.IsPlayerInDynamicArea(t.id,this.id,n)}static isPlayerInAny(t,n=!1){return h.IsPlayerInAnyDynamicArea(t.id,n)}isAnyPlayerIn(t=!1){return this.id===-1?!1:h.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return h.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t,n){return w.getPlayerAreasNumber(t)?h.GetPlayerDynamicAreas(t.id).map(r=>n.get(r)):[]}static getPlayerAreasNumber(t){return h.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,n,r){return this.id===-1?!1:h.IsPointInDynamicArea(this.id,t,n,r)}static isPointInAny(t,n,r){return h.IsPointInAnyDynamicArea(t,n,r)}isLineIn(t,n,r,i,d,o){return this.id===-1?!1:h.IsLineInDynamicArea(this.id,t,n,r,i,d,o)}static isLineInAny(t,n,r,i,d,o){return h.IsLineInAnyDynamicArea(t,n,r,i,d,o)}static getForPoint(t,n,r,i){return w.getNumberForPoint(t,n,r)?h.GetDynamicAreasForPoint(t,n,r).map(d=>i.get(d)):[]}static getNumberForPoint(t,n,r){return h.GetNumberDynamicAreasForPoint(t,n,r)}static getForLine(t,n,r,i,d,o,l){return w.getNumberForLine(t,n,r,i,d,o)?h.GetDynamicAreasForLine(t,n,r,i,d,o).map(_=>l.get(_)):[]}static getNumberForLine(t,n,r,i,d,o){return h.GetNumberDynamicAreasForLine(t,n,r,i,d,o)}attachToObject(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to object before create"):h.AttachDynamicAreaToObject(this.id,t.id,h.StreamerObjectTypes.DYNAMIC,T.PLAYER_ID,n,r,i)}attachToPlayer(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to player before create"):h.AttachDynamicAreaToPlayer(this.id,t.id,n,r,i)}attachToVehicle(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):h.AttachDynamicAreaToVehicle(this.id,t.id,n,r,i)}toggleSpectateMode(t){return this.id===-1?s.warn("[StreamerArea]: Unable to toggle specate mode before create"):h.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:h.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerArea]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(h.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(h.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}O.onExit(({next:e})=>(w.getInstances().forEach(t=>t.destroy()),e()));const[Cc,Tc]=u({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Dc,Lc]=u({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.AREA?Tc(n,w.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.AREA?Lc(n,w.getInstance(t)):r());const[bc]=u({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:w.getInstance(t)}}}),[Rc]=u({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:w.getInstance(t)}}}),Oc=Object.freeze({onStreamIn:Cc,onStreamOut:Dc,onPlayerEnter:bc,onPlayerLeave:Rc});class I{static textDraws=new Map;static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:n,text:r,player:i}=this.sourceInfo;if(i){if(I.createdPlayerCount===k.MAX_TEXT_DRAWS)return s.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=oo(i.id,t,n,r),I.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(I.createdGlobalCount===k.MAX_TEXT_DRAWS)return s.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Sa(t,n,r),I.createdGlobalCount++}return I.textDraws.set({id:this.id,global:i===void 0},this),this}destroy(){if(this.id===-1)return I.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(so(t.id,this.id),I.createdPlayerCount--):(ga(this.id),I.createdGlobalCount--),I.textDraws.delete({id:this.id,global:t===void 0}),this._id=-1,this}setFont(t){if(this.id===-1)return I.beforeCreateWarn("set font");const{player:n}=this.sourceInfo;return n?yo(n.id,this.id,t):Ta(this.id,t),this}setColor(t){if(this.id===-1)return I.beforeCreateWarn("set color");const{player:n}=this.sourceInfo;return n?co(n.id,this.id,t):Pa(this.id,t),this}setBoxColors(t){if(this.id===-1)return I.beforeCreateWarn("set box color");const{player:n}=this.sourceInfo;return n?uo(n.id,this.id,t):Aa(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return I.beforeCreateWarn("set background color");const{player:n}=this.sourceInfo;return n?mo(n.id,this.id,t):Ca(this.id,t),this}setAlignment(t){if(this.id===-1)return I.beforeCreateWarn("set alignment");const{player:n}=this.sourceInfo;return n?_o(n.id,this.id,t):Ia(this.id,t),this}setLetterSize(t,n){if(this.id===-1)return I.beforeCreateWarn("set letter size");const{player:r}=this.sourceInfo;return r?lo(r.id,this.id,t,n):ma(this.id,t,n),this}setOutline(t){if(this.id===-1)return I.beforeCreateWarn("set outline model");if(t<0)return s.warn("[TextDraw]: Invalid outline value");const{player:n}=this.sourceInfo;return n?go(n.id,this.id,t):Ea(this.id,t),this}setPreviewModel(t){if(this.id===-1)return I.beforeCreateWarn("set preview model");this.setFont(ee.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?Eo(n.id,this.id,t):Ga(this.id,t),this}setPreviewRot(t,n,r,i=1){if(this.id===-1)return I.beforeCreateWarn("set preview rot");this.setFont(ee.MODEL_PREVIEW);const{player:d}=this.sourceInfo;return d?Co(d.id,this.id,t,n,r,i):ka(this.id,t,n,r,i),this}setPreviewVehColors(t,n){if(this.id===-1)return I.beforeCreateWarn("set preview veh col");this.setFont(ee.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?To(r.id,this.id,t,n):Fa(this.id,t,n),this}setProportional(t=!0){if(this.id===-1)return I.beforeCreateWarn("set Proportional");const{player:n}=this.sourceInfo;return n?Io(n.id,this.id,t):Da(this.id,t),this}setSelectable(t){if(this.id===-1)return I.beforeCreateWarn("set Selectable");const{player:n}=this.sourceInfo;return n?Po(n.id,this.id,t):La(this.id,t),this}setShadow(t){if(this.id===-1)return I.beforeCreateWarn("set shadow");if(t<0)return s.warn("[TextDraw]: Invalid shadow value");const{player:n}=this.sourceInfo;return n?So(n.id,this.id,t):fa(this.id,t),this}setString(t){if(this.id===-1)return I.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return s.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?fo(n.id,this.id,t):wa(this.id,t),this}setTextSize(t,n){return this.id===-1?I.beforeCreateWarn("set TextSize"):(ya(this.id,t,n),this)}useBox(t){if(this.id===-1)return I.beforeCreateWarn("set TextSize");const{player:n}=this.sourceInfo;return n?ho(n.id,this.id,t):pa(this.id,t),this}static beforeCreateWarn(t){s.warn(`[TextDraw]: Unable to ${t} before create`)}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}show(t){if(this.id===-1)return I.beforeCreateWarn("show");const n=this.sourceInfo.player;if(n)po(n.id,this.id);else if(t)ba(t.id,this.id);else return s.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return I.beforeCreateWarn("hide");const n=this.sourceInfo.player;if(n)Ao(n.id,this.id);else if(t)Ra(t.id,this.id);else return s.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?I.beforeCreateWarn("show"):this.sourceInfo.player?s.warn("[TextDraw]: player's textdraw should not be show for all."):(Oa(this.id),this)}hideAll(){return this.id===-1?I.beforeCreateWarn("hideAll"):this.sourceInfo.player?s.warn("[TextDraw]: player's textdraw should not be hide for all."):(Ba(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?tr(t.id,this.id):nr(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:rr(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?ir(t.id,this.id):ar(this.id)}setPos(t,n){if(this.id===-1)return I.beforeCreateWarn("set position");const r=this.sourceInfo.player;return r?dr(r.id,this.id,t,n):or(this.id,t,n),this}getLetterSize(){if(this.id===-1)return I.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?sr(t.id,this.id):lr(this.id)}getTextSize(){if(this.id===-1)return I.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?_r(t.id,this.id):cr(this.id)}getPos(){if(this.id===-1)return I.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?hr(t.id,this.id):ur(this.id)}getColor(){if(this.id===-1)return I.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?Sr(t.id,this.id):gr(this.id)}getBoxColor(){if(this.id===-1)return I.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?mr(t.id,this.id):yr(this.id)}getBackgroundColor(){if(this.id===-1)return I.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?Ir(t.id,this.id):Pr(this.id)}getShadow(){if(this.id===-1)return I.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?pr(t.id,this.id):Ar(this.id)}getOutline(){if(this.id===-1)return I.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?fr(t.id,this.id):Er(this.id)}getFont(){if(this.id===-1)return I.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?Cr(t.id,this.id):Tr(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Dr(t.id,this.id):Lr(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?br(t.id,this.id):Rr(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Or(t.id,this.id):Br(this.id)}getAlignment(){if(this.id===-1)return I.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?wr(t.id,this.id):Gr(this.id)}getPreviewModel(){if(this.id===-1)return I.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?kr(t.id,this.id):Fr(this.id)}getPreviewRot(){if(this.id===-1)return I.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?Mr(t.id,this.id):Nr(this.id)}getPreviewVehColors(){if(this.id===-1)return I.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?Hr(t.id,this.id):xr(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t){return this.textDraws.get(t)}static getInstances(){return[...this.textDraws.values()]}}O.onExit(({next:e})=>(I.getInstances().forEach(t=>t.destroy()),e()));const[Bc]=u({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:g.getInstance(e),textDraw:t===T.TEXT_DRAW?t:I.getInstance({id:t,global:!0})}}}),[wc]=u({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:g.getInstance(e),textDraw:t===T.TEXT_DRAW?t:I.getInstance({id:t,global:!1})}}}),Gc=Object.freeze({onPlayerClickGlobal:Bc,onPlayerClickPlayer:wc});export{Ce as ArtworkEnum,Ne as BodyPartsEnum,He as BoneIdsEnum,je as BulletHitTypesEnum,ie as CameraCutStylesEnum,Me as CameraModesEnum,ve as CarModTypeEnum,Te as ClickSourcesEnum,Le as ConnectionStatusEnum,le as DamageDeathReasonEnum,b as Dialog,oe as DialogStylesEnum,X as Dynamic3DTextLabel,uc as Dynamic3DTextLabelEvent,V as DynamicActor,sc as DynamicActorEvent,w as DynamicArea,Oc as DynamicAreaEvent,$_ as DynamicCheckPointEvent,N as DynamicCheckpoint,U as DynamicMapIcon,H_ as DynamicMapIconEvent,G as DynamicObject,Ec as DynamicObjectEvent,v as DynamicPickup,K_ as DynamicPickupEvent,H as DynamicRaceCP,ic as DynamicRaceCPEvent,F as ERecordStatus,Vc as E_STREAMER,De as EditResponseTypesEnum,ke as FightingStylesEnum,O as GameMode,C_ as GameText,R as GangZone,w_ as GangZoneEvent,Jc as GangZonePos,A as I18n,$c as IActorAnimation,Qc as IActorSpawn,qc as IAttachedData,eh as IAttachedObject,th as IBounds,nh as ICheckPoint,rh as IMaterial,ih as IMaterialText,ah as IObjectPos,dh as IObjectRotPos,oh as IOffsets,sh as IPlayerClass,lh as IQuat,_h as IRaceCheckPoint,ch as ITextDrawCommonSize,hh as ITextDrawRot,uh as IVehColor,Sh as IVehMatrix,gh as IVehSpawnInfo,T as InvalidEnum,be as KeysEnum,k as LimitsEnum,Uc as MapIconStyles,Fe as MapIconStylesEnum,Re as MarkerModesEnum,Wc as MaterialTextSizes,z as Menu,L_ as MenuEvent,Oe as NPCPlaybackEnum,E_ as NetStats,M as Npc,zr as NpcEvent,we as ObjectMaterialAlignmmentEnum,Be as ObjectMaterialTextSizeEnum,g as Player,ot as PlayerEvent,Y as PlayerStateEnum,Xe as RecordTypesEnum,Ge as SelectObjectTypesEnum,se as SpecialActionsEnum,ae as SpectateModesEnum,L as Streamer,Kc as StreamerAreaTypes,jc as StreamerDistances,Zc as StreamerItemTypes,Xc as StreamerMiscellaneous,zc as StreamerObjectTypes,I as TextDraw,xe as TextDrawAlignEnum,Gc as TextDrawEvent,ee as TextDrawFontsEnum,E as Vehicle,f_ as VehicleEvent,Ue as VehicleModelInfoEnum,Ve as VehicleParamsEnum,We as WeaponEnum,Ke as WeaponSkillsEnum,Ze as WeaponStatesEnum,u as defineEvent,p as rgba};
|
|
1
|
+
import{encodingExists as ct,encode as ht,decode as ut}from"iconv-lite";import gt from"pino";import{snakeCase as de,merge as St,omit as mt,get as Se,mapKeys as yt}from"lodash-unified";import*as h from"@infernus/streamer";import{Streamer_GetTickRate as It,Streamer_SetTickRate as Pt,Streamer_GetPlayerTickRate as pt,Streamer_SetPlayerTickRate as At,Streamer_ToggleChunkStream as ft,Streamer_IsToggleChunkStream as Et,Streamer_GetChunkTickRate as me,Streamer_SetChunkTickRate as ye,Streamer_GetChunkSize as Ct,Streamer_SetChunkSize as Tt,Streamer_GetMaxItems as Dt,Streamer_SetMaxItems as Lt,Streamer_GetVisibleItems as Ie,Streamer_SetVisibleItems as Pe,Streamer_GetRadiusMultiplier as pe,Streamer_SetRadiusMultiplier as Ae,Streamer_GetTypePriority as Rt,Streamer_SetTypePriority as bt,Streamer_GetCellDistance as Ot,Streamer_SetCellDistance as Bt,Streamer_GetCellSize as wt,Streamer_SetCellSize as Gt,Streamer_ToggleItemStatic as kt,Streamer_IsToggleItemStatic as Ft,Streamer_ToggleItemInvAreas as Mt,Streamer_IsToggleItemInvAreas as Nt,Streamer_ToggleItemCallbacks as Ht,Streamer_IsToggleItemCallbacks as xt,Streamer_ToggleErrorCallback as vt,Streamer_IsToggleErrorCallback as Vt,Streamer_AmxUnloadDestroyItems as Ut,Streamer_ProcessActiveItems as Wt,Streamer_ToggleIdleUpdate as Kt,Streamer_IsToggleIdleUpdate as jt,Streamer_ToggleCameraUpdate as Zt,Streamer_IsToggleCameraUpdate as Xt,Streamer_ToggleItemUpdate as zt,Streamer_IsToggleItemUpdate as Yt,Streamer_GetLastUpdateTime as Jt,Streamer_Update as $t,Streamer_UpdateEx as Qt,Streamer_GetDistanceToItem as qt,Streamer_ToggleItem as en,Streamer_IsToggleItem as tn,Streamer_ToggleAllItems as nn,Streamer_GetItemInternalID as rn,Streamer_GetItemStreamerID as an,Streamer_IsItemVisible as dn,Streamer_DestroyAllVisibleItems as on,Streamer_CountVisibleItems as sn,Streamer_DestroyAllItems as ln,Streamer_CountItems as _n,Streamer_GetNearbyItems as cn,Streamer_GetAllVisibleItems as hn,Streamer_GetItemPos as un,Streamer_SetItemPos as gn,Streamer_GetItemOffset as Sn,Streamer_SetItemOffset as mn,Streamer_GetFloatData as yn,Streamer_SetFloatData as In,Streamer_GetIntData as Pn,Streamer_SetIntData as pn,Streamer_GetArrayData as An,Streamer_SetArrayData as fn,Streamer_IsInArrayData as En,Streamer_AppendArrayData as Cn,Streamer_RemoveArrayData as Tn,Streamer_GetArrayDataLength as Dn,Streamer_GetUpperBound as Ln,MapIconStyles as Rn,StreamerDistances as re,CreateDynamicMapIconEx as bn,CreateDynamicMapIcon as On,DestroyDynamicMapIcon as Bn,IsValidDynamicMapIcon as wn,StreamerItemTypes as C,CreateDynamicCPEx as Gn,CreateDynamicCP as kn,DestroyDynamicCP as fe,IsValidDynamicCP as Ee,TogglePlayerDynamicCP as Fn,TogglePlayerAllDynamicCPs as Mn,IsPlayerInDynamicCP as Nn,GetPlayerVisibleDynamicCP as Hn,CreateDynamicRaceCPEx as xn,CreateDynamicRaceCP as vn,TogglePlayerDynamicRaceCP as Vn,TogglePlayerAllDynamicRaceCPs as Un,IsPlayerInDynamicRaceCP as Wn,GetPlayerVisibleDynamicRaceCP as Kn,DestroyDynamic3DTextLabel as jn,IsValidDynamic3DTextLabel as Zn}from"@infernus/streamer";import{E_STREAMER as Vc,MapIconStyles as Uc,MaterialTextSizes as Wc,StreamerAreaTypes as Kc,StreamerDistances as jc,StreamerItemTypes as Zc,StreamerMiscellaneous as Xc,StreamerObjectTypes as zc}from"@infernus/streamer";import*as c from"@infernus/wrapper";import{HidePlayerDialog as Xn,IsMenuDisabled as zn,IsMenuRowDisabled as Yn,GetMenuItems as Jn,GetMenuPos as $n,GetMenuColumnWidth as Qn,GetMenuColumnHeader as qn,GetMenuItem as er,IsValidPlayer3DTextLabel as tr,IsValidTextDraw as nr,IsTextDrawVisibleForPlayer as rr,PlayerTextDrawGetString as ir,TextDrawGetString as ar,PlayerTextDrawSetPos as dr,TextDrawSetPos as or,PlayerTextDrawGetLetterSize as sr,TextDrawGetLetterSize as lr,PlayerTextDrawGetTextSize as _r,TextDrawGetTextSize as cr,PlayerTextDrawGetPos as hr,TextDrawGetPos as ur,PlayerTextDrawGetColor as gr,TextDrawGetColor as Sr,PlayerTextDrawGetBoxColor as mr,TextDrawGetBoxColor as yr,PlayerTextDrawGetBackgroundColor as Ir,TextDrawGetBackgroundColor as Pr,PlayerTextDrawGetShadow as pr,TextDrawGetShadow as Ar,PlayerTextDrawGetOutline as fr,TextDrawGetOutline as Er,PlayerTextDrawGetFont as Cr,TextDrawGetFont as Tr,PlayerTextDrawIsBox as Dr,TextDrawIsBox as Lr,PlayerTextDrawIsProportional as Rr,TextDrawIsProportional as br,PlayerTextDrawIsSelectable as Or,TextDrawIsSelectable as Br,PlayerTextDrawGetAlignment as wr,TextDrawGetAlignment as Gr,PlayerTextDrawGetPreviewModel as kr,TextDrawGetPreviewModel as Fr,PlayerTextDrawGetPreviewRot as Mr,TextDrawGetPreviewRot as Nr,PlayerTextDrawGetPreviewVehicleColors as Hr,TextDrawGetPreviewVehicleColors as xr}from"@infernus/wrapper";import{GangZonePos as Jc,IActorAnimation as $c,IActorSpawn as Qc,IAttachedData as qc,IAttachedObject as eh,IBounds as th,ICheckPoint as nh,IMaterial as rh,IMaterialText as ih,IObjectPos as ah,IObjectRotPos as dh,IOffsets as oh,IPlayerClass as sh,IQuat as lh,IRaceCheckPoint as _h,ITextDrawCommonSize as ch,ITextDrawRot as hh,IVehColor as uh,IVehMatrix as gh,IVehSpawnInfo as Sh}from"@infernus/wrapper";const s=gt({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{s.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){s.warn(e);return}s.warn(new Error(JSON.stringify(e)))});class A{constructor(t,n){this.defaultLocale=t,this.locales=n,this.defaultLocale=de(t),this.locales=A.snakeLocaleKeys(n)}addLocales=t=>{St(this.locales,A.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=mt(this.locales,t)};$t=(t,n,r=this.defaultLocale)=>{const i=this.locales[de(r)],d=Se(this.locales[this.defaultLocale],t),o=Se(i,t,d);if(o===void 0)return s.warn(`[i18n]: cannot find ${r}["${t}"]`),"undefined";if(typeof o!="string")return JSON.stringify(o);let l=o;if(n&&n.length){const _=/%s/i;for(let g=0;g<n.length&&l.match(_)!==null;g++)l=l.replace(_,n[g])}return l};static isValidate(t){ct(t)||(s.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,n){return A.isValidate(n),[...ht(t,n),0]}static decodeFromBuf(t,n="utf8"){A.isValidate(n);const r=t instanceof Buffer?t:Buffer.from(t);return ut(r,n)}static getValidStr(t){return t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return yt(t,(n,r)=>de(r))}}const q=new Map;function Ce(e){q.set(e,[])}function vr(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function Vr(e,...t){const{defaultValue:n=!0,name:r,beforeEach:i,afterEach:d}=e,o=q.get(r);if(!o||!o.length)return+n;const l=i?i(...t):{},_=[];let g=-1;const m=()=>{if(g++,g<o.length){try{const y=o[g]({next:m,...l});return y instanceof Promise&&_.push(y),y}catch(y){const P=JSON.stringify(y),f=`executing event [name:${r},index:${g}] error: ${P}.`;s.error(f)}return n}return d&&(_.length?Promise.allSettled(_).then(()=>d(l)):d(l)),n};return vr(m(),n)}function u(e){const{name:t,identifier:n,isNative:r=!0}=e;if(q.has(t)){const l=`event [name:${t}] error: already defined.`;throw s.error(l),new Error(l)}Ce(t);function i(...l){return Vr(e,...l)}function d(l){const _=q.get(t).push(l)-1;return()=>{const g=q.get(t)||[],m=g.length-1,y=m<_?m:_;for(let P=y;P>=0;P--)if(g[P]===l){g.splice(P,1);break}}}const o=[d,i];return r&&(n&&samp.registerEvent(t,n),samp.on(t,i)),o}const[Ur]=u({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[Wr]=u({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[Kr]=u({name:"OnNpcModeInit"}),[jr]=u({name:"OnNpcModeExit"}),[Zr]=u({name:"OnNpcSpawn"}),[Xr]=u({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:A.decodeFromBuf(t)}}}),zr=Object.freeze({onConnect:Ur,onDisconnect:Wr,onModeInit:Kr,onModeExit:jr,onSpawn:Zr,onClientMessage:Xr});var Te=(e=>(e[e.DOWNLOAD_REQUEST_EMPTY=0]="DOWNLOAD_REQUEST_EMPTY",e[e.DOWNLOAD_REQUEST_MODEL_FILE=1]="DOWNLOAD_REQUEST_MODEL_FILE",e[e.DOWNLOAD_REQUEST_TEXTURE_FILE=2]="DOWNLOAD_REQUEST_TEXTURE_FILE",e))(Te||{}),De=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(De||{}),oe=(e=>(e[e.MSGBOX=0]="MSGBOX",e[e.INPUT=1]="INPUT",e[e.LIST=2]="LIST",e[e.PASSWORD=3]="PASSWORD",e[e.TABLIST=4]="TABLIST",e[e.TABLIST_HEADERS=5]="TABLIST_HEADERS",e))(oe||{}),Le=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Le||{}),Re=(e=>(e[e.NO_ACTION=0]="NO_ACTION",e[e.DISCONNECT_ASAP=1]="DISCONNECT_ASAP",e[e.DISCONNECT_ASAP_SILENTLY=2]="DISCONNECT_ASAP_SILENTLY",e[e.DISCONNECT_ON_NO_ACK=3]="DISCONNECT_ON_NO_ACK",e[e.REQUESTED_CONNECTION=4]="REQUESTED_CONNECTION",e[e.HANDLING_CONNECTION_REQUEST=5]="HANDLING_CONNECTION_REQUEST",e[e.UNVERIFIED_SENDER=6]="UNVERIFIED_SENDER",e[e.SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET=7]="SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET",e[e.CONNECTED=8]="CONNECTED",e))(Re||{}),T=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-1]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e))(T||{}),be=(e=>(e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(be||{}),k=(e=>(e[e.MAX_PLAYER_NAME=24]="MAX_PLAYER_NAME",e[e.MAX_PLAYERS=1e3]="MAX_PLAYERS",e[e.MAX_VEHICLES=2e3]="MAX_VEHICLES",e[e.MAX_ACTORS=1e3]="MAX_ACTORS",e[e.MAX_OBJECTS=1e3]="MAX_OBJECTS",e[e.MAX_GANG_ZONES=1024]="MAX_GANG_ZONES",e[e.MAX_TEXT_DRAWS=2048]="MAX_TEXT_DRAWS",e[e.MAX_PLAYER_TEXT_DRAWS=256]="MAX_PLAYER_TEXT_DRAWS",e[e.MAX_MENUS=128]="MAX_MENUS",e[e.MAX_MENU_ROW=12]="MAX_MENU_ROW",e[e.MAX_MENU_COL=2]="MAX_MENU_COL",e[e.MAX_3DTEXT_GLOBAL=1024]="MAX_3DTEXT_GLOBAL",e[e.MAX_3DTEXT_PLAYER=1024]="MAX_3DTEXT_PLAYER",e[e.MAX_PICKUPS=4096]="MAX_PICKUPS",e[e.MAX_PLAYER_ATTACHED_OBJECTS=10]="MAX_PLAYER_ATTACHED_OBJECTS",e[e.MAX_CHATBUBBLE_LENGTH=144]="MAX_CHATBUBBLE_LENGTH",e))(k||{}),Oe=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Oe||{}),Be=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Be||{}),F=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(F||{}),we=(e=>(e[e._32x32=10]="_32x32",e[e._64x32=20]="_64x32",e[e._64x64=30]="_64x64",e[e._128x32=40]="_128x32",e[e._128x64=50]="_128x64",e[e._128x128=60]="_128x128",e[e._256x32=70]="_256x32",e[e._256x64=80]="_256x64",e[e._256x128=90]="_256x128",e[e._256x256=100]="_256x256",e[e._512x64=110]="_512x64",e[e._512x128=120]="_512x128",e[e._512x256=130]="_512x256",e[e._512x512=140]="_512x512",e))(we||{}),Ge=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Ge||{}),ke=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(ke||{}),Fe=(e=>(e[e.NORMAL=0]="NORMAL",e[e.BOXING=1]="BOXING",e[e.KUNGFU=2]="KUNGFU",e[e.KNEEHEAD=3]="KNEEHEAD",e[e.GRABKICK=4]="GRABKICK",e[e.ELBOW=5]="ELBOW",e))(Fe||{}),Me=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(Me||{}),ie=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ie||{}),Ne=(e=>(e[e.BEHINDCAR=3]="BEHINDCAR",e[e.FOLLOWPED=4]="FOLLOWPED",e[e.SNIPER=7]="SNIPER",e[e.ROCKETLAUNCHER=8]="ROCKETLAUNCHER",e[e.FIXED=15]="FIXED",e[e._1STPERSON=16]="_1STPERSON",e[e.CAM_ON_A_STRING=18]="CAM_ON_A_STRING",e[e.BEHINDBOAT=22]="BEHINDBOAT",e[e.CAMERA=46]="CAMERA",e[e.ROCKETLAUNCHER_HS=51]="ROCKETLAUNCHER_HS",e[e.AIMWEAPON=53]="AIMWEAPON",e[e.AIMWEAPON_FROMCAR=55]="AIMWEAPON_FROMCAR",e[e.DW_HELI_CHASE=56]="DW_HELI_CHASE",e[e.DW_CAM_MAN=57]="DW_CAM_MAN",e[e.DW_BIRDY=58]="DW_BIRDY",e[e.DW_PLANE_SPOTTER=59]="DW_PLANE_SPOTTER",e[e.DW_PLANECAM1=62]="DW_PLANECAM1",e[e.DW_PLANECAM2=63]="DW_PLANECAM2",e[e.DW_PLANECAM3=64]="DW_PLANECAM3",e))(Ne||{}),ae=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ae||{}),Y=(e=>(e[e.NONE=0]="NONE",e[e.ONFOOT=1]="ONFOOT",e[e.DRIVER=2]="DRIVER",e[e.PASSENGER=3]="PASSENGER",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.ENTER_VEHICLE_DRIVER=5]="ENTER_VEHICLE_DRIVER",e[e.ENTER_VEHICLE_PASSENGER=6]="ENTER_VEHICLE_PASSENGER",e[e.WASTED=7]="WASTED",e[e.SPAWNED=8]="SPAWNED",e[e.SPECTATING=9]="SPECTATING",e))(Y||{}),He=(e=>(e[e.TORSO=3]="TORSO",e[e.GROIN=4]="GROIN",e[e.LEFT_ARM=5]="LEFT_ARM",e[e.RIGHT_ARM=6]="RIGHT_ARM",e[e.LEFT_LEG=7]="LEFT_LEG",e[e.RIGHT_LEG=8]="RIGHT_LEG",e[e.HEAD=9]="HEAD",e))(He||{}),xe=(e=>(e[e.Spine=1]="Spine",e[e.Head=2]="Head",e[e.LeftUpperArm=3]="LeftUpperArm",e[e.RightUpperArm=4]="RightUpperArm",e[e.LeftHand=5]="LeftHand",e[e.RightHand=6]="RightHand",e[e.LeftThigh=7]="LeftThigh",e[e.RightThigh=8]="RightThigh",e[e.LeftFoot=9]="LeftFoot",e[e.RightFoot=10]="RightFoot",e[e.RightCalf=11]="RightCalf",e[e.LeftCalf=12]="LeftCalf",e[e.LeftForearm=13]="LeftForearm",e[e.RightForearm=14]="RightForearm",e[e.LeftClavicle=15]="LeftClavicle",e[e.RightClavicle=16]="RightClavicle",e[e.Neck=17]="Neck",e[e.Jaw=18]="Jaw",e))(xe||{}),se=(e=>(e[e.NONE=0]="NONE",e[e.DUCK=1]="DUCK",e[e.USEJETPACK=2]="USEJETPACK",e[e.ENTER_VEHICLE=3]="ENTER_VEHICLE",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.DANCE1=5]="DANCE1",e[e.DANCE2=6]="DANCE2",e[e.DANCE3=7]="DANCE3",e[e.DANCE4=8]="DANCE4",e[e.HANDSUP=10]="HANDSUP",e[e.USECELLPHONE=11]="USECELLPHONE",e[e.SITTING=12]="SITTING",e[e.STOPUSECELLPHONE=13]="STOPUSECELLPHONE",e[e.DRINK_BEER=20]="DRINK_BEER",e[e.SMOKE_CIGGY=21]="SMOKE_CIGGY",e[e.DRINK_WINE=22]="DRINK_WINE",e[e.DRINK_SPRUNK=23]="DRINK_SPRUNK",e[e.CUFFED=24]="CUFFED",e[e.CARRY=25]="CARRY",e[e.PISSING=68]="PISSING",e))(se||{}),ee=(e=>(e[e.FONT_0=0]="FONT_0",e[e.FONT_1=1]="FONT_1",e[e.FONT_2=2]="FONT_2",e[e.FONT_3=3]="FONT_3",e[e.SPRITE_DRAW=4]="SPRITE_DRAW",e[e.MODEL_PREVIEW=5]="MODEL_PREVIEW",e[e.BANK=0]="BANK",e[e.STANDARD=1]="STANDARD",e[e.SPACEAGE=2]="SPACEAGE",e[e.HEADING=3]="HEADING",e[e.BECKETT_REGULAR=0]="BECKETT_REGULAR",e[e.AHARONI_BOLD=1]="AHARONI_BOLD",e[e.BANK_GOTHIC=2]="BANK_GOTHIC",e[e.PRICEDOWN=3]="PRICEDOWN",e[e.SPRITE=4]="SPRITE",e[e.PREVIEW=5]="PREVIEW",e))(ee||{}),ve=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(ve||{}),Ve=(e=>(e[e.UNKNOWN_CARMODTYPE=-1]="UNKNOWN_CARMODTYPE",e[e.CARMODTYPE_NONE=-1]="CARMODTYPE_NONE",e[e.SPOILER=0]="SPOILER",e[e.HOOD=1]="HOOD",e[e.ROOF=2]="ROOF",e[e.SIDESKIRT=3]="SIDESKIRT",e[e.LAMPS=4]="LAMPS",e[e.NITRO=5]="NITRO",e[e.EXHAUST=6]="EXHAUST",e[e.WHEELS=7]="WHEELS",e[e.STEREO=8]="STEREO",e[e.HYDRAULICS=9]="HYDRAULICS",e[e.FRONT_BUMPER=10]="FRONT_BUMPER",e[e.REAR_BUMPER=11]="REAR_BUMPER",e[e.VENT_RIGHT=12]="VENT_RIGHT",e[e.VENT_LEFT=13]="VENT_LEFT",e))(Ve||{}),Ue=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Ue||{}),We=(e=>(e[e.SIZE=1]="SIZE",e[e.FRONTSEAT=2]="FRONTSEAT",e[e.REARSEAT=3]="REARSEAT",e[e.PETROLCAP=4]="PETROLCAP",e[e.WHEELSFRONT=5]="WHEELSFRONT",e[e.WHEELSREAR=6]="WHEELSREAR",e[e.WHEELSMID=7]="WHEELSMID",e[e.FRONT_BUMPER_Z=8]="FRONT_BUMPER_Z",e[e.REAR_BUMPER_Z=9]="REAR_BUMPER_Z",e))(We||{}),Ke=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.REASON_VEHICLE=49]="REASON_VEHICLE",e[e.REASON_DROWN=53]="REASON_DROWN",e[e.REASON_COLLISION=54]="REASON_COLLISION",e[e.REASON_SPLAT=54]="REASON_SPLAT",e[e.REASON_CONNECT=200]="REASON_CONNECT",e[e.REASON_DISCONNECT=200]="REASON_DISCONNECT",e[e.REASON_SUICIDE=255]="REASON_SUICIDE",e[e.WEAPON_FIST=0]="WEAPON_FIST",e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NITESTICK=3]="NITESTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.NIGHT_VISION_GOGGLES=44]="NIGHT_VISION_GOGGLES",e[e.THERMAL_GOGGLES=45]="THERMAL_GOGGLES",e[e.PARACHUTE=46]="PARACHUTE",e))(Ke||{}),je=(e=>(e[e.PISTOL=0]="PISTOL",e[e.PISTOL_SILENCED=1]="PISTOL_SILENCED",e[e.DESERT_EAGLE=2]="DESERT_EAGLE",e[e.SHOTGUN=3]="SHOTGUN",e[e.SAWNOFF_SHOTGUN=4]="SAWNOFF_SHOTGUN",e[e.SPAS12_SHOTGUN=5]="SPAS12_SHOTGUN",e[e.MICRO_UZI=6]="MICRO_UZI",e[e.MP5=7]="MP5",e[e.AK47=8]="AK47",e[e.M4=9]="M4",e[e.SNIPERRIFLE=10]="SNIPERRIFLE",e))(je||{}),Ze=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.VEHICLE=2]="VEHICLE",e[e.OBJECT=3]="OBJECT",e[e.PLAYER_OBJECT=4]="PLAYER_OBJECT",e))(Ze||{}),Xe=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NO_BULLETS=0]="NO_BULLETS",e[e.LAST_BULLET=1]="LAST_BULLET",e[e.MORE_BULLETS=2]="MORE_BULLETS",e[e.RELOADING=3]="RELOADING",e))(Xe||{}),le=(e=>(e[e.VEHICLE=49]="VEHICLE",e[e.HELICOPTERBLADES=50]="HELICOPTERBLADES",e[e.EXPLOSION=51]="EXPLOSION",e[e.DROWN=53]="DROWN",e[e.COLLISION=54]="COLLISION",e[e.CONNECT=200]="CONNECT",e[e.DISCONNECT=201]="DISCONNECT",e[e.SUICIDE=255]="SUICIDE",e))(le||{}),ze=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(ze||{});const p=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(r=>parseInt(r,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let n=0;return t.reverse().forEach((r,i)=>{r!==0&&(n+=Math.pow(16,i*2)*r)}),n},J=(e,t)=>{const n=t.replace("-","")==="utf8"?e:A.encodeToBuf(e,t);return[n instanceof Array?"a":"s",n]},Ye=(e,t,n)=>{const r=J(n,e.charset);return a("SendClientMessage",`ii${r[0]}`,e.id,p(t),r[1])},Yr=(e,t,n)=>(e.forEach(r=>Ye(r,t,n)),1),Je=(e,t,n)=>{const r=J(n,e.charset);return a("SendPlayerMessageToPlayer",`ii${r[0]}`,e.id,t,r[1])},Jr=(e,t,n)=>(e.forEach(r=>Je(r,t,n)),1),$r=(e,t,n)=>{const{charset:r}=e,{style:i,caption:d,info:o,button1:l,button2:_}=n,[g,m]=J(d||"",r),[,y]=J(o||"",r),[,P]=J(l||"",r),[,f]=J(_||"",r);return a("ShowPlayerDialog",`iii${g.repeat(4)}`,e.id,t,i,m,y,P,f)},Qr=e=>{const t=a("GetPlayerName","iAi",e.id,k.MAX_PLAYER_NAME);return A.decodeFromBuf(A.getValidStr(t),e.charset)},qr=(e,t)=>a("SetPlayerName","ia",e.id,A.encodeToBuf(t,e.charset)),ei=(e,t,n)=>{const r=A.encodeToBuf(t,n);return a("BanEx","ia",e,r)},ti=(e,t,n,r,i,d,o,l,_,g,m,y,P,f,D,B)=>{const x=A.encodeToBuf(t,e);return a("CreateDynamic3DTextLabel","aiffffiiiiiifii",x,n,r,i,d,o,l,_,g,m,y,P,f,D,B)},ni=(e,t,n,r,i,d,o,l,_,g,m,y,P,f,D,B)=>{const x=A.encodeToBuf(e,B);return a("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",x,t,n,r,i,d,o,l,_,g,m,y,P,f,D,m.length,y.length,P.length,f.length)},ri=(e,t,n,r)=>{const i=A.encodeToBuf(n,r);return a("UpdateDynamic3DTextLabelText","iia",e,t,i)},ii=(e,t)=>{const n=a("GetDynamic3DTextLabelText","iAi",e,1024);return A.decodeFromBuf(A.getValidStr(n),t)},ai=(e,t,n,r,i,d,o,l,_,g,m)=>{const y=A.encodeToBuf(r,e),P=A.encodeToBuf(d,e);return a("SetDynamicObjectMaterialText","iiaiaiiiii",t,n,y,i,P,o,l,_,g,m)},di=(e,t,n)=>{const[r,i,d,o,l,_,g]=a("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),m=A.decodeFromBuf(r,n),y=A.decodeFromBuf(d,n);return{text:m,materialSize:i,fontFace:y,bold:o,fontColor:l,backColor:_,textAlignment:g}},{callNative:a,callNativeFloat:W}=samp,oi=(e,t,n)=>a("SendDeathMessage","iii",e,t,n),si=(e,t,n,r)=>a("SendDeathMessageToPlayer","iiii",e,t,n,r),li=(e,t,n)=>a("GameTextForAll","sii",e,t,n),_i=e=>{a("HideGameTextForAll","i",e)},ci=(e,t,n,r)=>Boolean(a("GameTextForPlayer","isii",e,t,n,r)),hi=(e,t)=>Boolean(a("HasGameText","ii",e,t)),ui=(e,t)=>Boolean(a("HideGameTextForPlayer","ii",e,t)),gi=()=>a("GetMaxPlayers",""),Si=(e,t,n,r,i,d)=>W("VectorSize","ffffff",e,t,n,r,i,d),mi=()=>a("GetPlayerPoolSize",""),yi=()=>a("GetVehiclePoolSize",""),Ii=e=>a("SetGameModeText","s",e),Pi=e=>a("SetTeamCount","i",e),pi=(e,t,n,r,i,d,o,l,_,g,m)=>a("AddPlayerClass","iffffiiiiii",e,t,n,r,i,d,o,l,_,g,m),Ai=(e,t,n,r,i,d,o,l,_,g,m,y)=>a("AddPlayerClassEx","iiffffiiiiii",e,t,n,r,i,d,o,l,_,g,m,y),fi=(e,t,n,r,i,d,o)=>a("AddStaticVehicle","iffffii",e,t,n,r,i,d,o),Ei=(e,t,n,r,i,d,o,l,_)=>a("AddStaticVehicleEx","iffffiiii",e,t,n,r,i,d,o,l,_),Ci=e=>a("ShowNameTags","i",e),Ti=e=>a("ShowPlayerMarkers","i",e),Di=e=>a("SetWorldTime","i",e),Li=()=>a("EnableVehicleFriendlyFire",""),Ri=e=>a("SetWeather","i",e),bi=()=>W("GetGravity",""),Oi=e=>a("SetGravity","f",e),Bi=(e,t,n,r,i)=>a("CreateExplosion","fffif",e,t,n,r,i),wi=e=>a("EnableZoneNames","i",e),Gi=()=>a("UsePlayerPedAnims",""),ki=()=>a("DisableInteriorEnterExits",""),Fi=e=>a("SetNameTagDrawDistance","f",e),Mi=()=>a("DisableNameTagLOS",""),Ni=e=>a("LimitGlobalChatRadius","f",e),Hi=e=>a("LimitPlayerMarkerRadius","f",e),xi=(e,t)=>a("ConnectNPC","ss",e,t),vi=e=>Boolean(a("IsPlayerNPC","i",e)),Vi=e=>Boolean(a("IsPlayerAdmin","i",e)),Ui=e=>a("Kick","i",e),Wi=e=>a("Ban","i",e),Ki=e=>a("SendRconCommand","s",e),ji=e=>a("GetPlayerNetworkStats","iSi",e,1024),Zi=()=>a("GetNetworkStats","Si",1024),Xi=(e,t)=>a("BlockIpAddress","si",e,t),zi=e=>a("UnBlockIpAddress","s",e),Yi=()=>a("GetServerTickRate",""),Ji=e=>a("NetStats_GetConnectedTime","i",e),$i=e=>a("NetStats_MessagesReceived","i",e),Qi=e=>a("NetStats_BytesReceived","i",e),qi=e=>a("NetStats_MessagesSent","i",e),ea=e=>a("NetStats_BytesSent","i",e),ta=e=>a("NetStats_MessagesRecvPerSecond","i",e),na=e=>W("NetStats_PacketLossPercent","i",e),ra=e=>a("NetStats_ConnectionStatus","i",e),ia=(e,t,n,r,i,d)=>a("CreateMenu","siffff",e,t,n,r,i,d),aa=e=>a("DestroyMenu","i",e),da=(e,t,n)=>a("AddMenuItem","iis",e,t,n),oa=(e,t,n)=>a("SetMenuColumnHeader","iis",e,t,n),sa=(e,t)=>a("ShowMenuForPlayer","ii",e,t),la=(e,t)=>a("HideMenuForPlayer","ii",e,t),_a=e=>Boolean(a("IsValidMenu","i",e)),ca=e=>a("DisableMenu","i",e),ha=(e,t)=>a("DisableMenuRow","ii",e,t),ua=e=>a("GetPlayerMenu","i",e),ga=(e,t,n)=>a("TextDrawCreate","ffs",e,t,n),Sa=e=>a("TextDrawDestroy","i",e),ma=(e,t,n)=>a("TextDrawLetterSize","iff",e,t,n),ya=(e,t,n)=>a("TextDrawTextSize","iff",e,t,n),Ia=(e,t)=>a("TextDrawAlignment","ii",e,t),Pa=(e,t)=>Boolean(a("TextDrawColor","ii",e,p(t))),pa=(e,t)=>a("TextDrawUseBox","ii",e,t),Aa=(e,t)=>Boolean(a("TextDrawBoxColor","ii",e,p(t))),fa=(e,t)=>a("TextDrawSetShadow","ii",e,t),Ea=(e,t)=>a("TextDrawSetOutline","ii",e,t),Ca=(e,t)=>Boolean(a("TextDrawBackgroundColor","ii",e,p(t))),Ta=(e,t)=>a("TextDrawFont","ii",e,t),Da=(e,t)=>a("TextDrawSetProportional","ii",e,t),La=(e,t)=>a("TextDrawSetSelectable","ii",e,t),Ra=(e,t)=>a("TextDrawShowForPlayer","ii",e,t),ba=(e,t)=>a("TextDrawHideForPlayer","ii",e,t),Oa=e=>a("TextDrawShowForAll","i",e),Ba=e=>a("TextDrawHideForAll","i",e),wa=(e,t)=>a("TextDrawSetString","is",e,t),Ga=(e,t)=>a("TextDrawSetPreviewModel","ii",e,t),ka=(e,t,n,r,i=1)=>{a("TextDrawSetPreviewRot","iffff",e,t,n,r,i)},Fa=(e,t,n)=>Boolean(a("TextDrawSetPreviewVehCol","iii",e,p(t),p(n))),Ma=(e,t,n,r)=>a("GangZoneCreate","ffff",e,t,n,r),Na=e=>a("GangZoneDestroy","i",e),Ha=(e,t,n)=>a("GangZoneShowForPlayer","iii",e,t,p(n)),xa=(e,t)=>a("GangZoneShowForAll","ii",e,p(t)),va=(e,t)=>a("GangZoneHideForPlayer","ii",e,t),Va=e=>a("GangZoneHideForAll","i",e),Ua=(e,t,n)=>a("GangZoneFlashForPlayer","iii",e,t,p(n)),Wa=(e,t)=>a("GangZoneFlashForAll","ii",e,p(t)),Ka=(e,t)=>a("GangZoneStopFlashForPlayer","ii",e,t),ja=e=>a("GangZoneStopFlashForAll","i",e),Za=(e,t)=>A.decodeFromBuf(A.getValidStr(a("gpci","iAi",e,41)),t),Xa=e=>Boolean(a("BeginObjectSelecting","i",e)),za=e=>Boolean(a("EndObjectEditing","i",e)),Ya=e=>Boolean(a("SetObjectsDefaultCameraCol","i",e)),Ja=(e,t,n,r,i,d,o,l,_,g,m,y,P)=>a("SetSpawnInfo","iiiffffiiiiii",e,t,n,r,i,d,o,l,_,g,m,y,P),$a=e=>a("SpawnPlayer","i",e),$e=(e,t,n,r)=>a("SetPlayerPos","ifff",e,t,n,r),Qa=(e,t,n,r)=>a("SetPlayerPosFindZ","ifff",e,t,n,r),qa=e=>a("GetPlayerPos","iFFF",e),ed=(e,t)=>a("SetPlayerFacingAngle","if",e,t),td=e=>a("GetPlayerFacingAngle","iF",e),nd=(e,t,n,r,i)=>Boolean(a("IsPlayerInRangeOfPoint","iffff",e,t,n,r,i)),rd=(e,t,n,r)=>W("GetPlayerDistanceFromPoint","ifff",e,t,n,r),id=(e,t)=>Boolean(a("IsPlayerStreamedIn","ii",e,t)),ad=(e,t)=>a("SetPlayerInterior","ii",e,t),dd=e=>a("GetPlayerInterior","i",e),od=(e,t)=>a("SetPlayerHealth","if",e,t),sd=e=>a("GetPlayerHealth","iF",e),ld=(e,t)=>a("SetPlayerArmour","if",e,t),_d=e=>a("GetPlayerArmour","iF",e),cd=(e,t,n)=>a("SetPlayerAmmo","iii",e,t,n),hd=e=>a("GetPlayerAmmo","i",e),ud=e=>a("GetPlayerWeaponState","i",e),gd=e=>a("GetPlayerTargetPlayer","i",e),Sd=(e,t)=>{a("SetPlayerTeam","ii",e,t)},md=e=>a("GetPlayerTeam","i",e),yd=(e,t)=>a("SetPlayerScore","ii",e,t),Id=e=>a("GetPlayerScore","i",e),Pd=e=>a("GetPlayerDrunkLevel","i",e),pd=(e,t)=>a("SetPlayerDrunkLevel","ii",e,t),Ad=(e,t)=>a("SetPlayerColor","ii",e,p(t)),fd=e=>a("GetPlayerColor","i",e),Ed=(e,t)=>a("SetPlayerSkin","ii",e,t),Cd=e=>a("GetPlayerSkin","i",e),Td=(e,t,n)=>a("GivePlayerWeapon","iii",e,t,n),Dd=e=>a("ResetPlayerWeapons","i",e),Ld=(e,t)=>a("SetPlayerArmedWeapon","ii",e,t),Rd=(e,t)=>a("GetPlayerWeaponData","iiII",e,t),bd=(e,t)=>a("GivePlayerMoney","ii",e,t),Od=e=>a("ResetPlayerMoney","i",e),Bd=e=>a("GetPlayerMoney","i",e),wd=e=>a("GetPlayerState","i",e),Gd=e=>a("GetPlayerPing","i",e),kd=e=>a("GetPlayerWeapon","i",e),Fd=e=>a("GetPlayerKeys","iIII",e),Md=(e,t,n)=>a("SetPlayerTime","iii",e,t,n),Nd=e=>a("GetPlayerTime","iII",e),Hd=(e,t)=>a("TogglePlayerClock","ii",e,t),xd=(e,t)=>a("SetPlayerWeather","ii",e,t),vd=e=>a("ForceClassSelection","i",e),Vd=(e,t)=>a("SetPlayerWantedLevel","ii",e,t),Ud=e=>a("GetPlayerWantedLevel","i",e),Wd=(e,t)=>a("SetPlayerFightingStyle","ii",e,t),Kd=e=>a("GetPlayerFightingStyle","i",e),jd=(e,t,n,r)=>a("SetPlayerVelocity","ifff",e,t,n,r),Zd=e=>a("GetPlayerVelocity","iFFF",e),Xd=(e,t,n)=>a("PlayCrimeReportForPlayer","iii",e,t,n),zd=(e,t,n,r,i,d,o=!1)=>a("PlayAudioStreamForPlayer","isffffi",e,t,n,r,i,d,o),Yd=e=>a("StopAudioStreamForPlayer","i",e),Jd=(e,t)=>a("SetPlayerShopName","is",e,t),$d=(e,t,n)=>a("SetPlayerSkillLevel","iii",e,t,n),Qd=e=>a("GetPlayerSurfingVehicleID","i",e),qd=e=>a("GetPlayerSurfingObjectID","i",e),eo=e=>a("GetPlayerSurfingPlayerObjectID","i",e),to=(e,t,n,r,i,d)=>a("RemoveBuildingForPlayer","iiffff",e,t,n,r,i,d),no=e=>a("GetPlayerLastShotVectors","iFFFFFF",e),ro=(e,t,n,r,i,d,o,l,_,g,m,y,P,f,D)=>a("SetPlayerAttachedObject","iiiifffffffffii",e,t,n,r,i,d,o,l,_,g,m,y,P,p(f),p(D)),io=(e,t)=>a("RemovePlayerAttachedObject","ii",e,t),ao=(e,t)=>Boolean(a("IsPlayerAttachedObjectSlotUsed","ii",e,t)),oo=(e,t,n,r)=>a("CreatePlayerTextDraw","iffs",e,t,n,r),so=(e,t)=>{a("PlayerTextDrawDestroy","ii",e,t)},lo=(e,t,n,r)=>a("PlayerTextDrawLetterSize","iiff",e,t,n,r),_o=(e,t,n)=>a("PlayerTextDrawAlignment","iii",e,t,n),co=(e,t,n)=>Boolean(a("PlayerTextDrawColor","iii",e,t,p(n))),ho=(e,t,n)=>a("PlayerTextDrawUseBox","iii",e,t,n),uo=(e,t,n)=>Boolean(a("PlayerTextDrawBoxColor","iii",e,t,p(n))),go=(e,t,n)=>a("PlayerTextDrawSetShadow","iii",e,t,n),So=(e,t,n)=>a("PlayerTextDrawSetOutline","iii",e,t,n),mo=(e,t,n)=>Boolean(a("PlayerTextDrawBackgroundColor","iii",e,t,p(n))),yo=(e,t,n)=>a("PlayerTextDrawFont","iii",e,t,n),Io=(e,t,n)=>a("PlayerTextDrawSetProportional","iii",e,t,n),Po=(e,t,n)=>a("PlayerTextDrawSetSelectable","iii",e,t,n),po=(e,t)=>a("PlayerTextDrawShow","ii",e,t),Ao=(e,t)=>a("PlayerTextDrawHide","ii",e,t),fo=(e,t,n)=>a("PlayerTextDrawSetString","iis",e,t,n),Eo=(e,t,n)=>a("PlayerTextDrawSetPreviewModel","iii",e,t,n),Co=(e,t,n,r,i,d)=>a("PlayerTextDrawSetPreviewRot","iiffff",e,t,n,r,i,d),To=(e,t,n,r)=>Boolean(a("PlayerTextDrawSetPreviewVehCol","iiii",e,t,n,r)),Do=(e,t,n,r,i)=>a("SetPlayerChatBubble","isifi",e,t,p(n),r,i),Lo=(e,t,n)=>a("PutPlayerInVehicle","iii",e,t,n),Ro=e=>a("GetPlayerVehicleID","i",e),bo=e=>a("GetPlayerVehicleSeat","i",e),Oo=e=>a("RemovePlayerFromVehicle","i",e),Bo=(e,t)=>a("TogglePlayerControllable","ii",e,t),wo=(e,t,n,r,i)=>a("PlayerPlaySound","iifff",e,t,n,r,i),Go=(e,t,n,r,i,d,o,l,_,g)=>a("ApplyAnimation","issfiiiiii",e,t,n,r,i,d,o,l,_,g),ko=(e,t)=>a("ClearAnimations","ii",e,t),Fo=e=>a("GetPlayerAnimationIndex","i",e),Mo=e=>a("GetPlayerSpecialAction","i",e),No=(e,t)=>a("SetPlayerSpecialAction","ii",e,t),Ho=(e,t)=>a("DisableRemoteVehicleCollisions","ii",e,t),xo=(e,t,n,r,i)=>a("SetPlayerWorldBounds","iffff",e,t,n,r,i),vo=(e,t,n)=>a("SetPlayerMarkerForPlayer","iii",e,t,p(n)),Vo=(e,t,n)=>a("ShowPlayerNameTagForPlayer","iii",e,t,n),Uo=(e,t,n,r)=>a("SetPlayerCameraPos","ifff",e,t,n,r),Wo=(e,t,n,r,i)=>a("SetPlayerCameraLookAt","ifffi",e,t,n,r,i),Ko=e=>a("SetCameraBehindPlayer","i",e),jo=e=>a("GetPlayerCameraPos","iFFF",e),Zo=e=>a("GetPlayerCameraFrontVector","iFFF",e),Xo=e=>a("GetPlayerCameraMode","i",e),zo=(e,t)=>a("EnablePlayerCameraTarget","ii",e,t),Yo=e=>a("GetPlayerCameraTargetVehicle","i",e),Jo=e=>a("GetPlayerCameraTargetPlayer","i",e),$o=e=>W("GetPlayerCameraAspectRatio","i",e),Qo=e=>W("GetPlayerCameraZoom","i",e),qo=(e,t,n,r,i,d,o,l,_)=>a("InterpolateCameraPos","iffffffii",e,t,n,r,i,d,o,l,_),es=(e,t,n,r,i,d,o,l,_)=>a("InterpolateCameraLookAt","iffffffii",e,t,n,r,i,d,o,l,_),Qe=e=>Boolean(a("IsPlayerConnected","i",e)),ts=(e,t)=>Boolean(a("IsPlayerInVehicle","ii",e,t)),ns=e=>Boolean(a("IsPlayerInAnyVehicle","i",e)),rs=(e,t)=>a("SetPlayerVirtualWorld","ii",e,t),is=e=>a("GetPlayerVirtualWorld","i",e),as=(e,t)=>a("EnableStuntBonusForPlayer","ii",e,t),ds=e=>a("EnableStuntBonusForAll","i",e),os=(e,t)=>a("TogglePlayerSpectating","ii",e,t),ss=(e,t,n)=>a("PlayerSpectatePlayer","iii",e,t,n),ls=(e,t,n)=>a("PlayerSpectateVehicle","iii",e,t,n),_s=(e,t,n)=>a("StartRecordingPlayerData","iis",e,t,n),cs=e=>a("StopRecordingPlayerData","i",e),hs=(e,t)=>{a("SelectTextDraw","ii",e,p(t))},us=e=>{a("CancelSelectTextDraw","i",e)},gs=(e,t,n,r,i,d)=>a("CreateExplosionForPlayer","ifffif",e,t,n,r,i,d),Ss=(e,t,n,r,i)=>a("SendClientCheck","iiiii",e,t,n,r,i),ms=(e,t,n,r,i,d,o,l,_)=>a("CreateVehicle","iffffiiii",e,t,n,r,i,p(d),p(o),l,_),ys=e=>a("DestroyVehicle","i",e),Is=(e,t)=>Boolean(a("IsVehicleStreamedIn","ii",e,t)),Ps=e=>{const t=a("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},ps=(e,t,n,r)=>a("SetVehiclePos","ifff",e,t,n,r),As=e=>a("GetVehicleZAngle","iF",e),fs=e=>a("GetVehicleRotationQuat","iFFFF",e),Es=(e,t,n,r)=>W("GetVehicleDistanceFromPoint","ifff",e,t,n,r),Cs=(e,t)=>a("SetVehicleZAngle","if",e,t),Ts=(e,t,n,r)=>a("SetVehicleParamsForPlayer","iiii",e,t,n,r),Ds=()=>a("ManualVehicleEngineAndLights",""),Ls=(e,t,n,r,i,d,o,l)=>a("SetVehicleParamsEx","iiiiiiii",e,t,n,r,i,d,o,l),Rs=e=>a("GetVehicleParamsEx","iIIIIIII",e),bs=e=>a("GetVehicleParamsSirenState","i",e),Os=(e,t,n,r,i)=>a("SetVehicleParamsCarDoors","iiiii",e,t,n,r,i),Bs=e=>{const t=a("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},ws=(e,t,n,r,i)=>a("SetVehicleParamsCarWindows","iiiii",e,t,n,r,i),Gs=e=>{const t=a("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},ks=e=>a("SetVehicleToRespawn","i",e),Fs=(e,t)=>a("LinkVehicleToInterior","ii",e,t),Ms=(e,t)=>a("AddVehicleComponent","ii",e,t),Ns=(e,t)=>a("RemoveVehicleComponent","ii",e,t),Hs=(e,t,n)=>a("ChangeVehicleColor","iii",e,p(t),p(n)),xs=(e,t)=>a("ChangeVehiclePaintjob","ii",e,t),vs=(e,t)=>a("SetVehicleHealth","if",e,t),Vs=e=>a("GetVehicleHealth","iF",e),Us=(e,t)=>a("AttachTrailerToVehicle","ii",e,t),Ws=e=>a("DetachTrailerFromVehicle","i",e),Ks=e=>Boolean(a("IsTrailerAttachedToVehicle","i",e)),js=e=>a("GetVehicleTrailer","i",e),Zs=(e,t)=>a("SetVehicleNumberPlate","is",e,t),Xs=e=>a("GetVehicleModel","i",e),zs=(e,t)=>a("GetVehicleComponentInSlot","ii",e,t),Ys=e=>a("GetVehicleComponentType","i",e),Js=e=>a("RepairVehicle","i",e),$s=e=>a("GetVehicleVelocity","iFFF",e),Qs=(e,t,n,r)=>a("SetVehicleVelocity","ifff",e,t,n,r),qs=(e,t,n,r)=>a("SetVehicleAngularVelocity","ifff",e,t,n,r),el=e=>{const t=a("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},tl=(e,t,n,r,i)=>a("UpdateVehicleDamageStatus","iiiii",e,t,n,r,i),nl=(e,t)=>{const n=a("GetVehicleModelInfo","iiFFF",e,t);if(n.length<3)throw new Error("ModelID "+e+" not found");return{x:n[0],y:n[1],z:n[2]}},rl=(e,t)=>a("SetVehicleVirtualWorld","ii",e,t),il=e=>a("GetVehicleVirtualWorld","i",e),qe=e=>Boolean(a("IsValidVehicle","i",e)),al=(e,t)=>a("StartRecordingPlayback","is",e,t),dl=()=>a("StopRecordingPlayback",""),ol=()=>a("PauseRecordingPlayback",""),sl=()=>a("ResumeRecordingPlayback",""),ll=e=>a("GetPlayerCustomSkin","i",e),_l=(e,t)=>a("RedirectDownload","is",e,t),cl=(e,t,n,r,i)=>a("AddSimpleModel","iiiss",e,t,n,r,i),hl=(e,t,n,r,i,d,o)=>a("AddSimpleModelTimed","iiissii",e,t,n,r,i,d,o),ul=e=>a("GetWeaponName","iSi",e,32),gl=e=>a("NetStats_GetIpPort","iSi",e,128+6),Sl=e=>a("GetPlayerIp","iSi",e,128),ml=e=>a("GetAnimationName","iSiSi",e,32,32),yl=e=>a("GetPlayerVersion","iSi",e,24),Il=e=>a("FindModelFileNameFromCRC","iSi",e,255),Pl=e=>a("FindTextureFileNameFromCRC","iSi",e,255);class M{constructor(){}static recordStatus;static connectNPC=xi;static startRecordingPlayerData(t,n,r){if(t.isRecording)return s.warn("[NpcFunc]: It should be stopped before recording");_s(t.id,n,r),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return s.warn("[NpcFunc]: It should be started before stop");cs(t.id),t.isRecording=!1}static startRecordingPlayback(t,n){if(M.recordStatus>=F.start)return s.warn("[NpcFunc]: The current status cannot be replayed");al(t,n),M.recordStatus=F.start}static stopRecordingPlayback(){if(M.recordStatus<F.start)return s.warn("[NpcFunc]: The current status cannot be stopped");dl(),M.recordStatus=F.none}static pauseRecordingPlayback(){if(M.recordStatus!==F.start)return s.warn("[NpcFunc]: The current status cannot be paused");ol(),M.recordStatus=F.pause}static resumeRecordingPlayback(){if(M.recordStatus!==F.pause)return s.warn("[NpcFunc]: The current status cannot be paused");sl(),M.recordStatus=F.start}}const pl=new Map([["AIRPORT",[{n:"thrw_barl_thrw",d:2}]],["Attractors",[{n:"Stepsit_in",d:1.67},{n:"Stepsit_loop",d:3.33},{n:"Stepsit_out",d:1.67}]],["BAR",[{n:"Barcustom_get",d:3},{n:"Barcustom_loop",d:2},{n:"Barcustom_order",d:3.67},{n:"BARman_idle",d:8.33},{n:"Barserve_bottle",d:3},{n:"Barserve_give",d:2.33},{n:"Barserve_glass",d:3.67},{n:"Barserve_in",d:1.67},{n:"Barserve_loop",d:2.33},{n:"Barserve_order",d:3.67},{n:"dnk_stndF_loop",d:2.33},{n:"dnk_stndM_loop",d:2.33}]],["BASEBALL",[{n:"Bat_1",d:.9},{n:"Bat_2",d:1.13},{n:"Bat_3",d:1.2},{n:"Bat_4",d:1},{n:"Bat_block",d:.47},{n:"Bat_Hit_1",d:.83},{n:"Bat_Hit_2",d:1.07},{n:"Bat_Hit_3",d:1.13},{n:"Bat_IDLE",d:.93},{n:"Bat_M",d:.53},{n:"BAT_PART",d:.53}]],["BD_FIRE",[{n:"BD_Fire1",d:1.83},{n:"BD_Fire2",d:1.67},{n:"BD_Fire3",d:1.83},{n:"BD_GF_Wave",d:5.07},{n:"BD_Panic_01",d:3.33},{n:"BD_Panic_02",d:3.33},{n:"BD_Panic_03",d:3.33},{n:"BD_Panic_04",d:3.33},{n:"BD_Panic_Loop",d:3.33},{n:"Grlfrd_Kiss_03",d:7},{n:"M_smklean_loop",d:5},{n:"Playa_Kiss_03",d:7},{n:"wash_up",d:3}]],["BEACH",[{n:"bather",d:4.2},{n:"Lay_Bac_Loop",d:2.67},{n:"ParkSit_M_loop",d:3.67},{n:"ParkSit_W_loop",d:3.33},{n:"SitnWait_loop_W",d:1.33}]],["benchpress",[{n:"gym_bp_celebrate",d:5},{n:"gym_bp_down",d:1},{n:"gym_bp_getoff",d:8.67},{n:"gym_bp_geton",d:5.33},{n:"gym_bp_up_A",d:2.33},{n:"gym_bp_up_B",d:2.67},{n:"gym_bp_up_smooth",d:1.33}]],["BF_injection",[{n:"BF_getin_LHS",d:1},{n:"BF_getin_RHS",d:1},{n:"BF_getout_LHS",d:1.13},{n:"BF_getout_RHS",d:1.13}]],["BIKED",[{n:"BIKEd_Back",d:.1},{n:"BIKEd_drivebyFT",d:.2},{n:"BIKEd_drivebyLHS",d:.2},{n:"BIKEd_drivebyRHS",d:.2},{n:"BIKEd_Fwd",d:.2},{n:"BIKEd_getoffBACK",d:1.47},{n:"BIKEd_getoffLHS",d:1},{n:"BIKEd_getoffRHS",d:1},{n:"BIKEd_hit",d:.03},{n:"BIKEd_jumponL",d:.97},{n:"BIKEd_jumponR",d:.97},{n:"BIKEd_kick",d:1.07},{n:"BIKEd_Left",d:.1},{n:"BIKEd_passenger",d:.03},{n:"BIKEd_pushes",d:.8},{n:"BIKEd_Ride",d:.03},{n:"BIKEd_Right",d:.1},{n:"BIKEd_shuffle",d:.43},{n:"BIKEd_Still",d:.03}]],["BIKEH",[{n:"BIKEh_Back",d:.1},{n:"BIKEh_drivebyFT",d:.2},{n:"BIKEh_drivebyLHS",d:.2},{n:"BIKEh_drivebyRHS",d:.2},{n:"BIKEh_Fwd",d:.2},{n:"BIKEh_getoffBACK",d:1.7},{n:"BIKEh_getoffLHS",d:.77},{n:"BIKEh_getoffRHS",d:.73},{n:"BIKEh_hit",d:.03},{n:"BIKEh_jumponL",d:1.47},{n:"BIKEh_jumponR",d:1.5},{n:"BIKEh_kick",d:1.07},{n:"BIKEh_Left",d:.13},{n:"BIKEh_passenger",d:.03},{n:"BIKEh_pushes",d:.97},{n:"BIKEh_Ride",d:.03},{n:"BIKEh_Right",d:.13},{n:"BIKEh_Still",d:.03}]],["BIKELEAP",[{n:"bk_blnce_in",d:1.9},{n:"bk_blnce_out",d:1},{n:"bk_jmp",d:.4},{n:"bk_rdy_in",d:.5},{n:"bk_rdy_out",d:.4},{n:"struggle_cesar",d:.47},{n:"struggle_driver",d:.47},{n:"truck_driver",d:.73},{n:"truck_getin",d:2.5}]],["BIKES",[{n:"BIKEs_Back",d:.1},{n:"BIKEs_drivebyFT",d:.2},{n:"BIKEs_drivebyLHS",d:.2},{n:"BIKEs_drivebyRHS",d:.2},{n:"BIKEs_Fwd",d:.2},{n:"BIKEs_getoffBACK",d:2.43},{n:"BIKEs_getoffLHS",d:1.1},{n:"BIKEs_getoffRHS",d:1.1},{n:"BIKEs_hit",d:.03},{n:"BIKEs_jumponL",d:.9},{n:"BIKEs_jumponR",d:.9},{n:"BIKEs_kick",d:1},{n:"BIKEs_Left",d:.1},{n:"BIKEs_passenger",d:.03},{n:"BIKEs_pushes",d:.73},{n:"BIKEs_Ride",d:.03},{n:"BIKEs_Right",d:.1},{n:"BIKEs_Snatch_L",d:.43},{n:"BIKEs_Snatch_R",d:.43},{n:"BIKEs_Still",d:.03}]],["BIKEV",[{n:"BIKEv_Back",d:.17},{n:"BIKEv_drivebyFT",d:.17},{n:"BIKEv_drivebyLHS",d:.23},{n:"BIKEv_drivebyRHS",d:.2},{n:"BIKEv_Fwd",d:.2},{n:"BIKEv_getoffBACK",d:1.7},{n:"BIKEv_getoffLHS",d:.67},{n:"BIKEv_getoffRHS",d:.67},{n:"BIKEv_hit",d:.03},{n:"BIKEv_jumponL",d:.67},{n:"BIKEv_jumponR",d:.67},{n:"BIKEv_kick",d:1},{n:"BIKEv_Left",d:.1},{n:"BIKEv_passenger",d:.03},{n:"BIKEv_pushes",d:.73},{n:"BIKEv_Ride",d:.03},{n:"BIKEv_Right",d:.1},{n:"BIKEv_Still",d:.03}]],["BIKE_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["BLOWJOBZ",[{n:"BJ_Car_End_P",d:4.13},{n:"BJ_Car_End_W",d:3.67},{n:"BJ_Car_Loop_P",d:.67},{n:"BJ_Car_Loop_W",d:.67},{n:"BJ_Car_Start_P",d:2.33},{n:"BJ_Car_Start_W",d:2.33},{n:"BJ_Couch_End_P",d:7.67},{n:"BJ_Couch_End_W",d:7.67},{n:"BJ_Couch_Loop_P",d:2},{n:"BJ_Couch_Loop_W",d:2},{n:"BJ_Couch_Start_P",d:5.33},{n:"BJ_Couch_Start_W",d:5.33},{n:"BJ_Stand_End_P",d:4.87},{n:"BJ_Stand_End_W",d:5.33},{n:"BJ_Stand_Loop_P",d:.67},{n:"BJ_Stand_Loop_W",d:.67},{n:"BJ_Stand_Start_P",d:2},{n:"BJ_Stand_Start_W",d:2}]],["BMX",[{n:"BMX_back",d:.1},{n:"BMX_bunnyhop",d:.33},{n:"BMX_drivebyFT",d:.2},{n:"BMX_driveby_LHS",d:.2},{n:"BMX_driveby_RHS",d:.2},{n:"BMX_fwd",d:.13},{n:"BMX_getoffBACK",d:1.37},{n:"BMX_getoffLHS",d:.73},{n:"BMX_getoffRHS",d:.63},{n:"BMX_jumponL",d:.9},{n:"BMX_jumponR",d:.9},{n:"BMX_Left",d:.13},{n:"BMX_pedal",d:.73},{n:"BMX_pushes",d:.8},{n:"BMX_Ride",d:.03},{n:"BMX_Right",d:.13},{n:"BMX_sprint",d:.67},{n:"BMX_still",d:.03}]],["BOMBER",[{n:"BOM_Plant",d:2.67},{n:"BOM_Plant_2Idle",d:1},{n:"BOM_Plant_Crouch_In",d:.8},{n:"BOM_Plant_Crouch_Out",d:.8},{n:"BOM_Plant_In",d:.87},{n:"BOM_Plant_Loop",d:.8}]],["BOX",[{n:"boxhipin",d:6.53},{n:"boxhipup",d:5},{n:"boxshdwn",d:6.1},{n:"boxshup",d:5.2},{n:"bxhipwlk",d:1.5},{n:"bxhwlki",d:.97},{n:"bxshwlk",d:2.5},{n:"bxshwlki",d:.97},{n:"bxwlko",d:.53},{n:"catch_box",d:1.5}]],["BSKTBALL",[{n:"BBALL_def_jump_shot",d:1.17},{n:"BBALL_def_loop",d:1},{n:"BBALL_def_stepL",d:.6},{n:"BBALL_def_stepR",d:.6},{n:"BBALL_Dnk",d:1.4},{n:"BBALL_Dnk_Gli",d:.37},{n:"BBALL_Dnk_Gli_O",d:.37},{n:"BBALL_Dnk_Lnch",d:.2},{n:"BBALL_Dnk_Lnch_O",d:.2},{n:"BBALL_Dnk_Lnd",d:.93},{n:"BBALL_Dnk_O",d:.1},{n:"BBALL_idle",d:2.43},{n:"BBALL_idle2",d:2.67},{n:"BBALL_idle2_O",d:2.67},{n:"BBALL_idleloop",d:.67},{n:"BBALL_idleloop_O",d:.67},{n:"BBALL_idle_O",d:2.43},{n:"BBALL_Jump_Cancel",d:1.07},{n:"BBALL_Jump_Cancel_O",d:1.07},{n:"BBALL_Jump_End",d:.93},{n:"BBALL_Jump_Shot",d:1.67},{n:"BBALL_Jump_Shot_O",d:.67},{n:"BBALL_Net_Dnk_O",d:1.83},{n:"BBALL_pickup",d:1.83},{n:"BBALL_pickup_O",d:1.83},{n:"BBALL_react_miss",d:.8},{n:"BBALL_react_score",d:1.1},{n:"BBALL_run",d:.9},{n:"BBALL_run_O",d:.9},{n:"BBALL_SkidStop_L",d:.5},{n:"BBALL_SkidStop_L_O",d:.5},{n:"BBALL_SkidStop_R",d:.5},{n:"BBALL_SkidStop_R_O",d:.5},{n:"BBALL_walk",d:1.07},{n:"BBALL_WalkStop_L",d:.5},{n:"BBALL_WalkStop_L_O",d:.5},{n:"BBALL_WalkStop_R",d:.5},{n:"BBALL_WalkStop_R_O",d:.5},{n:"BBALL_walk_O",d:1.07},{n:"BBALL_walk_start",d:.2},{n:"BBALL_walk_start_O",d:.2}]],["BUDDY",[{n:"buddy_crouchfire",d:.87},{n:"buddy_crouchreload",d:1.1},{n:"buddy_fire",d:.8},{n:"buddy_fire_poor",d:1.33},{n:"buddy_reload",d:1.3}]],["BUS",[{n:"BUS_close",d:.4},{n:"BUS_getin_LHS",d:.33},{n:"BUS_getin_RHS",d:2.17},{n:"BUS_getout_LHS",d:.8},{n:"BUS_getout_RHS",d:1.87},{n:"BUS_jacked_LHS",d:1.13},{n:"BUS_open",d:1.47},{n:"BUS_open_RHS",d:1.2},{n:"BUS_pullout_LHS",d:.8}]],["CAMERA",[{n:"camcrch_cmon",d:2.33},{n:"camcrch_idleloop",d:2},{n:"camcrch_stay",d:2},{n:"camcrch_to_camstnd",d:1.33},{n:"camstnd_cmon",d:3},{n:"camstnd_idleloop",d:2},{n:"camstnd_lkabt",d:4.33},{n:"camstnd_to_camcrch",d:1},{n:"piccrch_in",d:1.33},{n:"piccrch_out",d:2},{n:"piccrch_take",d:1},{n:"picstnd_in",d:1},{n:"picstnd_out",d:.67},{n:"picstnd_take",d:1}]],["CAR",[{n:"Fixn_Car_Loop",d:5},{n:"Fixn_Car_Out",d:2.33},{n:"flag_drop",d:4.5},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33},{n:"Tyd2car_bump",d:.83},{n:"Tyd2car_high",d:8},{n:"Tyd2car_low",d:6.67},{n:"Tyd2car_med",d:6.67},{n:"Tyd2car_TurnL",d:1},{n:"Tyd2car_TurnR",d:1}]],["CARRY",[{n:"crry_prtial",d:.03},{n:"liftup",d:1.53},{n:"liftup05",d:.63},{n:"liftup105",d:.67},{n:"putdwn",d:1.13},{n:"putdwn05",d:.67},{n:"putdwn105",d:.53}]],["CAR_CHAT",[{n:"carfone_in",d:6},{n:"carfone_loopA",d:4},{n:"carfone_loopA_to_B",d:1},{n:"carfone_loopB",d:5},{n:"carfone_loopB_to_A",d:.67},{n:"carfone_out",d:3},{n:"CAR_Sc1_BL",d:11.67},{n:"CAR_Sc1_BR",d:11.67},{n:"CAR_Sc1_FL",d:11.67},{n:"CAR_Sc1_FR",d:11.67},{n:"CAR_Sc2_FL",d:5},{n:"CAR_Sc3_BR",d:10.83},{n:"CAR_Sc3_FL",d:10.83},{n:"CAR_Sc3_FR",d:10.83},{n:"CAR_Sc4_BL",d:4.4},{n:"CAR_Sc4_BR",d:6.53},{n:"CAR_Sc4_FL",d:10},{n:"CAR_Sc4_FR",d:10},{n:"car_talkm_in",d:1.67},{n:"car_talkm_loop",d:4.33},{n:"car_talkm_out",d:7.33}]],["CASINO",[{n:"cards_in",d:.67},{n:"cards_loop",d:3.33},{n:"cards_lose",d:3.33},{n:"cards_out",d:.67},{n:"cards_pick_01",d:4.67},{n:"cards_pick_02",d:5.33},{n:"cards_raise",d:1.67},{n:"cards_win",d:3},{n:"dealone",d:.8},{n:"manwinb",d:1.5},{n:"manwind",d:1.67},{n:"Roulette_bet",d:2.33},{n:"Roulette_in",d:.67},{n:"Roulette_loop",d:3.67},{n:"Roulette_lose",d:2.67},{n:"Roulette_out",d:.67},{n:"Roulette_win",d:2.33},{n:"Slot_bet_01",d:4.67},{n:"Slot_bet_02",d:2},{n:"Slot_in",d:3.67},{n:"Slot_lose_out",d:4},{n:"Slot_Plyr",d:1.33},{n:"Slot_wait",d:3.67},{n:"Slot_win_out",d:9.33},{n:"wof",d:1.47}]],["CHAINSAW",[{n:"CSAW_1",d:1},{n:"CSAW_2",d:1.03},{n:"CSAW_3",d:.87},{n:"CSAW_G",d:1.17},{n:"CSAW_Hit_1",d:.83},{n:"CSAW_Hit_2",d:1.07},{n:"CSAW_Hit_3",d:1.13},{n:"csaw_part",d:.13},{n:"IDLE_csaw",d:1.5},{n:"WEAPON_csaw",d:1.33},{n:"WEAPON_csawlo",d:1.9}]],["CHOPPA",[{n:"CHOPPA_back",d:.1},{n:"CHOPPA_bunnyhop",d:.33},{n:"CHOPPA_drivebyFT",d:.2},{n:"CHOPPA_driveby_LHS",d:.2},{n:"CHOPPA_driveby_RHS",d:.2},{n:"CHOPPA_fwd",d:.2},{n:"CHOPPA_getoffBACK",d:1.27},{n:"CHOPPA_getoffLHS",d:.73},{n:"CHOPPA_getoffRHS",d:.63},{n:"CHOPPA_jumponL",d:.7},{n:"CHOPPA_jumponR",d:.8},{n:"CHOPPA_Left",d:.13},{n:"CHOPPA_pedal",d:.73},{n:"CHOPPA_Pushes",d:.8},{n:"CHOPPA_ride",d:.03},{n:"CHOPPA_Right",d:.13},{n:"CHOPPA_sprint",d:.67},{n:"CHOPPA_Still",d:.03}]],["CLOTHES",[{n:"CLO_Buy",d:2.07},{n:"CLO_In",d:4},{n:"CLO_Out",d:2.67},{n:"CLO_Pose_Hat",d:3.33},{n:"CLO_Pose_In",d:3.13},{n:"CLO_Pose_In_O",d:4},{n:"CLO_Pose_Legs",d:3.33},{n:"CLO_Pose_Loop",d:6},{n:"CLO_Pose_Out",d:4},{n:"CLO_Pose_Out_O",d:4},{n:"CLO_Pose_Shoes",d:3.33},{n:"CLO_Pose_Torso",d:3.33},{n:"CLO_Pose_Watch",d:3.33}]],["COACH",[{n:"COACH_inL",d:2.17},{n:"COACH_inR",d:2.2},{n:"COACH_opnL",d:1.2},{n:"COACH_opnR",d:1.2},{n:"COACH_outL",d:1.73},{n:"COACH_outR",d:1.83}]],["COLT45",[{n:"2guns_crouchfire",d:.8},{n:"colt45_crouchfire",d:.8},{n:"colt45_crouchreload",d:1},{n:"colt45_fire",d:.73},{n:"colt45_fire_2hands",d:.87},{n:"colt45_reload",d:.93},{n:"sawnoff_reload",d:.93}]],["COP_AMBIENT",[{n:"Copbrowse_in",d:5},{n:"Copbrowse_loop",d:2.33},{n:"Copbrowse_nod",d:4},{n:"Copbrowse_out",d:2.67},{n:"Copbrowse_shake",d:1.83},{n:"Coplook_in",d:1.33},{n:"Coplook_loop",d:2.67},{n:"Coplook_nod",d:5.33},{n:"Coplook_out",d:.67},{n:"Coplook_shake",d:4},{n:"Coplook_think",d:3.33},{n:"Coplook_watch",d:2}]],["COP_DVBYZ",[{n:"COP_Dvby_B",d:.83},{n:"COP_Dvby_FT",d:.83},{n:"COP_Dvby_L",d:.83},{n:"COP_Dvby_R",d:.83}]],["CRACK",[{n:"Bbalbat_Idle_01",d:6.67},{n:"Bbalbat_Idle_02",d:10},{n:"crckdeth1",d:2.17},{n:"crckdeth2",d:3},{n:"crckdeth3",d:2.17},{n:"crckdeth4",d:1.67},{n:"crckidle1",d:3.5},{n:"crckidle2",d:3.33},{n:"crckidle3",d:3.33},{n:"crckidle4",d:2.67}]],["CRIB",[{n:"CRIB_Console_Loop",d:3},{n:"CRIB_Use_Switch",d:1.17},{n:"PED_Console_Loop",d:3},{n:"PED_Console_Loose",d:3.5},{n:"PED_Console_Win",d:3.5}]],["DAM_JUMP",[{n:"DAM_Dive_Loop",d:1.33},{n:"DAM_Land",d:2.6},{n:"DAM_Launch",d:2.4},{n:"Jump_Roll",d:3.17},{n:"SF_JumpWall",d:3}]],["DANCING",[{n:"bd_clap",d:3.2},{n:"bd_clap1",d:2.63},{n:"dance_loop",d:1.17},{n:"DAN_Down_A",d:1},{n:"DAN_Left_A",d:1},{n:"DAN_Loop_A",d:2},{n:"DAN_Right_A",d:1},{n:"DAN_Up_A",d:1},{n:"dnce_M_a",d:2.13},{n:"dnce_M_b",d:1.93},{n:"dnce_M_c",d:1.93},{n:"dnce_M_d",d:2.43},{n:"dnce_M_e",d:.9}]],["DEALER",[{n:"DEALER_DEAL",d:3.17},{n:"DEALER_IDLE",d:6.67},{n:"DEALER_IDLE_01",d:5},{n:"DEALER_IDLE_02",d:4},{n:"DEALER_IDLE_03",d:4.67},{n:"DRUGS_BUY",d:3.17},{n:"shop_pay",d:4.67}]],["DILDO",[{n:"DILDO_1",d:.97},{n:"DILDO_2",d:1.1},{n:"DILDO_3",d:1.17},{n:"DILDO_block",d:.47},{n:"DILDO_G",d:1.47},{n:"DILDO_Hit_1",d:.77},{n:"DILDO_Hit_2",d:1.03},{n:"DILDO_Hit_3",d:.9},{n:"DILDO_IDLE",d:.87}]],["DODGE",[{n:"Cover_Dive_01",d:6},{n:"Cover_Dive_02",d:6},{n:"Crushed",d:.93},{n:"Crush_Jump",d:3.17}]],["DOZER",[{n:"DOZER_Align_LHS",d:.97},{n:"DOZER_Align_RHS",d:.93},{n:"DOZER_getin_LHS",d:.43},{n:"DOZER_getin_RHS",d:.43},{n:"DOZER_getout_LHS",d:1.07},{n:"DOZER_getout_RHS",d:.77},{n:"DOZER_Jacked_LHS",d:1.27},{n:"DOZER_Jacked_RHS",d:1.07},{n:"DOZER_pullout_LHS",d:.73},{n:"DOZER_pullout_RHS",d:.7}]],["DRIVEBYS",[{n:"Gang_DrivebyLHS",d:.83},{n:"Gang_DrivebyLHS_Bwd",d:.83},{n:"Gang_DrivebyLHS_Fwd",d:.83},{n:"Gang_DrivebyRHS",d:.83},{n:"Gang_DrivebyRHS_Bwd",d:.83},{n:"Gang_DrivebyRHS_Fwd",d:.83},{n:"Gang_DrivebyTop_LHS",d:.83},{n:"Gang_DrivebyTop_RHS",d:.83}]],["FAT",[{n:"FatIdle",d:1.5},{n:"FatIdle_armed",d:1.53},{n:"FatIdle_Csaw",d:1.5},{n:"FatIdle_Rocket",d:1.6},{n:"FatRun",d:.77},{n:"FatRun_armed",d:.77},{n:"FatRun_Csaw",d:.77},{n:"FatRun_Rocket",d:.77},{n:"FatSprint",d:.6},{n:"FatWalk",d:1.17},{n:"FatWalkstart",d:.2},{n:"FatWalkstart_Csaw",d:.2},{n:"FatWalkSt_armed",d:.2},{n:"FatWalkSt_Rocket",d:.2},{n:"FatWalk_armed",d:1.17},{n:"FatWalk_Csaw",d:1.17},{n:"FatWalk_Rocket",d:1.17},{n:"IDLE_tired",d:1.07}]],["FIGHT_B",[{n:"FightB_1",d:.73},{n:"FightB_2",d:1.1},{n:"FightB_3",d:1.2},{n:"FightB_block",d:.47},{n:"FightB_G",d:1.07},{n:"FightB_IDLE",d:.8},{n:"FightB_M",d:.5},{n:"HitB_1",d:.73},{n:"HitB_2",d:.83},{n:"HitB_3",d:1.43}]],["FIGHT_C",[{n:"FightC_1",d:.83},{n:"FightC_2",d:1.03},{n:"FightC_3",d:1},{n:"FightC_block",d:.47},{n:"FightC_blocking",d:3.2},{n:"FightC_G",d:.77},{n:"FightC_IDLE",d:1},{n:"FightC_M",d:.9},{n:"FightC_Spar",d:3.2},{n:"HitC_1",d:.3},{n:"HitC_2",d:.67},{n:"HitC_3",d:.83}]],["FIGHT_D",[{n:"FightD_1",d:.93},{n:"FightD_2",d:1.87},{n:"FightD_3",d:.9},{n:"FightD_block",d:.47},{n:"FightD_G",d:.83},{n:"FightD_IDLE",d:1.53},{n:"FightD_M",d:1.07},{n:"HitD_1",d:.67},{n:"HitD_2",d:1.83},{n:"HitD_3",d:.97}]],["FIGHT_E",[{n:"FightKick",d:.77},{n:"FightKick_B",d:1.03},{n:"Hit_fightkick",d:.5},{n:"Hit_fightkick_B",d:1.13}]],["FINALE",[{n:"FIN_Climb_In",d:2.9},{n:"FIN_Cop1_ClimbOut2",d:6},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Stomp",d:1},{n:"FIN_Hang_L",d:.57},{n:"FIN_Hang_Loop",d:4},{n:"FIN_Hang_R",d:.57},{n:"FIN_Hang_Slip",d:3.33},{n:"FIN_Jump_On",d:5.6},{n:"FIN_Land_Car",d:.67},{n:"FIN_Land_Die",d:2.37},{n:"FIN_LegsUp",d:1},{n:"FIN_LegsUp_L",d:.5},{n:"FIN_LegsUp_Loop",d:1.33},{n:"FIN_LegsUp_R",d:.5},{n:"FIN_Let_Go",d:.17}]],["FINALE2",[{n:"FIN_Cop1_ClimbOut",d:4},{n:"FIN_Cop1_Fall",d:.43},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Shot",d:2.07},{n:"FIN_Cop1_Swing",d:1.17},{n:"FIN_Cop2_ClimbOut",d:5.33},{n:"FIN_Switch_P",d:3.97},{n:"FIN_Switch_S",d:2.17}]],["FLAME",[{n:"FLAME_fire",d:.8}]],["Flowers",[{n:"Flower_attack",d:.8},{n:"Flower_attack_M",d:1.23},{n:"Flower_Hit",d:.83}]],["FOOD",[{n:"EAT_Burger",d:5},{n:"EAT_Chicken",d:5},{n:"EAT_Pizza",d:5},{n:"EAT_Vomit_P",d:8},{n:"EAT_Vomit_SK",d:8},{n:"FF_Dam_Bkw",d:.67},{n:"FF_Dam_Fwd",d:.67},{n:"FF_Dam_Left",d:.67},{n:"FF_Dam_Right",d:.67},{n:"FF_Die_Bkw",d:.67},{n:"FF_Die_Fwd",d:.67},{n:"FF_Die_Left",d:.67},{n:"FF_Die_Right",d:.67},{n:"FF_Sit_Eat1",d:2.83},{n:"FF_Sit_Eat2",d:2.67},{n:"FF_Sit_Eat3",d:2.67},{n:"FF_Sit_In",d:3},{n:"FF_Sit_In_L",d:2},{n:"FF_Sit_In_R",d:2},{n:"FF_Sit_Look",d:8},{n:"FF_Sit_Loop",d:2.67},{n:"FF_Sit_Out_180",d:2.83},{n:"FF_Sit_Out_L_180",d:1.33},{n:"FF_Sit_Out_R_180",d:1.33},{n:"SHP_Thank",d:1.17},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Lift",d:1.67},{n:"SHP_Tray_Lift_In",d:.5},{n:"SHP_Tray_Lift_Loop",d:8},{n:"SHP_Tray_Lift_Out",d:.5},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:.67},{n:"SHP_Tray_Return",d:1.33}]],["Freeweights",[{n:"gym_barbell",d:2.37},{n:"gym_free_A",d:1.93},{n:"gym_free_B",d:2.33},{n:"gym_free_celebrate",d:3.33},{n:"gym_free_down",d:.57},{n:"gym_free_loop",d:.67},{n:"gym_free_pickup",d:3.17},{n:"gym_free_putdown",d:3.17},{n:"gym_free_up_smooth",d:1}]],["GANGS",[{n:"DEALER_DEAL",d:1.17},{n:"DEALER_IDLE",d:2},{n:"drnkbr_prtl",d:2.67},{n:"drnkbr_prtl_F",d:2.67},{n:"DRUGS_BUY",d:1.17},{n:"hndshkaa",d:4},{n:"hndshkba",d:2.33},{n:"hndshkca",d:3.33},{n:"hndshkcb",d:3.33},{n:"hndshkda",d:2},{n:"hndshkea",d:1},{n:"hndshkfa",d:4.17},{n:"hndshkfa_swt",d:4.17},{n:"Invite_No",d:3.33},{n:"Invite_Yes",d:4.33},{n:"leanIDLE",d:1},{n:"leanIN",d:1},{n:"leanOUT",d:1},{n:"prtial_gngtlkA",d:4},{n:"prtial_gngtlkB",d:6.17},{n:"prtial_gngtlkC",d:7.33},{n:"prtial_gngtlkD",d:3},{n:"prtial_gngtlkE",d:2.83},{n:"prtial_gngtlkF",d:5.17},{n:"prtial_gngtlkG",d:7},{n:"prtial_gngtlkH",d:6},{n:"prtial_hndshk_01",d:1.67},{n:"prtial_hndshk_biz_01",d:2.33},{n:"shake_cara",d:1.67},{n:"shake_carK",d:1.27},{n:"shake_carSH",d:1.5},{n:"smkcig_prtl",d:7.5},{n:"smkcig_prtl_F",d:7.5}]],["GFUNK",[{n:"Dance_B1",d:1.27},{n:"Dance_B2",d:1.27},{n:"Dance_B3",d:1.27},{n:"Dance_B4",d:1.27},{n:"Dance_B5",d:1.27},{n:"Dance_B6",d:1.27},{n:"Dance_B7",d:1.27},{n:"Dance_B8",d:1.27},{n:"Dance_B9",d:1.27},{n:"Dance_B10",d:1.27},{n:"Dance_B11",d:1.27},{n:"Dance_B12",d:1.27},{n:"Dance_B13",d:1.27},{n:"Dance_B14",d:1.27},{n:"Dance_B15",d:1.27},{n:"Dance_B16",d:1.27},{n:"Dance_G1",d:1.27},{n:"Dance_G2",d:1.27},{n:"Dance_G3",d:1.27},{n:"Dance_G4",d:1.27},{n:"Dance_G5",d:1.27},{n:"Dance_G6",d:1.27},{n:"Dance_G7",d:1.27},{n:"Dance_G8",d:1.27},{n:"Dance_G9",d:1.27},{n:"Dance_G10",d:1.27},{n:"Dance_G11",d:1.27},{n:"Dance_G12",d:1.27},{n:"Dance_G13",d:1.27},{n:"Dance_G14",d:1.27},{n:"Dance_G15",d:1.27},{n:"Dance_G16",d:1.27},{n:"dance_loop",d:1.17}]],["GHANDS",[{n:"gsign1",d:4.77},{n:"gsign1LH",d:2.73},{n:"gsign2",d:2.13},{n:"gsign2LH",d:2.33},{n:"gsign3",d:4.67},{n:"gsign3LH",d:2},{n:"gsign4",d:4.17},{n:"gsign4LH",d:4.67},{n:"gsign5",d:6.2},{n:"gsign5LH",d:2},{n:"LHGsign1",d:2},{n:"LHGsign2",d:2},{n:"LHGsign3",d:2},{n:"LHGsign4",d:2},{n:"LHGsign5",d:2},{n:"RHGsign1",d:2},{n:"RHGsign2",d:2},{n:"RHGsign3",d:2},{n:"RHGsign4",d:2},{n:"RHGsign5",d:2}]],["GHETTO_DB",[{n:"GDB_Car2_PLY",d:9.5},{n:"GDB_Car2_SMO",d:9.5},{n:"GDB_Car2_SWE",d:9.5},{n:"GDB_Car_PLY",d:13.33},{n:"GDB_Car_RYD",d:13.33},{n:"GDB_Car_SMO",d:13.33},{n:"GDB_Car_SWE",d:13.33}]],["goggles",[{n:"goggles_put_on",d:.8}]],["GRAFFITI",[{n:"graffiti_Chkout",d:4.67},{n:"spraycan_fire",d:2.33}]],["GRAVEYARD",[{n:"mrnF_loop",d:4.67},{n:"mrnM_loop",d:2.67},{n:"prst_loopa",d:4}]],["GRENADE",[{n:"WEAPON_start_throw",d:.2},{n:"WEAPON_throw",d:.87},{n:"WEAPON_throwu",d:.67}]],["GYMNASIUM",[{n:"GYMshadowbox",d:5.1},{n:"gym_bike_celebrate",d:1.93},{n:"gym_bike_fast",d:.4},{n:"gym_bike_faster",d:.4},{n:"gym_bike_getoff",d:1.67},{n:"gym_bike_geton",d:1.67},{n:"gym_bike_pedal",d:.4},{n:"gym_bike_slow",d:.43},{n:"gym_bike_still",d:1.67},{n:"gym_jog_falloff",d:2.17},{n:"gym_shadowbox",d:5.1},{n:"gym_tread_celebrate",d:2.5},{n:"gym_tread_falloff",d:2},{n:"gym_tread_getoff",d:3.33},{n:"gym_tread_geton",d:2.5},{n:"gym_tread_jog",d:.77},{n:"gym_tread_sprint",d:.67},{n:"gym_tread_tired",d:1.33},{n:"gym_tread_walk",d:1.07},{n:"gym_walk_falloff",d:3.33},{n:"Pedals_fast",d:.4},{n:"Pedals_med",d:.4},{n:"Pedals_slow",d:.43},{n:"Pedals_still",d:.43}]],["HAIRCUTS",[{n:"BRB_Beard_01",d:4.5},{n:"BRB_Buy",d:4.17},{n:"BRB_Cut",d:1.7},{n:"BRB_Cut_In",d:.83},{n:"BRB_Cut_Out",d:1.33},{n:"BRB_Hair_01",d:3.83},{n:"BRB_Hair_02",d:4.5},{n:"BRB_In",d:1.33},{n:"BRB_Loop",d:2.67},{n:"BRB_Out",d:.67},{n:"BRB_Sit_In",d:2.07},{n:"BRB_Sit_Loop",d:7},{n:"BRB_Sit_Out",d:3}]],["HEIST9",[{n:"CAS_G2_GasKO",d:3.33},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43},{n:"Use_SwipeCard",d:1.17}]],["INT_HOUSE",[{n:"BED_In_L",d:3.33},{n:"BED_In_R",d:3.33},{n:"BED_Loop_L",d:3.33},{n:"BED_Loop_R",d:3.33},{n:"BED_Out_L",d:3.33},{n:"BED_Out_R",d:3.33},{n:"LOU_In",d:1.83},{n:"LOU_Loop",d:3.33},{n:"LOU_Out",d:2},{n:"wash_up",d:3}]],["INT_OFFICE",[{n:"FF_Dam_Fwd",d:.67},{n:"OFF_Sit_2Idle_180",d:2.83},{n:"OFF_Sit_Bored_Loop",d:2.83},{n:"OFF_Sit_Crash",d:3.33},{n:"OFF_Sit_Drink",d:4.17},{n:"OFF_Sit_Idle_Loop",d:2.07},{n:"OFF_Sit_In",d:2.77},{n:"OFF_Sit_Read",d:3.33},{n:"OFF_Sit_Type_Loop",d:3.33},{n:"OFF_Sit_Watch",d:2}]],["INT_SHOP",[{n:"shop_cashier",d:6.67},{n:"shop_in",d:1},{n:"shop_lookA",d:2},{n:"shop_lookB",d:3},{n:"shop_loop",d:2},{n:"shop_out",d:1.33},{n:"shop_pay",d:6.67},{n:"shop_shelf",d:2.33}]],["JST_BUISNESS",[{n:"girl_01",d:3.33},{n:"girl_02",d:11.33},{n:"player_01",d:24.83},{n:"smoke_01",d:25}]],["KART",[{n:"KART_getin_LHS",d:.83},{n:"KART_getin_RHS",d:.83},{n:"KART_getout_LHS",d:.83},{n:"KART_getout_RHS",d:.83}]],["KISSING",[{n:"BD_GF_Wave",d:5.07},{n:"gfwave2",d:2.67},{n:"GF_CarArgue_01",d:5},{n:"GF_CarArgue_02",d:5},{n:"GF_CarSpot",d:5},{n:"GF_StreetArgue_01",d:5},{n:"GF_StreetArgue_02",d:5},{n:"gift_get",d:5.33},{n:"gift_give",d:5.33},{n:"Grlfrd_Kiss_01",d:4.17},{n:"Grlfrd_Kiss_02",d:5.77},{n:"Grlfrd_Kiss_03",d:7},{n:"Playa_Kiss_01",d:5},{n:"Playa_Kiss_02",d:5.77},{n:"Playa_Kiss_03",d:7}]],["KNIFE",[{n:"KILL_Knife_Ped_Damage",d:2.23},{n:"KILL_Knife_Ped_Die",d:1.93},{n:"KILL_Knife_Player",d:2.67},{n:"KILL_Partial",d:.03},{n:"knife_1",d:1},{n:"knife_2",d:.93},{n:"knife_3",d:.87},{n:"Knife_4",d:.9},{n:"knife_block",d:.47},{n:"Knife_G",d:.9},{n:"knife_hit_1",d:.57},{n:"knife_hit_2",d:.63},{n:"knife_hit_3",d:1.6},{n:"knife_IDLE",d:1.3},{n:"knife_part",d:.53},{n:"WEAPON_knifeidle",d:1.3}]],["LAPDAN1",[{n:"LAPDAN_D",d:37.73},{n:"LAPDAN_P",d:37.73}]],["LAPDAN2",[{n:"LAPDAN_D",d:46.83},{n:"LAPDAN_P",d:46.83}]],["LAPDAN3",[{n:"LAPDAN_D",d:51.47},{n:"LAPDAN_P",d:51.47}]],["LOWRIDER",[{n:"F_smklean_loop",d:4},{n:"lrgirl_bdbnce",d:2.67},{n:"lrgirl_hair",d:2.33},{n:"lrgirl_hurry",d:2.83},{n:"lrgirl_idleloop",d:2.17},{n:"lrgirl_idle_to_l0",d:2.17},{n:"lrgirl_l0_bnce",d:.67},{n:"lrgirl_l0_loop",d:2},{n:"lrgirl_l0_to_l1",d:3.67},{n:"lrgirl_l12_to_l0",d:2},{n:"lrgirl_l1_bnce",d:.67},{n:"lrgirl_l1_loop",d:2},{n:"lrgirl_l1_to_l2",d:1.33},{n:"lrgirl_l2_bnce",d:.67},{n:"lrgirl_l2_loop",d:1.5},{n:"lrgirl_l2_to_l3",d:1.5},{n:"lrgirl_l345_to_l1",d:1},{n:"lrgirl_l3_bnce",d:.67},{n:"lrgirl_l3_loop",d:2},{n:"lrgirl_l3_to_l4",d:.67},{n:"lrgirl_l4_bnce",d:.67},{n:"lrgirl_l4_loop",d:2.33},{n:"lrgirl_l4_to_l5",d:1},{n:"lrgirl_l5_bnce",d:.83},{n:"lrgirl_l5_loop",d:1.67},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"prtial_gngtlkB",d:1.47},{n:"prtial_gngtlkC",d:1.5},{n:"prtial_gngtlkD",d:2.47},{n:"prtial_gngtlkE",d:3},{n:"prtial_gngtlkF",d:2.67},{n:"prtial_gngtlkG",d:2.67},{n:"prtial_gngtlkH",d:3.33},{n:"RAP_A_Loop",d:2.67},{n:"RAP_B_Loop",d:2.67},{n:"RAP_C_Loop",d:3},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33}]],["MD_CHASE",[{n:"Carhit_Hangon",d:1.53},{n:"Carhit_Tumble",d:2.03},{n:"donutdrop",d:1.5},{n:"Fen_Choppa_L1",d:1.43},{n:"Fen_Choppa_L2",d:1.3},{n:"Fen_Choppa_L3",d:1.3},{n:"Fen_Choppa_R1",d:1.3},{n:"Fen_Choppa_R2",d:1.3},{n:"Fen_Choppa_R3",d:1.3},{n:"Hangon_Stun_loop",d:4.67},{n:"Hangon_Stun_Turn",d:4},{n:"MD_BIKE_2_HANG",d:1.37},{n:"MD_BIKE_Jmp_BL",d:1.1},{n:"MD_BIKE_Jmp_F",d:1},{n:"MD_BIKE_Lnd_BL",d:.9},{n:"MD_BIKE_Lnd_Die_BL",d:1.53},{n:"MD_BIKE_Lnd_Die_F",d:.8},{n:"MD_BIKE_Lnd_F",d:1.17},{n:"MD_BIKE_Lnd_Roll",d:2.7},{n:"MD_BIKE_Lnd_Roll_F",d:1.03},{n:"MD_BIKE_Punch",d:1.83},{n:"MD_BIKE_Punch_F",d:1.83},{n:"MD_BIKE_Shot_F",d:1.33},{n:"MD_HANG_Lnd_Roll",d:2.7},{n:"MD_HANG_Loop",d:1}]],["MD_END",[{n:"END_SC1_PLY",d:5},{n:"END_SC1_RYD",d:5},{n:"END_SC1_SMO",d:5},{n:"END_SC1_SWE",d:5},{n:"END_SC2_PLY",d:9},{n:"END_SC2_RYD",d:9},{n:"END_SC2_SMO",d:9},{n:"END_SC2_SWE",d:9}]],["MEDIC",[{n:"CPR",d:8.33}]],["MISC",[{n:"bitchslap",d:1.17},{n:"BMX_celebrate",d:1.57},{n:"BMX_comeon",d:.77},{n:"bmx_idleloop_01",d:3.33},{n:"bmx_idleloop_02",d:6.67},{n:"bmx_talkleft_in",d:.67},{n:"bmx_talkleft_loop",d:6.67},{n:"bmx_talkleft_out",d:.67},{n:"bmx_talkright_in",d:.67},{n:"bmx_talkright_loop",d:7.33},{n:"bmx_talkright_out",d:.67},{n:"bng_wndw",d:7.33},{n:"bng_wndw_02",d:7.33},{n:"Case_pickup",d:1},{n:"door_jet",d:5.33},{n:"GRAB_L",d:.4},{n:"GRAB_R",d:.4},{n:"Hiker_Pose",d:.33},{n:"Hiker_Pose_L",d:.33},{n:"Idle_Chat_02",d:7.23},{n:"KAT_Throw_K",d:3.33},{n:"KAT_Throw_O",d:3.33},{n:"KAT_Throw_P",d:3.33},{n:"PASS_Rifle_O",d:1.33},{n:"PASS_Rifle_Ped",d:1.33},{n:"PASS_Rifle_Ply",d:1.33},{n:"pickup_box",d:.4},{n:"Plane_door",d:5.33},{n:"Plane_exit",d:5.33},{n:"Plane_hijack",d:5.33},{n:"Plunger_01",d:3.33},{n:"Plyrlean_loop",d:2.67},{n:"plyr_shkhead",d:1.67},{n:"Run_Dive",d:8.27},{n:"Scratchballs_01",d:8.33},{n:"SEAT_LR",d:3.67},{n:"Seat_talk_01",d:3.67},{n:"Seat_talk_02",d:3.33},{n:"SEAT_watch",d:2.33},{n:"smalplane_door",d:6.33},{n:"smlplane_door",d:5.33},{n:"MTB_back",d:.1},{n:"MTB_bunnyhop",d:.33},{n:"MTB_drivebyFT",d:.2},{n:"MTB_driveby_LHS",d:.2},{n:"MTB_driveby_RHS",d:.2},{n:"MTB_fwd",d:.2},{n:"MTB_getoffBACK",d:1.53},{n:"MTB_getoffLHS",d:.73},{n:"MTB_getoffRHS",d:.73},{n:"MTB_jumponL",d:.8},{n:"MTB_jumponR",d:.83},{n:"MTB_Left",d:.13},{n:"MTB_pedal",d:.67},{n:"MTB_pushes",d:.8},{n:"MTB_Ride",d:.03},{n:"MTB_Right",d:.13},{n:"MTB_sprint",d:.8},{n:"MTB_still",d:.03},{n:"MscleWalkst_armed",d:.2},{n:"MscleWalkst_Csaw",d:.2},{n:"Mscle_rckt_run",d:.8},{n:"Mscle_rckt_walkst",d:.2},{n:"Mscle_run_Csaw",d:.8},{n:"MuscleIdle",d:1.5},{n:"MuscleIdle_armed",d:1.5},{n:"MuscleIdle_Csaw",d:1.5},{n:"MuscleIdle_rocket",d:1.5},{n:"MuscleRun",d:.8},{n:"MuscleRun_armed",d:.8},{n:"MuscleSprint",d:.57},{n:"MuscleWalk",d:1.07},{n:"MuscleWalkstart",d:.27},{n:"MuscleWalk_armed",d:1.07},{n:"Musclewalk_Csaw",d:1.07},{n:"Musclewalk_rocket",d:1.07}]],["NEVADA",[{n:"NEVADA_getin",d:1.87},{n:"NEVADA_getout",d:.93}]],["ON_LOOKERS",[{n:"lkaround_in",d:.33},{n:"lkaround_loop",d:7},{n:"lkaround_out",d:.33},{n:"lkup_in",d:1.67},{n:"lkup_loop",d:5.33},{n:"lkup_out",d:1},{n:"lkup_point",d:3.33},{n:"panic_cower",d:6.67},{n:"panic_hide",d:6.33},{n:"panic_in",d:.83},{n:"panic_loop",d:1.67},{n:"panic_out",d:.67},{n:"panic_point",d:6},{n:"panic_shout",d:8.67},{n:"Pointup_in",d:1},{n:"Pointup_loop",d:2.67},{n:"Pointup_out",d:1},{n:"Pointup_shout",d:3},{n:"point_in",d:.5},{n:"point_loop",d:3},{n:"point_out",d:.33},{n:"shout_01",d:2.67},{n:"shout_02",d:4},{n:"shout_in",d:1.67},{n:"shout_loop",d:2},{n:"shout_out",d:.33},{n:"wave_in",d:.83},{n:"wave_loop",d:1.5},{n:"wave_out",d:.83}]],["OTB",[{n:"betslp_in",d:1.33},{n:"betslp_lkabt",d:2.67},{n:"betslp_loop",d:2.67},{n:"betslp_out",d:1},{n:"betslp_tnk",d:5.6},{n:"wtchrace_cmon",d:5},{n:"wtchrace_in",d:1.67},{n:"wtchrace_loop",d:2.67},{n:"wtchrace_lose",d:4},{n:"wtchrace_out",d:1},{n:"wtchrace_win",d:4.33}]],["PARACHUTE",[{n:"FALL_skyDive",d:1.33},{n:"FALL_SkyDive_Accel",d:1.33},{n:"FALL_skyDive_DIE",d:1},{n:"FALL_SkyDive_L",d:1.33},{n:"FALL_SkyDive_R",d:1.33},{n:"PARA_decel",d:2},{n:"PARA_decel_O",d:2},{n:"PARA_float",d:2},{n:"PARA_float_O",d:2},{n:"PARA_Land",d:1.67},{n:"PARA_Land_O",d:2.17},{n:"PARA_Land_Water",d:2.33},{n:"PARA_Land_Water_O",d:2.17},{n:"PARA_open",d:2.83},{n:"PARA_open_O",d:2.33},{n:"PARA_Rip_Land_O",d:.9},{n:"PARA_Rip_Loop_O",d:1},{n:"PARA_Rip_O",d:.23},{n:"PARA_steerL",d:2},{n:"PARA_steerL_O",d:2},{n:"PARA_steerR",d:2},{n:"PARA_steerR_O",d:2}]],["PARK",[{n:"Tai_Chi_in",d:2.17},{n:"Tai_Chi_Loop",d:12},{n:"Tai_Chi_Out",d:.83}]],["PAULNMAC",[{n:"Piss_in",d:9},{n:"Piss_loop",d:6.67},{n:"Piss_out",d:11},{n:"PnM_Argue1_A",d:4.33},{n:"PnM_Argue1_B",d:4.33},{n:"PnM_Argue2_A",d:4.33},{n:"PnM_Argue2_B",d:4.33},{n:"PnM_Loop_A",d:5.33},{n:"PnM_Loop_B",d:5.33},{n:"wank_in",d:7.33},{n:"wank_loop",d:2.67},{n:"wank_out",d:11.67}]],["ped",[{n:"abseil",d:.03},{n:"ARRESTgun",d:.67},{n:"ATM",d:12.17},{n:"BIKE_elbowL",d:.97},{n:"BIKE_elbowR",d:.97},{n:"BIKE_fallR",d:1.63},{n:"BIKE_fall_off",d:1.07},{n:"BIKE_pickupL",d:1.07},{n:"BIKE_pickupR",d:1.07},{n:"BIKE_pullupL",d:1},{n:"BIKE_pullupR",d:1},{n:"bomber",d:.6},{n:"CAR_alignHI_LHS",d:.73},{n:"CAR_alignHI_RHS",d:.73},{n:"CAR_align_LHS",d:.13},{n:"CAR_align_RHS",d:.13},{n:"CAR_closedoorL_LHS",d:.6},{n:"CAR_closedoorL_RHS",d:.4},{n:"CAR_closedoor_LHS",d:.6},{n:"CAR_closedoor_RHS",d:.4},{n:"CAR_close_LHS",d:.73},{n:"CAR_close_RHS",d:.73},{n:"CAR_crawloutRHS",d:2.17},{n:"CAR_dead_LHS",d:.03},{n:"CAR_dead_RHS",d:.03},{n:"CAR_doorlocked_LHS",d:1.33},{n:"CAR_doorlocked_RHS",d:1.27},{n:"CAR_fallout_LHS",d:.57},{n:"CAR_fallout_RHS",d:.57},{n:"CAR_getinL_LHS",d:1},{n:"CAR_getinL_RHS",d:1},{n:"CAR_getin_LHS",d:1},{n:"CAR_getin_RHS",d:1},{n:"CAR_getoutL_LHS",d:.93},{n:"CAR_getoutL_RHS",d:1},{n:"CAR_getout_LHS",d:1.13},{n:"CAR_getout_RHS",d:.8},{n:"car_hookertalk",d:4.3},{n:"CAR_jackedLHS",d:2.9},{n:"CAR_jackedRHS",d:3.43},{n:"CAR_jumpin_LHS",d:1},{n:"CAR_LB",d:.23},{n:"CAR_LB_pro",d:.1},{n:"CAR_LB_weak",d:.23},{n:"CAR_LjackedLHS",d:3.57},{n:"CAR_LjackedRHS",d:3.47},{n:"CAR_Lshuffle_RHS",d:.4},{n:"CAR_Lsit",d:.03},{n:"CAR_open_LHS",d:1.1},{n:"CAR_open_RHS",d:1.1},{n:"CAR_pulloutL_LHS",d:2.93},{n:"CAR_pulloutL_RHS",d:2.93},{n:"CAR_pullout_LHS",d:2.3},{n:"CAR_pullout_RHS",d:2.8},{n:"CAR_Qjacked",d:3.3},{n:"CAR_rolldoor",d:.6},{n:"CAR_rolldoorLO",d:.6},{n:"CAR_rollout_LHS",d:1.63},{n:"CAR_rollout_RHS",d:1.27},{n:"CAR_shuffle_RHS",d:.4},{n:"CAR_sit",d:.03},{n:"CAR_sitp",d:.03},{n:"CAR_sitpLO",d:.03},{n:"CAR_sit_pro",d:.03},{n:"CAR_sit_weak",d:.03},{n:"CAR_tune_radio",d:.63},{n:"CLIMB_idle",d:.8},{n:"CLIMB_jump",d:.57},{n:"CLIMB_jump2fall",d:.03},{n:"CLIMB_jump_B",d:.97},{n:"CLIMB_Pull",d:.87},{n:"CLIMB_Stand",d:.8},{n:"CLIMB_Stand_finish",d:.2},{n:"cower",d:.8},{n:"Crouch_Roll_L",d:.93},{n:"Crouch_Roll_R",d:.93},{n:"DAM_armL_frmBK",d:.83},{n:"DAM_armL_frmFT",d:.83},{n:"DAM_armL_frmLT",d:.67},{n:"DAM_armR_frmBK",d:.83},{n:"DAM_armR_frmFT",d:.5},{n:"DAM_armR_frmRT",d:.27},{n:"DAM_LegL_frmBK",d:.83},{n:"DAM_LegL_frmFT",d:.83},{n:"DAM_LegL_frmLT",d:.83},{n:"DAM_LegR_frmBK",d:.83},{n:"DAM_LegR_frmFT",d:.83},{n:"DAM_LegR_frmRT",d:.83},{n:"DAM_stomach_frmBK",d:.83},{n:"DAM_stomach_frmFT",d:.83},{n:"DAM_stomach_frmLT",d:.83},{n:"DAM_stomach_frmRT",d:.83},{n:"DOOR_LHinge_O",d:1.07},{n:"DOOR_RHinge_O",d:1.07},{n:"DrivebyL_L",d:.2},{n:"DrivebyL_R",d:.2},{n:"Driveby_L",d:.2},{n:"Driveby_R",d:.2},{n:"DRIVE_BOAT",d:.03},{n:"DRIVE_BOAT_back",d:.1},{n:"DRIVE_BOAT_L",d:.1},{n:"DRIVE_BOAT_R",d:.1},{n:"Drive_L",d:.13},{n:"Drive_LO_l",d:.13},{n:"Drive_LO_R",d:.13},{n:"Drive_L_pro",d:.13},{n:"Drive_L_pro_slow",d:.13},{n:"Drive_L_slow",d:.13},{n:"Drive_L_weak",d:.13},{n:"Drive_L_weak_slow",d:.13},{n:"Drive_R",d:.13},{n:"Drive_R_pro",d:.13},{n:"Drive_R_pro_slow",d:.13},{n:"Drive_R_slow",d:.13},{n:"Drive_R_weak",d:.13},{n:"Drive_R_weak_slow",d:.13},{n:"Drive_truck",d:.03},{n:"DRIVE_truck_back",d:.1},{n:"DRIVE_truck_L",d:.13},{n:"DRIVE_truck_R",d:.13},{n:"Drown",d:2.5},{n:"DUCK_cower",d:.8},{n:"endchat_01",d:2},{n:"endchat_02",d:2},{n:"endchat_03",d:2.33},{n:"EV_dive",d:2.33},{n:"EV_step",d:1.07},{n:"facanger",d:.13},{n:"facgum",d:1.03},{n:"facsurp",d:.13},{n:"facsurpm",d:.13},{n:"factalk",d:2.33},{n:"facurios",d:.13},{n:"FALL_back",d:.73},{n:"FALL_collapse",d:1},{n:"FALL_fall",d:.73},{n:"FALL_front",d:.73},{n:"FALL_glide",d:.8},{n:"FALL_land",d:.47},{n:"FALL_skyDive",d:1.33},{n:"Fight2Idle",d:.33},{n:"FightA_1",d:.43},{n:"FightA_2",d:.77},{n:"FightA_3",d:.87},{n:"FightA_block",d:.47},{n:"FightA_G",d:.93},{n:"FightA_M",d:.4},{n:"FIGHTIDLE",d:1.3},{n:"FightShB",d:.47},{n:"FightShF",d:.53},{n:"FightSh_BWD",d:.67},{n:"FightSh_FWD",d:.67},{n:"FightSh_Left",d:.67},{n:"FightSh_Right",d:.67},{n:"flee_lkaround_01",d:2},{n:"FLOOR_hit",d:.37},{n:"FLOOR_hit_f",d:.4},{n:"fucku",d:1.33},{n:"gang_gunstand",d:.03},{n:"gas_cwr",d:1},{n:"getup",d:1.37},{n:"getup_front",d:1.37},{n:"gum_eat",d:5.33},{n:"GunCrouchBwd",d:1},{n:"GunCrouchFwd",d:.73},{n:"GunMove_BWD",d:1.03},{n:"GunMove_FWD",d:1},{n:"GunMove_L",d:1},{n:"GunMove_R",d:1},{n:"Gun_2_IDLE",d:.27},{n:"GUN_BUTT",d:.43},{n:"GUN_BUTT_crouch",d:.43},{n:"Gun_stand",d:.03},{n:"handscower",d:1.93},{n:"handsup",d:.6},{n:"HitA_1",d:.3},{n:"HitA_2",d:.53},{n:"HitA_3",d:.57},{n:"HIT_back",d:.5},{n:"HIT_behind",d:.67},{n:"HIT_front",d:.6},{n:"HIT_GUN_BUTT",d:.5},{n:"HIT_L",d:.7},{n:"HIT_R",d:.6},{n:"HIT_walk",d:.33},{n:"HIT_wall",d:.7},{n:"Idlestance_fat",d:1.67},{n:"idlestance_old",d:2},{n:"IDLE_armed",d:1.47},{n:"IDLE_chat",d:6.67},{n:"IDLE_csaw",d:1.53},{n:"Idle_Gang1",d:1.67},{n:"IDLE_HBHB",d:2.67},{n:"IDLE_ROCKET",d:1.57},{n:"IDLE_stance",d:1.5},{n:"IDLE_taxi",d:.87},{n:"IDLE_tired",d:1},{n:"Jetpack_Idle",d:.03},{n:"JOG_femaleA",d:.77},{n:"JOG_maleA",d:.77},{n:"JUMP_glide",d:.5},{n:"JUMP_land",d:.23},{n:"JUMP_launch",d:.2},{n:"JUMP_launch_R",d:.2},{n:"KART_drive",d:.03},{n:"KART_L",d:.13},{n:"KART_LB",d:.03},{n:"KART_R",d:.13},{n:"KD_left",d:.9},{n:"KD_right",d:.9},{n:"KO_shot_face",d:2.1},{n:"KO_shot_front",d:.57},{n:"KO_shot_stom",d:3.17},{n:"KO_skid_back",d:.97},{n:"KO_skid_front",d:1.13},{n:"KO_spin_L",d:.87},{n:"KO_spin_R",d:.93},{n:"pass_Smoke_in_car",d:1.73},{n:"phone_in",d:2.33},{n:"phone_out",d:2},{n:"phone_talk",d:2},{n:"Player_Sneak",d:1.33},{n:"Player_Sneak_walkstart",d:.3},{n:"roadcross",d:2},{n:"roadcross_female",d:4},{n:"roadcross_gang",d:2},{n:"roadcross_old",d:4},{n:"run_1armed",d:.77},{n:"run_armed",d:.7},{n:"run_civi",d:.73},{n:"run_csaw",d:.7},{n:"run_fat",d:.8},{n:"run_fatold",d:.8},{n:"run_gang1",d:.83},{n:"run_left",d:.67},{n:"run_old",d:.8},{n:"run_player",d:.73},{n:"run_right",d:.67},{n:"run_rocket",d:.77},{n:"Run_stop",d:.87},{n:"Run_stopR",d:.8},{n:"Run_Wuzi",d:.77},{n:"SEAT_down",d:1.5},{n:"SEAT_idle",d:2},{n:"SEAT_up",d:1.17},{n:"SHOT_leftP",d:.3},{n:"SHOT_partial",d:.37},{n:"SHOT_partial_B",d:.33},{n:"SHOT_rightP",d:.33},{n:"Shove_Partial",d:.53},{n:"Smoke_in_car",d:1.73},{n:"sprint_civi",d:.53},{n:"sprint_panic",d:.6},{n:"Sprint_Wuzi",d:.67},{n:"swat_run",d:.67},{n:"Swim_Tread",d:1.3},{n:"Tap_hand",d:.03},{n:"Tap_handP",d:.03},{n:"turn_180",d:.63},{n:"Turn_L",d:.8},{n:"Turn_R",d:.8},{n:"WALK_armed",d:1.07},{n:"WALK_civi",d:1.13},{n:"WALK_csaw",d:1.07},{n:"Walk_DoorPartial",d:.8},{n:"WALK_drunk",d:3.93},{n:"WALK_fat",d:1.33},{n:"WALK_fatold",d:1.17},{n:"WALK_gang1",d:1.4},{n:"WALK_gang2",d:1.4},{n:"WALK_old",d:1.4},{n:"WALK_player",d:1.2},{n:"WALK_rocket",d:1.07},{n:"WALK_shuffle",d:1.2},{n:"WALK_start",d:.27},{n:"WALK_start_armed",d:.2},{n:"WALK_start_csaw",d:.2},{n:"WALK_start_rocket",d:.2},{n:"Walk_Wuzi",d:1.17},{n:"WEAPON_crouch",d:.8},{n:"woman_idlestance",d:5.33},{n:"woman_run",d:.77},{n:"WOMAN_runbusy",d:.67},{n:"WOMAN_runfatold",d:1.2},{n:"woman_runpanic",d:.6},{n:"WOMAN_runsexy",d:.7},{n:"WOMAN_walkbusy",d:1},{n:"WOMAN_walkfatold",d:1.2},{n:"WOMAN_walknorm",d:1.13},{n:"WOMAN_walkold",d:1.2},{n:"WOMAN_walkpro",d:1.33},{n:"WOMAN_walksexy",d:1.17},{n:"WOMAN_walkshop",d:.97},{n:"XPRESSscratch",d:3.97}]],["PLAYER_DVBYS",[{n:"Plyr_DrivebyBwd",d:.83},{n:"Plyr_DrivebyFwd",d:.83},{n:"Plyr_DrivebyLHS",d:.83},{n:"Plyr_DrivebyRHS",d:.83}]],["PLAYIDLES",[{n:"shift",d:3.6},{n:"shldr",d:2.17},{n:"stretch",d:4.6},{n:"strleg",d:3.67},{n:"time",d:5.2}]],["POLICE",[{n:"CopTraf_Away",d:1.47},{n:"CopTraf_Come",d:2.87},{n:"CopTraf_Left",d:2},{n:"CopTraf_Stop",d:2},{n:"COP_getoutcar_LHS",d:.83},{n:"Cop_move_FWD",d:1},{n:"crm_drgbst_01",d:18.57},{n:"Door_Kick",d:1.33},{n:"plc_drgbst_01",d:20.6},{n:"plc_drgbst_02",d:7.57}]],["POOL",[{n:"POOL_ChalkCue",d:4.83},{n:"POOL_Idle_Stance",d:2},{n:"POOL_Long_Shot",d:1.67},{n:"POOL_Long_Shot_O",d:1.67},{n:"POOL_Long_Start",d:.67},{n:"POOL_Long_Start_O",d:.67},{n:"POOL_Med_Shot",d:1.67},{n:"POOL_Med_Shot_O",d:1.67},{n:"POOL_Med_Start",d:.67},{n:"POOL_Med_Start_O",d:.67},{n:"POOL_Place_White",d:2.5},{n:"POOL_Short_Shot",d:1.67},{n:"POOL_Short_Shot_O",d:1.67},{n:"POOL_Short_Start",d:.67},{n:"POOL_Short_Start_O",d:.67},{n:"POOL_Walk",d:1.27},{n:"POOL_Walk_Start",d:.2},{n:"POOL_XLong_Shot",d:1.67},{n:"POOL_XLong_Shot_O",d:1.67},{n:"POOL_XLong_Start",d:.67},{n:"POOL_XLong_Start_O",d:.67}]],["POOR",[{n:"WINWASH_Start",d:.43},{n:"WINWASH_Wash2Beg",d:2.13}]],["PYTHON",[{n:"python_crouchfire",d:1.2},{n:"python_crouchreload",d:1},{n:"python_fire",d:1.17},{n:"python_fire_poor",d:1.47},{n:"python_reload",d:.93}]],["QUAD",[{n:"QUAD_back",d:.1},{n:"QUAD_driveby_FT",d:.2},{n:"QUAD_driveby_LHS",d:.2},{n:"QUAD_driveby_RHS",d:.2},{n:"QUAD_FWD",d:.2},{n:"QUAD_getoff_B",d:1.63},{n:"QUAD_getoff_LHS",d:.67},{n:"QUAD_getoff_RHS",d:.7},{n:"QUAD_geton_LHS",d:.73},{n:"QUAD_geton_RHS",d:.73},{n:"QUAD_hit",d:.03},{n:"QUAD_kick",d:1.13},{n:"QUAD_Left",d:.13},{n:"QUAD_passenger",d:.03},{n:"QUAD_reverse",d:.17},{n:"QUAD_ride",d:.03},{n:"QUAD_Right",d:.13}]],["QUAD_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["RAPPING",[{n:"Laugh_01",d:5.33},{n:"RAP_A_IN",d:.83},{n:"RAP_A_Loop",d:2.67},{n:"RAP_A_OUT",d:.33},{n:"RAP_B_IN",d:1},{n:"RAP_B_Loop",d:2.67},{n:"RAP_B_OUT",d:.87},{n:"RAP_C_Loop",d:3}]],["RIFLE",[{n:"RIFLE_crouchfire",d:.87},{n:"RIFLE_crouchload",d:1.27},{n:"RIFLE_fire",d:.8},{n:"RIFLE_fire_poor",d:.8},{n:"RIFLE_load",d:1.4}]],["RIOT",[{n:"RIOT_ANGRY",d:5},{n:"RIOT_ANGRY_B",d:.63},{n:"RIOT_challenge",d:3.23},{n:"RIOT_CHANT",d:1.73},{n:"RIOT_FUKU",d:.67},{n:"RIOT_PUNCHES",d:.67},{n:"RIOT_shout",d:1}]],["ROB_BANK",[{n:"CAT_Safe_End",d:.5},{n:"CAT_Safe_Open",d:3.33},{n:"CAT_Safe_Open_O",d:3.33},{n:"CAT_Safe_Rob",d:1.83},{n:"SHP_HandsUp_Scr",d:.67}]],["ROCKET",[{n:"idle_rocket",d:1.6},{n:"RocketFire",d:.97},{n:"run_rocket",d:.77},{n:"walk_rocket",d:1.07},{n:"WALK_start_rocket",d:.2}]],["RUNNINGMAN",[{n:"Dance_B1",d:.53},{n:"Dance_B2",d:.57},{n:"Dance_B3",d:.53},{n:"Dance_B4",d:.57},{n:"Dance_B5",d:.53},{n:"Dance_B6",d:.57},{n:"Dance_B7",d:.53},{n:"Dance_B8",d:.57},{n:"Dance_B9",d:.53},{n:"Dance_B10",d:.57},{n:"Dance_B11",d:.53},{n:"Dance_B12",d:.57},{n:"Dance_B13",d:.53},{n:"Dance_B14",d:.57},{n:"Dance_B15",d:.53},{n:"Dance_B16",d:.57},{n:"Dance_G1",d:.53},{n:"Dance_G2",d:.57},{n:"Dance_G3",d:.53},{n:"Dance_G4",d:.57},{n:"Dance_G5",d:.53},{n:"Dance_G6",d:.57},{n:"Dance_G7",d:.53},{n:"Dance_G8",d:.57},{n:"Dance_G9",d:.53},{n:"Dance_G10",d:.57},{n:"Dance_G11",d:.53},{n:"Dance_G12",d:.57},{n:"Dance_G13",d:.53},{n:"Dance_G14",d:.57},{n:"Dance_G15",d:.53},{n:"Dance_G16",d:.57},{n:"dance_loop",d:1.17}]],["RUSTLER",[{n:"Plane_align_LHS",d:.73},{n:"Plane_close",d:.4},{n:"Plane_getin",d:.8},{n:"Plane_getout",d:1.57},{n:"Plane_open",d:.7}]],["RYDER",[{n:"RYD_Beckon_01",d:1.23},{n:"RYD_Beckon_02",d:1},{n:"RYD_Beckon_03",d:1.07},{n:"RYD_Die_PT1",d:4},{n:"RYD_Die_PT2",d:7.93},{n:"Van_Crate_L",d:.67},{n:"Van_Crate_R",d:.67},{n:"Van_Fall_L",d:.47},{n:"Van_Fall_R",d:.93},{n:"Van_Lean_L",d:.67},{n:"Van_Lean_R",d:.67},{n:"VAN_PickUp_E",d:1.83},{n:"VAN_PickUp_S",d:1.5},{n:"Van_Stand",d:.67},{n:"Van_Stand_Crate",d:.67},{n:"Van_Throw",d:1.37}]],["SAMP",[{n:"FishingIdle",d:1}]],["SCRATCHING",[{n:"scdldlp",d:.67},{n:"scdlulp",d:.67},{n:"scdrdlp",d:.67},{n:"scdrulp",d:.67},{n:"sclng_l",d:1},{n:"sclng_r",d:1},{n:"scmid_l",d:.47},{n:"scmid_r",d:.47},{n:"scshrtl",d:.2},{n:"scshrtr",d:.2},{n:"sc_ltor",d:.67},{n:"sc_rtol",d:.67}]],["SHAMAL",[{n:"SHAMAL_align",d:.2},{n:"SHAMAL_getin_LHS",d:1.4},{n:"SHAMAL_getout_LHS",d:1.37},{n:"SHAMAL_open",d:.6}]],["SHOP",[{n:"ROB_2Idle",d:1.17},{n:"ROB_Loop",d:2.67},{n:"ROB_Loop_Threat",d:2},{n:"ROB_Shifty",d:5.67},{n:"ROB_StickUp_In",d:.53},{n:"SHP_Duck",d:.67},{n:"SHP_Duck_Aim",d:.33},{n:"SHP_Duck_Fire",d:.83},{n:"SHP_Gun_Aim",d:.63},{n:"SHP_Gun_Duck",d:.5},{n:"SHP_Gun_Fire",d:.87},{n:"SHP_Gun_Grab",d:.87},{n:"SHP_Gun_Threat",d:.83},{n:"SHP_HandsUp_Scr",d:.67},{n:"SHP_Jump_Glide",d:.33},{n:"SHP_Jump_Land",d:.7},{n:"SHP_Jump_Launch",d:.57},{n:"SHP_Rob_GiveCash",d:3.83},{n:"SHP_Rob_HandsUp",d:2.67},{n:"SHP_Rob_React",d:2.67},{n:"SHP_Serve_End",d:5.5},{n:"SHP_Serve_Idle",d:5},{n:"SHP_Serve_Loop",d:4.17},{n:"SHP_Serve_Start",d:1.33},{n:"Smoke_RYD",d:6.67}]],["SHOTGUN",[{n:"shotgun_crouchfire",d:1.47},{n:"shotgun_fire",d:1.47},{n:"shotgun_fire_poor",d:1.5}]],["SILENCED",[{n:"CrouchReload",d:1},{n:"SilenceCrouchfire",d:.93},{n:"Silence_fire",d:.87},{n:"Silence_reload",d:.93}]],["SKATE",[{n:"skate_idle",d:1},{n:"skate_run",d:.83},{n:"skate_sprint",d:.67}]],["SMOKING",[{n:"F_smklean_loop",d:4},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"M_smk_drag",d:3.67},{n:"M_smk_in",d:6.67},{n:"M_smk_loop",d:3.33},{n:"M_smk_out",d:3},{n:"M_smk_tap",d:3}]],["SNIPER",[{n:"WEAPON_sniper",d:1.47}]],["SnM",[{n:"SnM_Caned_Idle_P",d:2},{n:"SnM_Caned_Idle_W",d:2},{n:"SnM_Caned_P",d:1.33},{n:"SnM_Caned_W",d:1.33},{n:"SnM_Cane_Idle_P",d:2},{n:"SnM_Cane_Idle_W",d:2},{n:"SnM_Cane_P",d:1.33},{n:"SnM_Cane_W",d:1.33},{n:"SpankedP",d:1.33},{n:"SpankedW",d:1.33},{n:"Spanked_IdleP",d:1.33},{n:"Spanked_IdleW",d:1.33},{n:"SpankingP",d:1.33},{n:"SpankingW",d:1.33},{n:"Spanking_endP",d:6.67},{n:"Spanking_endW",d:6.67},{n:"Spanking_IdleP",d:1.33},{n:"Spanking_IdleW",d:1.33},{n:"Spanking_SittingIdleP",d:1.33},{n:"Spanking_SittingIdleW",d:1.33},{n:"Spanking_SittingP",d:1},{n:"Spanking_SittingW",d:1}]],["SPRAYCAN",[{n:"spraycan_fire",d:2.33},{n:"spraycan_full",d:4.5}]],["STRIP",[{n:"PLY_CASH",d:1.67},{n:"PUN_CASH",d:3.33},{n:"PUN_HOLLER",d:5},{n:"PUN_LOOP",d:1.93},{n:"strip_A",d:2.07},{n:"strip_B",d:1},{n:"strip_C",d:.97},{n:"strip_D",d:1.9},{n:"strip_E",d:3.33},{n:"strip_F",d:1.03},{n:"strip_G",d:2.27},{n:"STR_A2B",d:4},{n:"STR_B2A",d:.5},{n:"STR_B2C",d:5},{n:"STR_C1",d:6},{n:"STR_C2",d:6},{n:"STR_C2B",d:1},{n:"STR_Loop_A",d:1},{n:"STR_Loop_B",d:2},{n:"STR_Loop_C",d:3}]],["SUNBATHE",[{n:"batherdown",d:3.93},{n:"batherup",d:12.3},{n:"Lay_Bac_in",d:2.33},{n:"Lay_Bac_out",d:3},{n:"ParkSit_M_IdleA",d:3.33},{n:"ParkSit_M_IdleB",d:2.67},{n:"ParkSit_M_IdleC",d:4.33},{n:"ParkSit_M_in",d:2.33},{n:"ParkSit_M_out",d:2},{n:"ParkSit_W_idleA",d:3.33},{n:"ParkSit_W_idleB",d:5},{n:"ParkSit_W_idleC",d:3},{n:"ParkSit_W_in",d:4},{n:"ParkSit_W_out",d:2.67},{n:"SBATHE_F_LieB2Sit",d:1.67},{n:"SBATHE_F_Out",d:2},{n:"SitnWait_in_W",d:4.67},{n:"SitnWait_out_W",d:2.67}]],["SWAT",[{n:"gnstwall_injurd",d:2},{n:"JMP_Wall1m_180",d:1.17},{n:"Rail_fall",d:3},{n:"Rail_fall_crawl",d:5.67},{n:"swt_breach_01",d:5.47},{n:"swt_breach_02",d:5.33},{n:"swt_breach_03",d:4.3},{n:"swt_go",d:1.67},{n:"swt_lkt",d:3},{n:"swt_sty",d:1.17},{n:"swt_vent_01",d:4.73},{n:"swt_vent_02",d:4.43},{n:"swt_vnt_sht_die",d:.67},{n:"swt_vnt_sht_in",d:1.6},{n:"swt_vnt_sht_loop",d:.27},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43}]],["SWEET",[{n:"ho_ass_slapped",d:2},{n:"LaFin_Player",d:26.67},{n:"LaFin_Sweet",d:26.67},{n:"plyr_hndshldr_01",d:4},{n:"sweet_ass_slap",d:2},{n:"sweet_hndshldr_01",d:4},{n:"Sweet_injuredloop",d:2}]],["SWIM",[{n:"Swim_Breast",d:1.3},{n:"SWIM_crawl",d:.9},{n:"Swim_Dive_Under",d:1.07},{n:"Swim_Glide",d:1.47},{n:"Swim_jumpout",d:.33},{n:"Swim_Tread",d:1.3},{n:"Swim_Under",d:1.5}]],["SWORD",[{n:"sword_1",d:.87},{n:"sword_2",d:1.07},{n:"sword_3",d:.8},{n:"sword_4",d:1.1},{n:"sword_block",d:.47},{n:"Sword_Hit_1",d:.83},{n:"Sword_Hit_2",d:1.03},{n:"Sword_Hit_3",d:.87},{n:"sword_IDLE",d:1},{n:"sword_part",d:.67}]],["TANK",[{n:"TANK_align_LHS",d:1.43},{n:"TANK_close_LHS",d:.33},{n:"TANK_doorlocked",d:.53},{n:"TANK_getin_LHS",d:.43},{n:"TANK_getout_LHS",d:1.97},{n:"TANK_open_LHS",d:.3}]],["TATTOOS",[{n:"TAT_ArmL_In_O",d:.83},{n:"TAT_ArmL_In_P",d:.83},{n:"TAT_ArmL_In_T",d:.83},{n:"TAT_ArmL_Out_O",d:.93},{n:"TAT_ArmL_Out_P",d:2.5},{n:"TAT_ArmL_Out_T",d:.93},{n:"TAT_ArmL_Pose_O",d:.83},{n:"TAT_ArmL_Pose_P",d:.83},{n:"TAT_ArmL_Pose_T",d:.83},{n:"TAT_ArmR_In_O",d:.83},{n:"TAT_ArmR_In_P",d:.83},{n:"TAT_ArmR_In_T",d:.83},{n:"TAT_ArmR_Out_O",d:1},{n:"TAT_ArmR_Out_P",d:2.5},{n:"TAT_ArmR_Out_T",d:1},{n:"TAT_ArmR_Pose_O",d:.83},{n:"TAT_ArmR_Pose_P",d:.83},{n:"TAT_ArmR_Pose_T",d:.83},{n:"TAT_Back_In_O",d:.83},{n:"TAT_Back_In_P",d:.83},{n:"TAT_Back_In_T",d:.83},{n:"TAT_Back_Out_O",d:.93},{n:"TAT_Back_Out_P",d:2.5},{n:"TAT_Back_Out_T",d:.93},{n:"TAT_Back_Pose_O",d:.83},{n:"TAT_Back_Pose_P",d:.83},{n:"TAT_Back_Pose_T",d:.83},{n:"TAT_Back_Sit_In_P",d:.83},{n:"TAT_Back_Sit_Loop_P",d:2.67},{n:"TAT_Back_Sit_Out_P",d:.83},{n:"TAT_Bel_In_O",d:.83},{n:"TAT_Bel_In_T",d:.83},{n:"TAT_Bel_Out_O",d:.97},{n:"TAT_Bel_Out_T",d:.97},{n:"TAT_Bel_Pose_O",d:.83},{n:"TAT_Bel_Pose_T",d:.83},{n:"TAT_Che_In_O",d:.83},{n:"TAT_Che_In_P",d:.83},{n:"TAT_Che_In_T",d:.83},{n:"TAT_Che_Out_O",d:.93},{n:"TAT_Che_Out_P",d:2.5},{n:"TAT_Che_Out_T",d:.93},{n:"TAT_Che_Pose_O",d:.83},{n:"TAT_Che_Pose_P",d:.83},{n:"TAT_Che_Pose_T",d:.83},{n:"TAT_Drop_O",d:.5},{n:"TAT_Idle_Loop_O",d:2.67},{n:"TAT_Idle_Loop_T",d:2.67},{n:"TAT_Sit_In_O",d:2.33},{n:"TAT_Sit_In_P",d:2.33},{n:"TAT_Sit_In_T",d:2.33},{n:"TAT_Sit_Loop_O",d:2.67},{n:"TAT_Sit_Loop_P",d:2.67},{n:"TAT_Sit_Loop_T",d:2.67},{n:"TAT_Sit_Out_O",d:2.83},{n:"TAT_Sit_Out_P",d:2.17},{n:"TAT_Sit_Out_T",d:2.83}]],["TEC",[{n:"TEC_crouchfire",d:.97},{n:"TEC_crouchreload",d:1.33},{n:"TEC_fire",d:1.1},{n:"TEC_reload",d:1.5}]],["TRAIN",[{n:"tran_gtup",d:3.17},{n:"tran_hng",d:2.33},{n:"tran_ouch",d:1.17},{n:"tran_stmb",d:2.33}]],["TRUCK",[{n:"TRUCK_ALIGN_LHS",d:.57},{n:"TRUCK_ALIGN_RHS",d:.57},{n:"TRUCK_closedoor_LHS",d:.4},{n:"TRUCK_closedoor_RHS",d:.4},{n:"TRUCK_close_LHS",d:.73},{n:"TRUCK_close_RHS",d:.73},{n:"TRUCK_getin_LHS",d:.6},{n:"TRUCK_getin_RHS",d:.6},{n:"TRUCK_getout_LHS",d:.8},{n:"TRUCK_getout_RHS",d:.8},{n:"TRUCK_jackedLHS",d:1.73},{n:"TRUCK_jackedRHS",d:1.5},{n:"TRUCK_open_LHS",d:.53},{n:"TRUCK_open_RHS",d:.53},{n:"TRUCK_pullout_LHS",d:.9},{n:"TRUCK_pullout_RHS",d:.9},{n:"TRUCK_Shuffle",d:.4}]],["UZI",[{n:"UZI_crouchfire",d:.63},{n:"UZI_crouchreload",d:1.37},{n:"UZI_fire",d:.57},{n:"UZI_fire_poor",d:.53},{n:"UZI_reload",d:1.4}]],["VAN",[{n:"VAN_close_back_LHS",d:.33},{n:"VAN_close_back_RHS",d:.33},{n:"VAN_getin_Back_LHS",d:.6},{n:"VAN_getin_Back_RHS",d:.6},{n:"VAN_getout_back_LHS",d:.63},{n:"VAN_getout_back_RHS",d:.63},{n:"VAN_open_back_LHS",d:.97},{n:"VAN_open_back_RHS",d:.97}]],["VENDING",[{n:"VEND_Drink2_P",d:3.33},{n:"VEND_Drink_P",d:1.33},{n:"vend_eat1_P",d:4.33},{n:"VEND_Eat_P",d:1.67},{n:"VEND_Use",d:2.6},{n:"VEND_Use_pt2",d:.4}]],["VORTEX",[{n:"CAR_jumpin_LHS",d:1},{n:"CAR_jumpin_RHS",d:.93},{n:"vortex_getout_LHS",d:1},{n:"vortex_getout_RHS",d:1}]],["WAYFARER",[{n:"WF_Back",d:.1},{n:"WF_drivebyFT",d:.2},{n:"WF_drivebyLHS",d:.2},{n:"WF_drivebyRHS",d:.2},{n:"WF_Fwd",d:.2},{n:"WF_getoffBACK",d:1.73},{n:"WF_getoffLHS",d:.9},{n:"WF_getoffRHS",d:.9},{n:"WF_hit",d:.03},{n:"WF_jumponL",d:.9},{n:"WF_jumponR",d:.9},{n:"WF_kick",d:1.03},{n:"WF_Left",d:.13},{n:"WF_passenger",d:.03},{n:"WF_pushes",d:.97},{n:"WF_Ride",d:.03},{n:"WF_Right",d:.13},{n:"WF_Still",d:.03}]],["WEAPONS",[{n:"SHP_1H_Lift",d:1},{n:"SHP_1H_Lift_End",d:.33},{n:"SHP_1H_Ret",d:.83},{n:"SHP_1H_Ret_S",d:.33},{n:"SHP_2H_Lift",d:.93},{n:"SHP_2H_Lift_End",d:.33},{n:"SHP_2H_Ret",d:.9},{n:"SHP_2H_Ret_S",d:.33},{n:"SHP_Ar_Lift",d:1},{n:"SHP_Ar_Lift_End",d:.33},{n:"SHP_Ar_Ret",d:1.17},{n:"SHP_Ar_Ret_S",d:.33},{n:"SHP_G_Lift_In",d:.67},{n:"SHP_G_Lift_Out",d:.67},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:2.67}]],["WOP",[{n:"Dance_B1",d:1.13},{n:"Dance_B2",d:1.17},{n:"Dance_B3",d:1.13},{n:"Dance_B4",d:1.17},{n:"Dance_B5",d:1.13},{n:"Dance_B6",d:1.17},{n:"Dance_B7",d:1.13},{n:"Dance_B8",d:1.17},{n:"Dance_B9",d:1.13},{n:"Dance_B10",d:1.17},{n:"Dance_B11",d:1.13},{n:"Dance_B12",d:1.17},{n:"Dance_B13",d:1.13},{n:"Dance_B14",d:1.17},{n:"Dance_B15",d:1.13},{n:"Dance_B16",d:1.17},{n:"Dance_G1",d:1.13},{n:"Dance_G2",d:1.17},{n:"Dance_G3",d:1.13},{n:"Dance_G4",d:1.17},{n:"Dance_G5",d:1.13},{n:"Dance_G6",d:1.17},{n:"Dance_G7",d:1.13},{n:"Dance_G8",d:1.17},{n:"Dance_G9",d:1.13},{n:"Dance_G10",d:1.17},{n:"Dance_G11",d:1.13},{n:"Dance_G12",d:1.17},{n:"Dance_G13",d:1.13},{n:"Dance_G14",d:1.17},{n:"Dance_G15",d:1.13},{n:"Dance_G16",d:1.17},{n:"dance_loop",d:1.17}]],["WUZI",[{n:"CS_Dead_Guy",d:5.07},{n:"CS_Plyr_pt1",d:3.77},{n:"CS_Plyr_pt2",d:9.67},{n:"CS_Wuzi_pt1",d:3.77},{n:"CS_Wuzi_pt2",d:9.67},{n:"Walkstart_Idle_01",d:3.17},{n:"Wuzi_follow",d:3},{n:"Wuzi_Greet_Plyr",d:4},{n:"Wuzi_Greet_Wuzi",d:4},{n:"Wuzi_grnd_chk",d:4},{n:"Wuzi_stand_loop",d:2.67},{n:"Wuzi_Walk",d:1.17}]]]),Al=e=>{const t=pl.get(e);return t===void 0?!1:t},et=(e,t)=>{const n=Al(e);if(n)return n.find(r=>r.n===t)?.d},[tt]=u({name:"OnClientCheckResponse",beforeEach(e,t,n,r){return{player:S.getInstance(e),actionId:t,memAddr:n,data:r}}});class S{constructor(t){this.id=t}static players=new Map;charset="ISO-8859-1";locale="en_US";lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;sendClientMessage(t,n){return Ye(this,t,n)}static sendClientMessageToAll(t,n,r){Yr(t,n,r)}sendPlayerMessage(t,n){return Je(t,this.id,n)}sendPlayerMessageToAll(t,n){return Jr(t,this.id,n)}isNpc(){return vi(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Pd(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return s.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));pd(this.id,t)}allowTeleport(t){c.AllowPlayerTeleport(this.id,t)}isTeleportAllowed(){return c.IsPlayerTeleportAllowed(this.id)}enableCameraTarget(t){zo(this.id,t)}enableStuntBonus(t){as(this.id,t)}getInterior(){return dd(this.id)}setInterior(t){return ad(this.id,t)}showPlayerNameTag(t,n){Vo(this.id,t.id,n)}setColor(t){Ad(this.id,t)}getColor(){return fd(this.id)}setPlayerMarker(t,n){vo(this.id,t.id,n)}resetMoney(){return Od(this.id)}getMoney(){return Bd(this.id)}giveMoney(t){return bd(this.id,t)}resetWeapons(){return Dd(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):$a(this.id)}setHealth(t){return od(this.id,t)}getHealth(){return sd(this.id)}toggleClock(t){return Hd(this.id,t)}toggleControllable(t){return Bo(this.id,t)}toggleSpectating(t){return os(this.id,t)}spectatePlayer(t,n=ae.NORMAL){return ss(this.id,t.id,n)}spectateVehicle(t,n=ae.NORMAL){return ls(this.id,t.id,n)}forceClassSelection(){vd(this.id)}kick(){Ui(this.id)}ban(){Wi(this.id)}banEx(t,n){ei(this.id,t,n)}isAdmin(){return Vi(this.id)}isInRangeOfPoint(t,n,r,i){return nd(this.id,t,n,r,i)}isStreamedIn(t){return id(this.id,t.id)}setSkin(t,n=!1){return!n&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===se.DUCK?0:Ed(this.id,t)}getSkin(){return Cd(this.id)}isInAnyVehicle(){return ns(this.id)}getSpecialAction(){return Mo(this.id)}setSpecialAction(t){return No(this.id,t)}setScore(t){return yd(this.id,t)}getScore(){return Id(this.id)}getPing(){return Gd(this.id)||0}setPos(t,n,r){return $e(this.id,t,n,r)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===Y.NONE)return;const[t,n,r]=qa(this.id);return{x:t,y:n,z:r}}isSpectating(){return this.getState()===Y.SPECTATING}isWasted(){return this.getState()===Y.WASTED}getState(){return wd(this.id)}getVersion(){return this.isNpc()?"":yl(this.id)}setVirtualWorld(t){return rs(this.id,t)}getVirtualWorld(){return is(this.id)}removeFromVehicle(){return Oo(this.id)}setWantedLevel(t){return t<0||t>6?(s.error("[Player]: player's wanted level ranges from 0 to 6"),0):Vd(this.id,t)}getWantedLevel(){return Ud(this.id)}setFacingAngle(t){return ed(this.id,t)}getFacingAngle(){return td(this.id)}setWeather(t){if(t<0||t>255){s.warn("[Player]: The valid weather value is only 0 to 255");return}xd(this.id,t)}getWeather(){return c.GetPlayerWeather(this.id)}setTime(t,n){if(t<0||t>23){s.warn("[Player]: The valid hour value is only 0 to 23");return}if(n<0||n>59){s.warn("[Player]: The valid minute value is only 0 to 59");return}return Md(this.id,t,n)}getTime(){const[t,n]=Nd(this.id);return{hour:t,minute:n}}removeBuilding(t,n,r,i,d){to(this.id,t,n,r,i,d)}setTeam(t){t<0||t>T.NO_TEAM||Sd(this.id,t)}getTeam(){return md(this.id)}setSkillLevel(t,n){if(n<0||n>999){s.warn("[Player]: The valid skill level is only 0 to 999");return}$d(this.id,t,n)}getName(){return Qr(this)}setName(t){return qr(this,t)}setVelocity(t,n,r){return jd(this.id,t,n,r)}getVelocity(){const[t,n,r]=Zd(this.id);return{x:t,y:n,z:r}}getKeys(){const[t,n,r]=Fd(this.id);return{keys:t,upDown:n,leftRight:r}}getIp(){return Sl(this.id)}getFightingStyle(){return Kd(this.id)}setFightingStyle(t){Wd(this.id,t)}setArmour(t){return ld(this.id,t)}getArmour(){return _d(this.id)}setCameraBehind(){return Ko(this.id)}setCameraPos(t,n,r){return Uo(this.id,t,n,r)}setCameraLookAt(t,n,r,i){return Wo(this.id,t,n,r,i)}getCameraAspectRatio(){return $o(this.id)}getCameraFrontVector(){const[t,n,r]=Zo(this.id);return{x:t,y:n,z:r}}getCameraMode(){return Xo(this.id)}getCameraPos(){const[t,n,r]=jo(this.id);return{x:t,y:n,z:r}}getCameraTargetPlayer(t){const n=Jo(this.id);return t.find(r=>r.id===n)}getCameraTargetVehicle(t){const n=Yo(this.id);return t.find(r=>r.id===n)}getCameraZoom(){return Qo(this.id)}playAudioStream(t,n=0,r=0,i=0,d=5){let o=!1;return(n!==0||r!==0||i!==0)&&(o=!0),zd(this.id,t,n,r,i,d,o)}stopAudioStream(){Yd(this.id)}playSound(t,n=0,r=0,i=0){return wo(this.id,t,n,r,i)}static getPoolSize(){return mi()}static getMaxPlayers(){return gi()}playCrimeReport(t,n){return n<3||n>22?(s.warn("[Player]: Available crime ids range from 3 to 22"),0):Xd(this.id,t.id,n)}interpolateCameraPos(t,n,r,i,d,o,l,_=ie.CUT){qo(this.id,t,n,r,i,d,o,l,_)}interpolateCameraLookAt(t,n,r,i,d,o,l,_=ie.CUT){es(this.id,t,n,r,i,d,o,l,_)}createExplosion(t,n,r,i,d){return i<0||i>13?(s.error("[Player]: The valid explosion type value is only 0 to 13"),0):gs(this.id,t,n,r,i,d)}static isConnected(t){return Qe(t)}isConnected(){return Qe(this.id)}disableRemoteVehicleCollisions(t){return Ho(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const n=Ro(this.id);return t.find(r=>r.id===n)}getVehicleSeat(){return bo(this.id)}getSurfingVehicle(t){const n=Qd(this.id);if(n!==T.VEHICLE_ID)return t.find(r=>r.id===n)}applyAnimation(t,n,r=!1,i=!0,d=!0,o=!1,l=!1){const _=et(t,n);if(_===void 0)return s.error("[Player]: Invalid anim library or name");Go(this.id,t,n,4.1,r,i,d,o,r?0:_,l)}clearAnimations(t=!1){ko(this.id,t)}getAnimationIndex(){return Fo(this.id)}getAnimationName(){const[t,n]=ml(this.getAnimationIndex());return{animLib:t,animName:n}}setShopName(t){Jd(this.id,t)}setPosFindZ(t,n,r=150){return new Promise(i=>{$e(this.id,t,n,r),setTimeout(()=>i(Qa(this.id,t,n,r)))})}setWorldBounds(t,n,r,i){xo(this.id,t,n,r,i)}setChatBubble(t,n,r,i){Do(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return rd(this.id,t,n,r)}getCustomSkin(){return ll(this.id)}getTargetPlayer(t){const n=gd(this.id);if(n!==T.PLAYER_ID)return t.find(r=>r.id===n)}getLastShotVectors(){const[t,n,r,i,d,o]=no(this.id);return{fOriginX:t,fOriginY:n,fOriginZ:r,fHitPosX:i,fHitPosY:d,fHitPosZ:o}}getWeapon(){return kd(this.id)}getWeaponData(t){if(t<0||t>12){s.error("[Player]: weapon slots range from 0 to 12");return}const[n,r]=Rd(this.id,t);return{weapons:n,ammo:r}}getWeaponState(){return ud(this.id)}giveWeapon(t,n){return Td(this.id,t,n)}setAmmo(t,n){return cd(this.id,t,n)}getAmmo(){return hd(this.id)}setArmedWeapon(t){return Ld(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(T.PLAYER_ID,T.PLAYER_ID,le.CONNECT)}sendDeathMessage(t,n){oi(t===T.PLAYER_ID?t:t.id,this.id,n)}sendDeathMessageToPlayer(t,n,r){si(this.id,t===T.PLAYER_ID?t:t.id,n===T.PLAYER_ID?n:n.id,r)}setSpawnInfo(t,n,r,i,d,o,l,_,g,m,y,P){t<0||t>T.NO_TEAM||n<0||n>311||n==74||_<0||m<0||P<0||Ja(this.id,t,n,r,i,d,o,l,_,g,m,y,P)}redirectDownload(t){return _l(this.id,t)}sendClientCheck(t,n,r,i){const d=[2,5,69,70,71,72];return d.includes(t)?new Promise((o,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const _="[Player]: An attempt to check the player client response timed out",g=this.getPing(),m=(g>=200?0:g)+200;let y=null;const P=tt(({player:f,actionId:D,memAddr:B,data:x,next:ne})=>{if(f!==this)return ne();y?(clearTimeout(y),y=null,l(_)):o({actionId:D,memAddr:B,data:x});const _t=ne();return P(),_t});y=setTimeout(()=>{P(),l(_)},m),Ss(this.id,t,n,r,i)}):s.error(`[Player]: sendClientCheck valid types are ${d.toString()}`)}selectTextDraw(t){hs(this.id,t)}cancelSelectTextDraw(){us(this.id)}beginObjectSelecting(){Xa(this.id)}endObjectEditing(){za(this.id)}getSurfingObject(t){const n=qd(this.id);if(n!==T.OBJECT_ID)return t.get(n)}getSurfingPlayerObject(t){const n=eo(this.id);if(n!==T.OBJECT_ID)return t.get(n)}isAttachedObjectSlotUsed(t){return ao(this.id,t)}setAttachedObject(t,n,r,i,d,o,l,_,g,m,y,P,f,D){return this.isAttachedObjectSlotUsed(t)?0:ro(this.id,t,n,r,i,d,o,l,_,g,m,y,P,f,D)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?io(this.id,t):0}toggleWidescreen(t){return c.TogglePlayerWidescreen(this.id,t)}isPlayerWidescreenToggled(){return c.IsPlayerWidescreenToggled(this.id)}getSpawnInfo(){return c.GetSpawnInfo(this.id)}getSkillLevel(t){return c.GetPlayerSkillLevel(this.id,t)}isCheckpointActive(){return c.IsPlayerCheckpointActive(this.id)}getCheckpoint(){return c.GetPlayerCheckpoint(this.id)}isRaceCheckpointActive(){return c.IsPlayerRaceCheckpointActive(this.id)}getRaceCheckpoint(){return c.GetPlayerRaceCheckpoint(this.id)}getWorldBounds(){c.GetPlayerWorldBounds(this.id)}isInModShop(){return c.IsPlayerInModShop(this.id)}getSirenState(){return c.GetPlayerSirenState(this.id)}getLandingGearState(){return c.GetPlayerLandingGearState(this.id)}getHydraReactorAngle(){return c.GetPlayerHydraReactorAngle(this.id)}getTrainSpeed(){return c.GetPlayerTrainSpeed(this.id)}getZAim(){return c.GetPlayerZAim(this.id)}getSurfingOffsets(){return c.GetPlayerSurfingOffsets(this.id)}getRotationQuat(){return c.GetPlayerRotationQuat(this.id)}getDialogID(){return c.GetPlayerDialogID(this.id)}getSpectateID(){return c.GetPlayerSpectateID(this.id)}getSpectateType(){return c.GetPlayerSpectateType(this.id)}getRawIp(){return c.GetPlayerRawIp(this.id)}setGravity(t){return c.SetPlayerGravity(this.id,t)}getGravity(){return c.GetPlayerGravity(this.id)}setAdmin(t){return c.SetPlayerAdmin(this.id,t)}isSpawned(){return c.IsPlayerSpawned(this.id)}isControllable(){return c.IsPlayerControllable(this.id)}isCameraTargetEnabled(){return c.IsPlayerCameraTargetEnabled(this.id)}toggleGhostMode(t){return c.TogglePlayerGhostMode(this.id,t)}getGhostMode(){return c.GetPlayerGhostMode(this.id)}getBuildingsRemoved(){return c.GetPlayerBuildingsRemoved(this.id)}getAttachedObject(t){return c.GetPlayerAttachedObject(this.id,t)}removeWeapon(t){return c.RemovePlayerWeapon(this.id,t)}isUsingOfficialClient(){return c.IsPlayerUsingOfficialClient(this.id)}allowWeapons(t){return c.AllowPlayerWeapons(this.id,t)}areWeaponsAllowed(){return c.ArePlayerWeaponsAllowed(this.id)}gpci(t=this.charset){return Za(this.id,t)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[nt]=u({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,n,r,i){return{player:S.getInstance(e),dialogId:t,response:n,listItem:r,buffer:i}}});nt(({next:e,player:t,dialogId:n,response:r,listItem:i,buffer:d})=>{const o=R.waitingQueue.get(t);return!o||o.showId!==n||setTimeout(()=>o.resolve({response:r,listItem:i,buffer:d})),e()});class R{id=-1;static showingIds=[];static max_dialogId=32767;dialog;static waitingQueue=new Map;constructor(t={style:oe.MSGBOX,caption:"",info:"",button1:"",button2:""}){this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,n=!1){const r=R.waitingQueue.get(t);if(!r)return!1;n&&r.reject("[Dialog]: player timeout does not respond or second request show dialog"),R.waitingQueue.delete(t);const i=R.showingIds.indexOf(r.showId);return i>-1&&R.showingIds.splice(i,1),!0}show(t){return new Promise((n,r)=>{for(R.close(t);(this.id===-1||R.showingIds.includes(this.id))&&R.showingIds.length!==R.max_dialogId;)this.id=Math.floor(Math.random()*(R.max_dialogId+1));if(this.id===-1){r("[Dialog]: The maximum number of dialogs is reached");return}R.showingIds.push(this.id),R.waitingQueue.set(t,{resolve:n,reject:r,showId:this.id}),$r(t,this.id,this.dialog)}).then(n=>{const{response:r,listItem:i}=n,d=A.decodeFromBuf(n.buffer,t.charset);return Promise.resolve({response:r,listItem:i,inputText:d})}).catch(n=>Promise.reject(n)).finally(()=>R.delDialogTask(t))}static close(t){R.delDialogTask(t,!0),Xn(t.id)}}const[rt]=u({name:"OnPlayerConnect",beforeEach(e){const t=new S(e);return S.players.set(e,t),{player:t}}}),[it]=u({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:S.players.get(e),reason:t}},afterEach({player:e}){S.players.delete(e.id)}}),[at]=u({name:"OnPlayerUpdate",beforeEach(e){return{player:S.getInstance(e)}}}),[fl]=u({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const n=S.getInstance(e);return{player:n,text:A.decodeFromBuf(t,n.charset),buffer:t}}}),[El]=u({name:"OnPlayerEnterExitModShop",beforeEach(e,t,n){return{player:S.getInstance(e),enterExit:Boolean(t),interior:n}}}),[Cl]=u({name:"OnPlayerClickMap",beforeEach(e,t,n,r){return{player:S.getInstance(e),fX:t,fY:n,fZ:r}}}),[Tl]=u({name:"OnPlayerClickPlayer",beforeEach(e,t,n){return{player:S.getInstance(e),clickedPlayer:S.getInstance(t),source:n}}}),[Dl]=u({name:"OnPlayerDeath",beforeEach(e,t,n){return{player:S.getInstance(e),killer:S.getInstance(t)||T.PLAYER_ID,reason:n}}}),[Ll]=u({name:"OnPlayerGiveDamage",beforeEach(e,t,n,r,i){return{player:S.getInstance(e),damage:S.getInstance(t),amount:n,weapon:r,bodyPart:i}}}),[Rl]=u({name:"OnPlayerKeyStateChange",beforeEach(e,t,n){return{player:S.getInstance(e),newKeys:t,oldKeys:n}}}),[bl]=u({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:S.getInstance(e),classId:t}}}),[Ol]=u({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:S.getInstance(e)}}}),[Bl]=u({name:"OnPlayerSpawn",beforeEach(e){return{player:S.getInstance(e)}}}),[wl]=u({name:"OnPlayerStateChange",beforeEach(e,t,n){return{player:S.getInstance(e),newState:t,oldState:n}}}),[Gl]=u({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:S.getInstance(e),forPlayer:S.getInstance(t)}}}),[kl]=u({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:S.getInstance(e),forPlayer:S.getInstance(t)}}}),[Fl]=u({name:"OnPlayerTakeDamage",beforeEach(e,t,n,r,i){return{player:S.getInstance(e),damage:S.getInstance(t)||T.PLAYER_ID,amount:n,weapon:r,bodyPart:i}}}),[Ml]=u({name:"OnPlayerInteriorChange",beforeEach(e,t,n){return{player:S.getInstance(e),newInteriorId:t,oldInteriorId:n}}}),[Nl]=u({name:"OnPlayerRequestDownload",beforeEach(e,t,n){return{player:S.getInstance(e),type:t,crc:n}}}),[Hl]=u({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:S.getInstance(e),virtualWorld:t}}});let te=null;const[xl,vl]=u({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Vl,Ul]=u({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,n,r){return{player:e,pausedAt:t,now:n,diff:r}}});rt(({next:e})=>(!te&&S.getPoolSize()>-1&&(te=setInterval(()=>{S.getInstances().filter(t=>{const n=t.getState()!==Y.NONE;return!t.isPaused&&!t.isNpc()&&n}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,vl(t,t.lastUpdateTick))})},500)),e())),it(({player:e,next:t})=>(te&&S.getPoolSize()<=0&&(clearInterval(te),te=null),R.close(e),t()));function Wl(e){if(!S.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const n=e.getDrunkLevel();if(n<100){e.setDrunkLevel(2e3),e.lastDrunkLevel=2e3,e.lastFps=0;return}e.lastUpdateFpsTick=t,e.lastFps=e.lastDrunkLevel-n-1,e.lastDrunkLevel=n}}at(({player:e,next:t})=>{if(!e.isNpc()){const n=Date.now();e.isPaused&&(e.isPaused=!1,Ul(e,e.lastUpdateTick,n,n-e.lastUpdateTick)),e.lastUpdateTick=n,Wl(e)}return t()});const $=new Map,dt=/[^/\s]+/gi,_e={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"}},[Kl,jl]=u({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Zl,Xl]=u({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[zl,ce]=u({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,n){return{player:e,command:t,error:n}}}),[Yl]=u({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:S.getInstance(e),buffer:t}}});function Jl(e){const t=[];let n="";for(let r=0;r<e.length;r++)n+=e[r]+" ",t.push(n.trimEnd());return t.reverse()}Yl(({player:e,buffer:t,next:n})=>{const r=A.decodeFromBuf(t,e.charset).match(dt),i=Jl(r).find(m=>$.get(m)),d=r.join(" ");if(!i)return ce(e,d,_e.NOT_EXIST);const o=jl(e,d);if(!o)return o;const l=$.get(i),[,_]=l,g=d.replace(i,"").trim().split(" ");return _(e,g)?Xl(e,d)?n():ce(e,d,_e.PERFORMED):ce(e,d,_e.REJECTED)});const ot={on(e,t){const n=Array.isArray(e)?e:[e],r=n.find(d=>!d.match(dt));if(r)return console.log(`error command ${r} format`),()=>{};const i=n.map(d=>{const o=d.replaceAll("/","");if(!$.has(o)){const _=u({name:o,isNative:!1,beforeEach(g,m){return{player:g,subcommand:m}}});$.set(o,_)}const[l]=$.get(o);return l(t)});return()=>{i.forEach(d=>d())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{$.has(t)&&Ce(t)})}},he=Object.freeze({onConnect:rt,onDisconnect:it,onPause:xl,onResume:Vl,onUpdate:at,onText:fl,onEnterExitModShop:El,onClickMap:Cl,onClickPlayer:Tl,onDeath:Dl,onGiveDamage:Ll,onKeyStateChange:Rl,onRequestClass:bl,onRequestSpawn:Ol,onSpawn:Bl,onStateChange:wl,onStreamIn:Gl,onStreamOut:kl,onTakeDamage:Fl,onInteriorChange:Ml,onRequestDownload:Nl,onFinishedDownloading:Hl,onCheckResponse:tt,onCommandReceived:Kl,onCommandPerformed:Zl,onCommandError:zl,onCommandText:ot.on,offCommandText:ot.off,onDialogResponse:nt}),$l=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Ql=[[13,18,19,20,21,24],[1,3,4,5,6,7,13,17,19,20,142,143,144,145],[],[],[0,2,7,13,16,17,19,20,21],[0,1,14,18,19,20,21,23],[],[],[],[],[1,3,7,13,17,19,20,21,23,24],[],[],[],[],[1,3,7,17,18,19,23],[],[],[2,6,16,20,21],[],[1,3,4,5,19,21],[0,14,16,18,19,20,21,23],[7,13,17,19,20,21],[],[],[],[1,3,4,5,6,19,21],[],[],[],null,[],[],[],[],[],[1,3,6,7,13,17,19,20,21,22],[],[],[1,3,7,13,17,23,142,143,144,145],[],[],[],[],[],[],null,[],null,null,[],[],null,null,null,[],[],[],[],[],[],null,null,null,[],[],[],[],null,[],[],[],null,null,[],[],[],[6,7,17,18,19,20,21],[4,5,12,13,20,21,22,24],[],[],null,[],[],null,[],[],[],[],[0,2,4,5,6,13,16,18,19,20,24],[],[3,7,14,17,18,19,20,21,23,142,143,144,145],[0,4,5,6,16],null,[],[],[1,2,3,6,7,11,17,19,20,23,142,143],[],[],[],[13,19,20,21,24],[],[],[],[],[],[],[],[],null,null,[],[],[],[],[],[0,2,4,7,15,16,17,18,19,20,21],[2,3,7,16,17,18,19,20,23,142,143,144,145],[1,3,5,6,7,13,17,18,20,23,142,143,144,145],[],[],null,null,null,[],[],[],[1,7,14,15,17,18,20,21],[],[1,3,6,7,11,12,17,18,19,20,23],[],[],[],[],[100,101,106,122,123,124,125,126,127,178,179,180,185],[109,110,113,114,115,116,117,118,119,120,121],[103,104,105,107,108,128,181,182,183,184],null,null,[],[1,4,6,7,17,18,19,20,23,24,142,143,144,145],[],[14,15,18,19,20,21,144,145],[],[],[],[1,2,4,6,7,17,18,19,23,24,142,143,144,145],[0,3,16,18,19,20,21,142,143],[],[1,3,7,11,12,17,18,19,20,23,142,143,144,145],[1,3,4,5,6,18,19,20,23,142,143,144,145],[2,3,5,6,16,18,19,20,21,23],[],[],[],[],[],[],[88,89,90,91,92,93,94,95,163,164,165,166,167,168],[65,66,67,68,69,70,71,72,158,159,160,161,162,173],[26,27,28,29,30,31,32,33,138,139,140,141,169,170],[55,56,57,58,59,60,61,62,63,64,154,155,156,157],[34,35,36,37,38,39,40,41,146,147,148,149,171,172],[],[],[45,46,47,48,49,50,51,52,53,54,150,151,152,153],[],[102,129,130,131,132,133,186,187,188,189],[],null,null,[],[],[],[],[42,43,44,99,174,175,176,177],[134,135,136,137,190,191,192,193],[],[],[],[1,6,7,17,18,20,23],null,[],[],[],[0,1,2,3,6,7,13,14,15,16,17,18,19,20,21,22,23,24,142,143,144,145],null,[],[],[0,4,5,6,7,13,16,17,18,20,24,144,145],null,[],[],[],[],null,[],[],[],[],[4,5,6,7,13,17,18,20,22],[],[],[1,6,7,17,18,19,20,23,24,142,143,144,145],[],[],[],[],[],[],[],[]],ql=(e,t)=>{if(!e_(e))return s.error("[vehicleUtils]: Invalid model id"),!1;const n=Ql[e-400];if(n===null)return!1;const r=t-1e3;return $l.includes(r)||n.includes(r)},e_=e=>e>=400&&e<=611,t_=(e,t)=>{if(t<0||t>2)return!1;const n=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return n===void 0?!1:t<=n};class E{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,n=!1){this.sourceInfo=t,this.isStatic=n}create(t=!1){if(this.id!==-1)return s.warn("[Vehicle]: Unable to create the vehicle again");if(E.createdCount===k.MAX_VEHICLES)return s.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:n,x:r,y:i,z:d,z_angle:o,color:l,respawn_delay:_,addSiren:g}=this.sourceInfo;if(!(!t&&(n<400||n>611))){if(this.isStatic){if(_===void 0){this._id=fi(n,r,i,d,o,l[0],l[1]);return}this._id=Ei(n,r,i,d,o,l[0],l[1],_||-1,g||!1)}else this._id=ms(n,r,i,d,o,l[0],l[1],_||-1,g||!1);E.createdCount++,E.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return s.warn("[Vehicle]: Unable to destroy the vehicle before create");ys(this.id),E.createdCount--,E.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:ql(this.getModel(),t)?Ms(this.id,t):(s.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(E.getComponentType(t))===0?(s.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):Ns(this.id,t)}getComponentInSlot(t){return zs(this.id,t)}static getComponentType(t){return Ys(t)}linkToInterior(t){return this.id===-1?0:Fs(this.id,t)}setVirtualWorld(t){return this.id===-1?0:rl(this.id,t)}getVirtualWorld(){return this.id===-1?0:il(this.id)}repair(){return this.id===-1?0:Js(this.id)}setPos(t,n,r){return this.id===-1?0:ps(this.id,t,n,r)}getPos(){if(this.id!==-1)return Ps(this.id)}getHealth(){return this.id===-1?0:Vs(this.id)}setHealth(t){return this.id===-1?0:vs(this.id,t)}isPlayerIn(t){return this.id===-1?!1:ts(t.id,this.id)}putPlayerIn(t,n){return this.id===-1||n<0?0:(n>4&&s.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),Lo(t.id,this.id,n))}getZAngle(){return this.id===-1?0:As(this.id)}setZAngle(t){return this.id===-1?0:Cs(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(s.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?Zs(this.id,t):(s.error("[Vehicle]: number plates only allow letters and numbers"),0)}static getPoolSize(){return yi()}changeColors(t,n){return this.id===-1?0:Hs(this.id,t,n)}setVelocity(t,n,r){return this.id===-1?0:Qs(this.id,t,n,r)}getVelocity(){if(this.id===-1)return;const[t,n,r]=$s(this.id);return{x:t,y:n,z:r}}setAngularVelocity(t,n,r){return this.id===-1?0:qs(this.id,t,n,r)}getDamageStatus(){if(this.id!==-1)return el(this.id)}updateDamageStatus(t,n,r,i){this.id!==-1&&tl(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Es(this.id,t,n,r)}getModel(){return Xs(this.id)}static getModelInfo(t,n){return nl(t,n)}getModelInfo(t){if(this.id!==-1)return E.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,n,r,i]=fs(this.id);return{w:t,x:n,y:r,z:i}}setRespawn(){return this.id===-1?0:ks(this.id)}isStreamedIn(t){return this.id===-1?!1:Is(this.id,t.id)}setParamsCarDoors(t,n,r,i){return this.id===-1?0:Os(this.id,t,n,r,i)}setParamsCarWindows(t,n,r,i){return this.id===-1?0:ws(this.id,t,n,r,i)}getParamsCarDoors(){if(this.id!==-1)return Bs(this.id)}getParamsCarWindows(){if(this.id!==-1)return Gs(this.id)}setParamsEx(t,n,r,i,d,o,l){return this.id===-1?0:Ls(this.id,t,n,r,i,d,o,l)}getParamsEx(){if(this.id===-1)return;const[t,n,r,i,d,o,l]=Rs(this.id);return{engine:t,lights:n,alarm:r,doors:i,bonnet:d,boot:o,objective:l}}getParamsSirenState(){return this.id===-1?-2:bs(this.id)}setParamsForPlayer(t,n,r){return this.id===-1?0:Ts(this.id,t.id,n,r)}isTrailerAttached(){return this.id===-1?!1:Ks(this.id)}changePaintjob(t){return this.id===-1||!t_(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),xs(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Us(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Ws(this.id)}getTrailer(t){if(this.id!==-1)return t.find(n=>n.id===js(this.id))}isValid(){return qe(this.id)}static isValid(t){return qe(t)}getMatrix(){if(this.id!==-1)return c.GetVehicleMatrix(this.id)}getTrainSpeed(){return this.id===-1?0:c.GetVehicleTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===-1?0:c.GetVehicleHydraReactorAngle(this.id)}getLandingGearState(){return this.id===-1?0:c.GetVehicleLandingGearState(this.id)}getSirenState(){return this.id===-1?0:c.GetVehicleSirenState(this.id)}static getModelsUsed=c.GetVehicleModelsUsed;getDriver(t){if(this.id!==-1)return t.get(c.GetVehicleDriver(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(c.GetVehicleLastDriver(this.id))}static getModelCount=c.GetVehicleModelCount;isSirenEnabled(){return c.IsVehicleSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===-1?0:c.ToggleVehicleSirenEnabled(this.id,t)}isDead(){return this.id===-1?!0:c.IsVehicleDead(this.id)}getRespawnTick(){return this.id===-1?0:c.GetVehicleRespawnTick(this.id)}isOccupied(){return this.id===-1?!1:c.IsVehicleOccupied(this.id)}hasBeenOccupied(){return this.id===-1?!1:c.HasVehicleBeenOccupied(this.id)}getOccupiedTick(){return this.id===-1?0:c.GetVehicleOccupiedTick(this.id)}getCab(){return this.id===-1?0:c.GetVehicleCab(this.id)}getRespawnDelay(){return this.id===-1?0:c.GetVehicleRespawnDelay(this.id)}setRespawnDelay(t){return this.id===-1?0:c.SetVehicleRespawnDelay(this.id,t)}getNumberPlate(){return this.id===-1?"":c.GetVehicleNumberPlate(this.id)}getInterior(){return this.id===-1?0:c.GetVehicleInterior(this.id)}getPaintjob(){return this.id===-1?-1:c.GetVehiclePaintjob(this.id)}getColors(){if(this.id!==-1)return c.GetVehicleColors(this.id)}setSpawnInfo(t,n,r,i,d,o,l,_=-2,g=-2,m=!1){return this.id===-1||!m&&(t<400||t>611)?0:c.SetVehicleSpawnInfo(this.id,t,n,r,i,d,p(o),p(l),_,g)}getSpawnInfo(){if(this.id!==-1)return c.GetVehicleSpawnInfo(this.id)}static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[st]=u({name:"OnGameModeInit"}),[lt]=u({name:"OnGameModeExit"}),[n_]=u({name:"OnIncomingConnection",beforeEach(e,t,n){return{playerId:e,ipAddress:t,port:n}}}),[r_]=u({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:A.decodeFromBuf(e)}}}),[i_]=u({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,n){return{ip:A.decodeFromBuf(e),password:A.decodeFromBuf(t),success:Boolean(n),ipBuffer:e,passwordBuffer:t}}}),K=[],Q=[],ue=e=>{setTimeout(async()=>{try{const t=K.findIndex(r=>r.name===e);if(t===-1)return;const n=K[t];await n.load(),K.splice(t,1),Q.push(n)}catch(t){s.error(`[GameMode]: script ${e} load fail`),s.warn(new Error(JSON.stringify(t)))}})},ge=e=>{setTimeout(async()=>{try{const t=Q.findIndex(r=>r.name===e);if(t===-1)return;const n=Q[t];await n.unload(),Q.splice(t,1),K.push(n)}catch(t){s.error(`[GameMode]: script ${e} unload fail`),s.warn(new Error(JSON.stringify(t)))}})},a_=e=>{ge(e),ue(e)};st(({next:e})=>(K.forEach(t=>ue(t.name)),e())),lt(({next:e})=>(Q.forEach(t=>ge(t.name)),e()));const d_=function(e,...t){if(K.some(n=>n===e)||Q.some(n=>n===e)){s.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),K.push(e)};var o_={use(e,...t){return d_(e,...t),this},loadUseScript:ue,reloadUseScript:a_,unloadUseScript:ge,supportAllNickname(){for(let e=0;e<=255;e++)this.isNickNameCharacterAllowed(e)||this.allowNickNameCharacter(e,!0)},setWeather(e){return e<0||e>255?(s.error("[GameMode]: The valid weather value is only 0 to 255"),0):Ri(e)},setWorldTime(e){return e<0||e>23?(s.error("[GameMode]: The valid hour value is only 0 to 23"),0):Di(e)},setTeamCount:Pi,sendRconCommand:Ki,addPlayerClass:pi,addPlayerClassEx:Ai,createExplosion(e,t,n,r,i){return r<0||r>13?(s.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Bi(e,t,n,r,i)},manualVehicleEngineAndLights:Ds,blockIpAddress:Xi,unBlockIpAddress:zi,getServerTickRate:Yi,addSimpleModel(e,t,n,r,i){return this.checkSimpleModel(e,t,n,r,i)?cl(e,t,n,r,i):0},addSimpleModelTimed(e,t,n,r,i,d,o){return this.checkSimpleModel(e,t,n,r,i,d,o)?hl(e,t,n,r,i,d,o):0},checkSimpleModel(e,t,n,r,i,d,o){return e<-1?(s.error("[GameMode]: AddSimpleModel - Error virtual world"),0):t<0?(s.error("[GameMode]: AddSimpleModel - Error baseid"),0):n>-1e3||n<-3e4?(s.error("[GameMode]: AddSimpleModel - Error newid range"),0):r.trim().length<0?(s.error("[GameMode]: AddSimpleModel - Empty dffname"),0):i.trim().length<0?(s.error("[GameMode]: AddSimpleModel - Empty txdName"),0):d!==void 0&&(d<0||d>23)?(s.error("[GameMode]: AddSimpleModel - Error time on range"),0):o!==void 0&&(o<0||o>23)?(s.error("[GameMode]: AddSimpleModel - Error time off range"),0):1},getConsoleVarAsString(e,t="utf8"){const n=c.GetConsoleVarAsByteArray(e);return A.decodeFromBuf(A.getValidStr(n),t)},allowAdminTeleport:c.AllowAdminTeleport,isAdminTeleportAllowed:c.IsAdminTeleportAllowed,allowInteriorWeapons:c.AllowInteriorWeapons,areInteriorWeaponsAllowed:c.AreInteriorWeaponsAllowed,areAllAnimationsEnabled:c.AreAllAnimationsEnabled,enableAllAnimations:c.EnableAllAnimations,enableStuntBonusForAll:ds,enableVehicleFriendlyFire:Li,enableZoneNames:wi,disableInteriorEnterExits:ki,setGameModeText:Ii,getGravity:bi,setGravity:Oi,showNameTags:Ci,disableNameTagLOS:Mi,usePlayerPedAnims:Gi,showPlayerMarkers:Ti,limitPlayerMarkerRadius:Hi,limitGlobalChatRadius:Ni,setNameTagDrawDistance:Fi,findModelFileNameFromCRC:Il,findTextureFileNameFromCRC:Pl,getWeaponName:ul,setObjectsDefaultCameraCollision:Ya,vectorSize:Si,clearBanList:c.ClearBanList,isBanned:c.IsBanned,isValidNickName:c.IsValidNickName,allowNickNameCharacter:c.AllowNickNameCharacter,isNickNameCharacterAllowed:c.IsNickNameCharacterAllowed,addServerRule:c.AddServerRule,setServerRule:c.SetServerRule,isValidServerRule:c.IsValidServerRule,removeServerRule:c.RemoveServerRule,getWeaponSlot:c.GetWeaponSlot,getAvailableClasses:c.GetAvailableClasses,getPlayerClass:c.GetPlayerClass,editPlayerClass:c.EditPlayerClass,toggleChatTextReplacement:c.ToggleChatTextReplacement,chatTextReplacementToggled:c.ChatTextReplacementToggled,getConsoleVarAsInt:c.GetConsoleVarAsInt,getConsoleVarAsBool:c.GetConsoleVarAsBool};const O={onInit:st,onExit:lt,onIncomingConnection:n_,onRconCommand:r_,onRconLoginAttempt:i_,...o_};O.onExit(({next:e})=>(E.getInstances().forEach(t=>t.destroy()),e()));const[s_]=u({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:E.getInstance(e),player:S.getInstance(t)}}}),[l_]=u({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:E.getInstance(e),killer:S.getInstance(t)}}}),[__]=u({name:"OnVehicleMod",beforeEach(e,t,n){return{player:S.getInstance(e),vehicle:E.getInstance(t),componentId:n}}}),[c_]=u({name:"OnVehiclePaintjob",beforeEach(e,t,n){return{player:S.getInstance(e),vehicle:E.getInstance(t),paintjobId:n}}}),[h_]=u({name:"OnVehicleRespray",beforeEach(e,t,n,r){return{player:S.getInstance(e),vehicle:E.getInstance(t),color:[n,r]}}}),[u_]=u({name:"OnVehicleSirenStateChange",beforeEach(e,t,n){return{player:S.getInstance(e),vehicle:E.getInstance(t),state:!!n}}}),[g_]=u({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:E.getInstance(e)}}}),[S_]=u({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:E.getInstance(e),forPlayer:S.getInstance(t)}}}),[m_]=u({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:E.getInstance(e),forPlayer:S.getInstance(t)}}}),[y_]=u({name:"OnPlayerEnterVehicle",beforeEach(e,t,n){return{player:S.getInstance(e),vehicle:E.getInstance(t),isPassenger:!!n}}}),[I_]=u({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:S.getInstance(e),vehicle:E.getInstance(t)}}}),[P_]=u({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:E.getInstance(e),seatId:t}}}),[p_]=u({name:"OnNpcExitVehicle"}),[A_]=u({name:"OnTrailerUpdate",beforeEach(e,t){return{player:S.getInstance(e),vehicle:E.getInstance(t)}}}),f_=Object.freeze({onDamageStatusUpdate:s_,onDeath:l_,onMod:__,onPaintjob:c_,onRespray:h_,onSirenStateChange:u_,onSpawn:g_,onStreamIn:S_,onStreamOut:m_,onPlayerEnter:y_,onPlayerExit:I_,onNpcEnter:P_,onNpcExit:p_,onTrailerUpdate:A_});class E_{constructor(){}static getNetworkStats(){return Zi()}static getPlayerNetworkStats(t){return ji(t.id)}static getBytesReceived(t){return Qi(t.id)}static getBytesSent(t){return ea(t.id)}static getConnectionStatus(t){return ra(t.id)}static getConnectedTime(t){return Ji(t.id)}static getIpPort(t){return gl(t.id)}static getMessagesReceived(t){return $i(t.id)}static getMessagesRecvPerSecond(t){return ta(t.id)}static getMessagesSent(t){return qi(t.id)}static getPacketLossPercent(t){return na(t.id)}}class C_{_text;_time;_style;get text(){return this._text}set text(t){this._text=t}get time(){return this._time}set time(t){this._time=t}get style(){return this._style}set style(t){this._style=t}constructor(t,n,r){this._text=t,this._time=n,this._style=r}static hideForAll(t){_i(t)}static has(t,n){return hi(t.id,n)}forAll(){li(this.text,this.time,this.style)}forPlayer(t){ci(t.id,this.text,this.time,this.style)}hideForPlayer(t){return ui(t.id,this.style)}}class z{static menus=new Map;_itemCount=0;get itemCount(){return this._itemCount}_id=-1;get id(){return this._id}_title;get title(){return this._title}set title(t){this._title=t}_columns=1;get columns(){return this._columns}set columns(t){if(t!==1&&t!==2){s.error("[Menu]: The menu column number interval is between 1 and 2");return}this._columns=t}_x;get x(){return this._x}set x(t){this._x=t}_y;get y(){return this._y}set y(t){this._y=t}_col1width;get col1width(){return this._col1width}set col1width(t){this._col1width=t}_col2width;get col2width(){return this._col2width}set col2width(t){this._col2width=t}constructor(t,n,r,i,d,o){this._title=t,this.columns=n,this._x=r,this._y=i,this._col1width=d,this._col2width=o}create(){return this._id!==-1?s.error("[Menu]: Cannot be created twice"):z.getInstances().length===k.MAX_MENUS?s.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=ia(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),z.menus.set(this._id,this),this)}destroy(){return this._id===-1?s.error("[Menu]: Cannot destroy before create"):(aa(this.id),z.menus.delete(this._id),this._id=-1,this)}addItem(t,n){return this._id===-1?s.error("[Menu]: Cannot addItem before create"):this._itemCount===k.MAX_MENU_ROW?s.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?s.error("[Menu]: Wrong number of columns"):(da(this.id,t,n),this._itemCount++,this)}setColumnHeader(t,n){return this._id===-1?s.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?s.error("[Menu]: Wrong number of columns"):(oa(this.id,t,n),this)}disable(){return this._id===-1?s.error("[Menu]: Cannot disable menu before create"):(ca(this.id),this)}disableRow(t){if(this._id===-1)return s.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return s.error("[Menu]: Wrong number of rows");ha(this.id,t)}isValid(){return _a(this.id)}showForPlayer(t){return this._id===-1?s.error("[Menu]: Cannot show menu before create"):sa(this.id,t.id)}hideForPlayer(t){return this._id===-1?s.error("[Menu]: Cannot hide menu before create"):la(this.id,t.id)}isDisabled(){return this._id===-1?!1:zn(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:Yn(this.id,t)}getItems(t){return this._id===-1?0:Jn(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:$n(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:Qn(this.id)}getColumnHeader(t){return this._id===-1?s.error("[Menu]: Cannot get column header before create"):qn(this.id,t)}getItem(t,n){if(this._id===-1)return s.error("[Menu]: Cannot get item before create");if(!(n<0||n>this.getItems(t)-1))return er(this.id,t,n)}static getInstance(t){return this.menus.get(t)}static getInstances(){return[...this.menus.values()]}static getInstanceByPlayer(t){return this.getInstances().find(n=>n.id===ua(t.id))}}O.onExit(({next:e})=>(z.getInstances().forEach(t=>t.destroy()),e()));const[T_]=u({name:"OnPlayerExitedMenu",beforeEach(e){return{player:S.getInstance(e)}}}),[D_]=u({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const n=S.getInstance(e),r=z.getInstanceByPlayer(n);return{player:n,menu:r,row:t}}}),L_=Object.freeze({onPlayerExited:T_,onPlayerSelectedRow:D_});class b{static globalGangZones=new Map;static playerGangZones=new Map;sourceInfo;constructor(t){this.sourceInfo=t}_id=-1;get id(){return this._id}create(){if(this.id!==-1)return s.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(b.getInstances(!1).length===k.MAX_GANG_ZONES)return s.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:n,minY:r,maxX:i,maxY:d}=this.sourceInfo;this._id=c.CreatePlayerGangZone(t.id,n,r,i,d);const o=he.onDisconnect(({player:l,next:_})=>{_(),l===this.sourceInfo.player&&(this.destroy(),o())});b.playerGangZones.set(this.id,this)}else{if(b.getInstances(!0).length===k.MAX_GANG_ZONES)return s.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:n,minY:r,maxX:i,maxY:d}=this.sourceInfo;this._id=Ma(n,r,i,d),b.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)return s.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(c.PlayerGangZoneDestroy(t.id,this.id),b.playerGangZones.delete(this.id)):(Na(this.id),b.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){return this.id===-1?s.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be show for all."):(xa(this.id,t),this)}showForPlayer(t,n){if(this.id===-1)return s.warn("[GangZone]: Unable to show the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneShow(r.id,this.id,p(t));else if(n)Ha(n.id,this.id,t);else return s.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?s.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be hide for all."):(Va(this.id),this)}hideForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to hide the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneHide(n.id,this.id);else if(t)va(t.id,this.id);else return s.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?s.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be flash for all."):(Wa(this.id,t),this)}flashForPlayer(t,n){if(this.id===-1)return s.warn("[GangZone]: Unable to flash the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneFlash(r.id,this.id,p(n));else if(t)Ua(t.id,this.id,n);else return s.warn("[GangZone]: invalid player for flash");return this}stopFlashForAll(){return this.id===-1?s.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be stop flash for all."):(ja(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to stop flash the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneStopFlash(n.id,this.id);else if(t)Ka(t.id,this.id);else return s.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.IsValidPlayerGangZone(t.id,this.id):c.IsValidGangZone(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerInPlayerGangZone(n.id,this.id):c.IsPlayerInGangZone(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneVisible(n.id,this.id):c.IsGangZoneVisibleForPlayer(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to get color before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetColor(n.id,this.id):c.GangZoneGetColorForPlayer(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to get flash color before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetFlashColor(n.id,this.id):c.GangZoneGetFlashColorForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneFlashing(n.id,this.id):c.IsGangZoneFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===-1)return s.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?c.PlayerGangZoneGetPos(t.id,this.id):c.GangZoneGetPos(this.id)}useCheck(t){if(this.id===-1)return s.warn("[GangZone]: Unable to use check before create");const n=this.sourceInfo.player;return n?c.UsePlayerGangZoneCheck(n.id,this.id,t):c.UseGangZoneCheck(this.id,t),this}static getInstance(t,n){return n?this.globalGangZones.get(t):this.playerGangZones.get(t)}static getInstances(t){return t?[...this.globalGangZones.values()]:[...this.playerGangZones.values()]}}O.onExit(({next:e})=>(b.getInstances(!0).forEach(t=>t.destroy()),b.getInstances(!1).forEach(t=>t.destroy()),e()));const[R_]=u({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:S.getInstance(e),gangZone:b.getInstance(t,!0)}}}),[b_]=u({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:S.getInstance(e),gangZone:b.getInstance(t,!0)}}}),[O_]=u({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:S.getInstance(e),gangZone:b.getInstance(t,!1)}}}),[B_]=u({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:S.getInstance(e),gangZone:b.getInstance(t,!1)}}}),w_=Object.freeze({onPlayerEnterGlobal:R_,onPlayerLeaveGlobal:b_,onPlayerEnterPlayer:O_,onPlayerLeavePlayer:B_}),[j]=u({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,n){return{type:e,id:t,forPlayer:S.getInstance(n)}}}),[Z]=u({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,n){return{type:e,id:t,forPlayer:S.getInstance(n)}}}),[G_]=u({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class L{constructor(){}static getTickRate=It;static setTickRate=Pt;static getPlayerTickRate(t){return pt(t.id)}static setPlayerTickRate(t,n=50){return At(t.id,n)}static toggleChunkStream=ft;static isToggleChunkStream=Et;static getChunkTickRate(t,n=-1){return n instanceof S?me(t,n.id):me(t,n)}static setChunkTickRate(t,n,r=-1){return r instanceof S?ye(t,n,r.id):ye(t,n,r)}static getChunkSize=Ct;static setChunkSize=Tt;static getMaxItems=Dt;static setMaxItems=Lt;static getVisibleItems(t,n=-1){return n instanceof S?Ie(t,n.id):Ie(t,n)}static setVisibleItems(t,n,r=-1){return r instanceof S?Pe(t,n,r.id):Pe(t,n,r)}static getRadiusMultiplier(t,n=-1){return n instanceof S?pe(t,n.id):pe(t,n)}static setRadiusMultiplier(t,n,r=-1){return r instanceof S?Ae(t,r.id):Ae(t,n,r)}static getTypePriority=Rt;static setTypePriority=bt;static getCellDistance=Ot;static setCellDistance=Bt;static getCellSize=wt;static setCellSize=Gt;static toggleItemStatic=kt;static isToggleItemStatic=Ft;static toggleItemInvAreas=Mt;static isToggleItemInvAreas=Nt;static toggleItemCallbacks=Ht;static isToggleItemCallbacks=xt;static toggleErrorCallback=vt;static isToggleErrorCallback=Vt;static amxUnloadDestroyItems=Ut;static processActiveItems=Wt;static toggleIdleUpdate(t,n){return Kt(t.id,n)}static isToggleIdleUpdate(t){return jt(t.id)}static toggleCameraUpdate(t,n){return Zt(t.id,n)}static isToggleCameraUpdate(t){return Xt(t.id)}static toggleItemUpdate(t,n,r){return zt(t.id,n,r)}static isToggleItemUpdate(t,n){return Yt(t.id,n)}static getLastUpdateTime(){return Jt()}static update(t,n=-1){return $t(t.id,n)}static updateEx(t,n,r,i,d,o,l,_,g){return Qt(t.id,n,r,i,d,o,l,_,g)}static getDistanceToItem=qt;static toggleItem(t,n,r,i){return en(t.id,n,r,i)}static isToggleItem(t,n,r){return tn(t.id,n,r)}static toggleAllItems(t,n,r,i=[-1]){return nn(t.id,n,r,i)}static getItemInternalID(t,n,r){return rn(t.id,n,r)}static getItemStreamerID(t,n,r){return an(t.id,n,r)}static isItemVisible(t,n,r){return dn(t.id,n,r)}static destroyAllVisibleItems(t,n,r=1){return on(t.id,n,r)}static countVisibleItems(t,n,r=1){return sn(t.id,n,r)}static destroyAllItems=ln;static countItems=_n;static getNearbyItems=cn;static getAllVisibleItems(t,n,r){hn(t.id,n,r)}static getItemPos=un;static setItemPos=gn;static getItemOffset=Sn;static setItemOffset=mn;static getFloatData=yn;static setFloatData=In;static getIntData=Pn;static setIntData=pn;static getArrayData=An;static setArrayData=fn;static isInArrayData=En;static appendArrayData=Cn;static removeArrayData=Tn;static getArrayDataLength=Dn;static getUpperBound=Ln;static onPluginError=G_}class U{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:n,worldId:r,interiorId:i,playerId:d,areaId:o,priority:l}=this.sourceInfo;const{x:_,y:g,z:m,type:y,color:P,extended:f}=this.sourceInfo;return y<0||y>63?s.error("[StreamerMapIcon]: Invalid map icon type"):(t??=Rn.LOCAL,n??=re.MAP_ICON_SD,l??=0,f?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof d=="number"?d=[-1]:d??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=bn(_,g,m,y,p(P),t,n,r,i,d,o,l),U.mapIcons.set(this._id,this),this):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(d)?d=-1:d??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=On(_,g,m,y,p(P),r,i,d,n,t,o,l),U.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?s.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(Bn(this.id),U.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return wn(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(C.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(C.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}O.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[k_,F_]=u({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[M_,N_]=u({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.MAP_ICON?F_(n,U.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.MAP_ICON?N_(n,U.getInstance(t)):r());const H_=Object.freeze({onStreamIn:k_,onStreamOut:M_});class v{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:n,interiorId:r,playerId:i,areaId:d,priority:o}=this.sourceInfo;const{type:l,modelId:_,x:g,y:m,z:y,extended:P}=this.sourceInfo;return l<0||l>22?s.error("[StreamerPickup]: Invalid pickup type"):(t??=h.StreamerDistances.PICKUP_SD,o??=0,P?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=h.CreateDynamicPickupEx(_,l,g,m,y,t,n,r,i,d,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=h.CreateDynamicPickup(_,l,g,m,y,n,r,i,t,d,o)),v.pickups.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(h.DestroyDynamicPickup(this.id),v.pickups.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerPickup]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}O.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),e()));const[x_,v_]=u({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[V_,U_]=u({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.PICKUP?v_(n,v.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.PICKUP?U_(n,v.getInstance(t)):r());const[W_]=u({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:S.getInstance(e),pickup:v.getInstance(t)}}}),K_=Object.freeze({onPlayerPickUp:W_,onStreamIn:x_,onStreamOut:V_});class N{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:n,interiorId:r,playerId:i,areaId:d,priority:o}=this.sourceInfo;const{size:l,x:_,y:g,z:m,extended:y}=this.sourceInfo;return l<0?s.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=re.CP_SD,o??=0,y?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=Gn(_,g,m,l,t,n,r,i,d,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=kn(_,g,m,l,n,r,i,t,d,o)),N.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(fe(this.id),N.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return Ee(this.id)}togglePlayer(t,n){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(Fn(t.id,this.id,n),this)}static togglePlayerAll(t,n){return Mn(t.id,n)}isPlayerIn(t){return this.id===-1?!1:Nn(t.id,this.id)}static getPlayerVisible(t,n){return n.get(Hn(t.id))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(C.CP,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(C.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}O.onExit(({next:e})=>(N.checkpoints.forEach(t=>t.destroy()),e()));const[j_,Z_]=u({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[X_,z_]=u({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.CP?Z_(n,N.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.CP?z_(n,N.getInstance(t)):r());const[Y_]=u({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:S.getInstance(e),pickup:N.getInstance(t)}}}),[J_]=u({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:S.getInstance(e),pickup:N.getInstance(t)}}}),$_=Object.freeze({onPlayerEnter:Y_,onPlayerLeave:J_,onStreamIn:j_,onStreamOut:X_});class H{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:n,interiorId:r,playerId:i,areaId:d,priority:o}=this.sourceInfo;const{type:l,size:_,x:g,y:m,z:y,nextX:P,nextY:f,nextZ:D,extended:B}=this.sourceInfo;return l<0||l>8?s.error("[StreamerRaceCP]: Invalid type"):_<0?s.error("[StreamerRaceCP]: Invalid size"):(t??=re.RACE_CP_SD,o??=0,B?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=xn(l,g,m,y,P,f,D,_,t,n,r,i,d,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=vn(l,g,m,y,P,f,D,_,n,r,i,t,d,o)),H.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(fe(this.id),H.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return Ee(this.id)}togglePlayer(t,n){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(Vn(t.id,this.id,n),this)}static togglePlayerAll(t,n){return Un(t.id,n)}isPlayerIn(t){return this.id===-1?!1:Wn(t.id,this.id)}static getPlayerVisible(t,n){return n.get(Kn(t.id))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(C.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(C.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}O.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[Q_,q_]=u({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ec,tc]=u({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.RACE_CP?q_(n,H.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.RACE_CP?tc(n,H.getInstance(t)):r());const[nc]=u({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:S.getInstance(e),pickup:H.getInstance(t)}}}),[rc]=u({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:S.getInstance(e),pickup:H.getInstance(t)}}}),ic=Object.freeze({onPlayerEnter:nc,onPlayerLeave:rc,onStreamIn:Q_,onStreamOut:ec});class V{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:n,interiorId:r,playerId:i,areaId:d,priority:o}=this.sourceInfo;const{modelId:l,x:_,y:g,z:m,r:y,invulnerable:P,health:f,extended:D}=this.sourceInfo;return t??=h.StreamerDistances.ACTOR_SD,o??=0,D?(typeof n=="number"?n=[0]:n??=[0],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=h.CreateDynamicActorEx(l,_,g,m,y,P,f,t,n,r,i,d,o)):(Array.isArray(n)?n=0:n??=0,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=h.CreateDynamicActor(l,_,g,m,y,P,f,n,r,i,t,d,o)),V.actors.set(this.id,this),this}destroy(){return this.id===-1?s.warn("[StreamerActor]: Unable to destroy the actor before create"):(h.DestroyDynamicActor(this.id),V.actors.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:h.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?s.warn("[StreamerActor]: Unable to get virtual world before create"):h.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set virtual world before create"):h.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,n,r=!1,i=!0,d=!0,o=!1){if(this.id===-1)return s.warn("[StreamerActor]: Unable to apply animation before create");const l=et(t,n);return l===void 0?s.error("[StreamerActor]: Invalid anim library or name"):h.ApplyDynamicActorAnimation(this.id,t,n,4.1,r,i,d,o,r?0:l)}clearAnimations(){return this.id===-1?s.warn("[StreamerActor]: Unable to clear animation before create"):h.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?s.warn("[StreamerActor]: Unable to get facing angle before create"):h.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set facing angle before create"):h.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?s.warn("[StreamerActor]: Unable to get pos before create"):h.GetDynamicActorPos(this.id)}setPos(t,n,r){return this.id===-1?s.warn("[StreamerActor]: Unable to set pos before create"):h.SetDynamicActorPos(this.id,t,n,r)}getHealth(){return this.id===-1?s.warn("[StreamerActor]: Unable to get health before create"):h.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set health before create"):h.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:h.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?s.warn("[StreamerActor]: Unable to set invulnerable before create"):h.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t,n){if(this.id===-1)return;const r=h.GetPlayerTargetDynamicActor(t.id);return n.get(r)}getPlayerCameraTarget(t,n){if(this.id===-1)return;const r=h.GetPlayerCameraTargetDynActor(t.id);return n.get(r)}getSkin(){return this.id===-1?s.warn("[StreamerActor]: Unable to get skin before create"):c.GetActorSkin(this.id)}setSkin(t,n=!1){return this.id===-1?s.warn("[StreamerActor]: Unable to set skin before create"):!n&&(t<0||t>311||t==74)?0:c.SetActorSkin(this.id,t)}getSpawnInfo(){return this.id===-1?s.warn("[StreamerActor]: Unable to get spawn info before create"):c.GetActorSpawnInfo(this.id)}getAnimation(){return this.id===-1?s.warn("[StreamerActor]: Unable to get animation before create"):c.GetActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerActor]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}O.onExit(({next:e})=>(V.getInstances().forEach(t=>t.destroy()),e()));const[ac]=u({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:V.getInstance(e),forPlayer:S.getInstance(t)}}}),[dc]=u({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:V.getInstance(e),forPlayer:S.getInstance(t)}}}),[oc]=u({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,n,r,i){return{player:S.getInstance(e),actor:V.getInstance(t),amount:n,weapon:r,bodyPart:i}}}),sc=Object.freeze({onStreamIn:ac,onStreamOut:dc,onPlayerGiveDamage:oc});class X{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:n,testLos:r,streamDistance:i,worldId:d,interiorId:o,playerId:l,areaId:_,priority:g}=this.sourceInfo;const{charset:m,text:y,color:P,drawDistance:f,x:D,y:B,z:x,extended:ne}=this.sourceInfo;return t??=T.PLAYER_ID,n??=T.VEHICLE_ID,i??=re.TEXT_3D_LABEL_SD,r??=!1,g??=0,ne?(typeof d=="number"?d=[-1]:d??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof _=="number"?_=[-1]:_??=[-1],this._id=ni(y,p(P),D,B,x,f,t,n,r,i,d,o,l,_,g,m||"utf8")):(Array.isArray(d)?d=-1:d??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(_)?_=-1:_??=-1,this._id=ti(m||"utf8",y,p(P),D,B,x,f,t,n,r,d,o,l,i,_,g)),X.texts.set(this.id,this),this}destroy(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(jn(this.id),X.texts.delete(this.id),this._id=-1,this)}isValid(){return Zn(this.id)}getColor(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get text before create"):ii(this.id,this.sourceInfo.charset||"utf8")}updateText(t,n,r=this.sourceInfo.charset){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=r,ri(this.id,p(t),n,r||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(C.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(C.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}O.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),e()));const[lc,_c]=u({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[cc,hc]=u({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.TEXT_3D_LABEL?_c(n,X.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.TEXT_3D_LABEL?hc(n,X.getInstance(t)):r());const uc=Object.freeze({onStreamIn:lc,onStreamOut:cc});class G{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:n,worldId:r,interiorId:i,playerId:d,areaId:o,priority:l}=this.sourceInfo;const{modelId:_,x:g,y:m,z:y,rx:P,ry:f,rz:D,extended:B}=this.sourceInfo;return t??=h.StreamerDistances.OBJECT_SD,n??=h.StreamerDistances.OBJECT_DD,l??=0,B?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof d=="number"?d=[-1]:d??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=h.CreateDynamicObjectEx(_,g,m,y,P,f,D,t,n,r,i,d,o,l)):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(d)?d=-1:d??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=h.CreateDynamicObject(_,g,m,y,P,f,D,r,i,d,t,n,o,l)),G.objects.set(this._id,this),this}destroy(){return this.id===-1?s.warn("[StreamerObject]: Unable to destroy the object before create"):(h.DestroyDynamicObject(this.id),G.objects.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?s.warn("[StreamerObject]: Cannot get position before create"):h.GetDynamicObjectPos(this.id)}setPos(t,n,r){return this.id===-1?s.warn("[StreamerObject]: Cannot set position before create"):h.SetDynamicObjectPos(this.id,t,n,r)}getRot(){return this.id===-1?s.warn("[StreamerObject]: Cannot get rotation before create"):h.GetDynamicObjectRot(this.id)}setRot(t,n,r){return this.id===-1?s.warn("[StreamerObject]: Cannot set rotation before create"):h.SetDynamicObjectRot(this.id,t,n,r)}move(t,n,r,i,d=-1e3,o=-1e3,l=-1e3){return this.id===-1?s.warn("[StreamerObject]: Cannot start moving before create"):i<0?s.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&s.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),h.MoveDynamicObject(this.id,t,n,r,i,d,o,l))}stop(){return this.id===-1?s.warn("[StreamerObject]: Cannot stop moving before create"):h.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:h.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachCamera before both are created"):h.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,n,r,i,d,o,l,_=!0){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToObject before both are created"):h.AttachDynamicObjectToObject(this.id,t.id,n,r,i,d,o,l,_)}attachToPlayer(t,n,r,i,d,o,l){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToPlayer(this.id,t.id,n,r,i,d,o,l)}attachToVehicle(t,n,r,i,d,o,l){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToVehicle(this.id,t.id,n,r,i,d,o,l)}edit(t){return this.id===-1?s.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),h.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:h.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:h.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,n,r){return this.id===-1?s.warn("[StreamerObject]: Unable to get material before create"):h.GetDynamicObjectMaterial(this.id,t,n,r)}setMaterial(t,n,r,i,d="#000"){return this.id===-1?s.warn("[StreamerObject]: Unable to set material before create"):h.SetDynamicObjectMaterial(this.id,t,n,r,i,p(d))}isMaterialTextUsed(t){return this.id===-1?!1:h.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?h.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?s.warn("[StreamerObject]: Unable to get material text before create"):di(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,n,r,i=h.MaterialTextSizes.SIZE_256x128,d="Arial",o=24,l=1,_="#fff",g="#000",m=0){return this.id===-1?s.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,ai(t||"utf8",this.id,n,r,i,d,o,l,p(_),p(g),m))}getPlayerCameraTarget(t,n){const r=h.GetPlayerCameraTargetDynObject(t.id);if(r!==T.OBJECT_ID)return n.get(r)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerObject]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}O.onExit(({next:e})=>(G.getInstances().forEach(t=>t.destroy()),e()));const[gc,Sc]=u({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[mc,yc]=u({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.OBJECT?Sc(n,G.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.OBJECT?yc(n,G.getInstance(t)):r());const[Ic]=u({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:G.getInstance(e)}}}),[Pc]=u({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,n,r,i,d,o,l,_){return{player:S.getInstance(e),object:G.getInstance(t),response:n,x:r,y:i,z:d,rX:o,rY:l,rZ:_}}}),[pc]=u({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,n,r,i,d){return{player:S.getInstance(e),object:G.getInstance(t),modelId:n,x:r,y:i,z:d}}}),[Ac]=u({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,n,r,i,d){return{player:S.getInstance(e),object:G.getInstance(n),weapon:t,x:r,y:i,z:d}}}),[fc]=u({name:"OnPlayerEditAttachedObject",beforeEach(e,t,n,r,i,d,o,l,_,g,m,y,P,f){return{player:S.getInstance(e),response:t,index:n,modelId:r,boneId:i,fOffsetX:d,fOffsetY:o,fOffsetZ:l,fRotX:_,fRotY:g,fRotZ:m,fScaleX:y,fScaleY:P,fScaleZ:f}}}),Ec=Object.freeze({onMoved:Ic,onPlayerEdit:Pc,onPlayerSelect:pc,onPlayerShoot:Ac,onPlayerEditAttached:fc,onStreamIn:gc,onStreamOut:mc});class w{static areas=new Map;sourceInfo;_id=-1;get type(){return this.sourceInfo.type}get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:n,playerId:r}=this.sourceInfo;const{type:i,extended:d}=this.sourceInfo;if(d)if(typeof t=="number"?t=[-1]:t??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],i==="circle"){const{x:o,y:l,size:_}=this.sourceInfo;if(_<0)return s.error("[StreamerArea]: Invalid circle extend size");this._id=h.CreateDynamicCircleEx(o,l,_,t,n,r)}else if(i==="cuboid"){const{minX:o,minY:l,minZ:_,maxX:g,maxY:m,maxZ:y}=this.sourceInfo;this._id=h.CreateDynamicCuboidEx(o,l,_,g,m,y,t,n,r)}else if(i==="cylinder"){const{x:o,y:l,minZ:_,maxZ:g,size:m}=this.sourceInfo;if(m<0)return s.error("[StreamerArea]: Invalid cylinder extend size");this._id=h.CreateDynamicCylinderEx(o,l,_,g,m,t,n,r)}else if(i==="polygon"){const{points:o,minZ:l,maxZ:_}=this.sourceInfo;if(o.length%2!==0)return s.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=h.CreateDynamicPolygonEx(o,l,_,t,n,r)}else if(i==="rectangle"){const{minX:o,minY:l,maxX:_,maxY:g}=this.sourceInfo;this._id=h.CreateDynamicRectangleEx(o,l,_,g,t,n,r)}else{const{x:o,y:l,z:_,size:g}=this.sourceInfo;if(g<0)return s.error("[StreamerArea]: Invalid sphere extended size");this._id=h.CreateDynamicSphereEx(o,l,_,g,t,n,r)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,i==="circle"){const{x:o,y:l,size:_}=this.sourceInfo;if(_<0)return s.error("[StreamerArea]: Invalid circle size");this._id=h.CreateDynamicCircle(o,l,_,t,n,r)}else if(i==="cuboid"){const{minX:o,minY:l,minZ:_,maxX:g,maxY:m,maxZ:y}=this.sourceInfo;this._id=h.CreateDynamicCuboid(o,l,_,g,m,y,t,n,r)}else if(i==="cylinder"){const{x:o,y:l,minZ:_,maxZ:g,size:m}=this.sourceInfo;if(m<0)return s.error("[StreamerArea]: Invalid cylinder size");this._id=h.CreateDynamicCylinder(o,l,_,g,m,t,n,r)}else if(i==="polygon"){const{points:o,minZ:l,maxZ:_}=this.sourceInfo;if(o.length%2!==0)return s.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=h.CreateDynamicPolygon(o,l,_,t,n,r)}else if(i==="rectangle"){const{minX:o,minY:l,maxX:_,maxY:g}=this.sourceInfo;this._id=h.CreateDynamicRectangle(o,l,_,g,t,n,r)}else{const{x:o,y:l,z:_,size:g}=this.sourceInfo;if(g<0)return s.error("[StreamerArea]: Invalid sphere size");this._id=h.CreateDynamicSphere(o,l,_,g,t,n,r)}return w.areas.set(this._id,this),this}destroy(){return this.id===-1?s.warn("[StreamerArea]: Unable to destroy the area before create"):(h.DestroyDynamicArea(this.id),w.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:h.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?s.warn("[StreamerArea]: Unable to get type before create"):h.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return h.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return h.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,n=!1){return this.id===-1?!1:h.IsPlayerInDynamicArea(t.id,this.id,n)}static isPlayerInAny(t,n=!1){return h.IsPlayerInAnyDynamicArea(t.id,n)}isAnyPlayerIn(t=!1){return this.id===-1?!1:h.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return h.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t,n){return w.getPlayerAreasNumber(t)?h.GetPlayerDynamicAreas(t.id).map(r=>n.get(r)):[]}static getPlayerAreasNumber(t){return h.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,n,r){return this.id===-1?!1:h.IsPointInDynamicArea(this.id,t,n,r)}static isPointInAny(t,n,r){return h.IsPointInAnyDynamicArea(t,n,r)}isLineIn(t,n,r,i,d,o){return this.id===-1?!1:h.IsLineInDynamicArea(this.id,t,n,r,i,d,o)}static isLineInAny(t,n,r,i,d,o){return h.IsLineInAnyDynamicArea(t,n,r,i,d,o)}static getForPoint(t,n,r,i){return w.getNumberForPoint(t,n,r)?h.GetDynamicAreasForPoint(t,n,r).map(d=>i.get(d)):[]}static getNumberForPoint(t,n,r){return h.GetNumberDynamicAreasForPoint(t,n,r)}static getForLine(t,n,r,i,d,o,l){return w.getNumberForLine(t,n,r,i,d,o)?h.GetDynamicAreasForLine(t,n,r,i,d,o).map(_=>l.get(_)):[]}static getNumberForLine(t,n,r,i,d,o){return h.GetNumberDynamicAreasForLine(t,n,r,i,d,o)}attachToObject(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to object before create"):h.AttachDynamicAreaToObject(this.id,t.id,h.StreamerObjectTypes.DYNAMIC,T.PLAYER_ID,n,r,i)}attachToPlayer(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to player before create"):h.AttachDynamicAreaToPlayer(this.id,t.id,n,r,i)}attachToVehicle(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):h.AttachDynamicAreaToVehicle(this.id,t.id,n,r,i)}toggleSpectateMode(t){return this.id===-1?s.warn("[StreamerArea]: Unable to toggle specate mode before create"):h.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:h.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerArea]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(h.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(h.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}O.onExit(({next:e})=>(w.getInstances().forEach(t=>t.destroy()),e()));const[Cc,Tc]=u({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Dc,Lc]=u({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:n,next:r})=>e===C.AREA?Tc(n,w.getInstance(t)):r()),Z(({type:e,id:t,forPlayer:n,next:r})=>e===C.AREA?Lc(n,w.getInstance(t)):r());const[Rc]=u({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:S.getInstance(e),pickup:w.getInstance(t)}}}),[bc]=u({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:S.getInstance(e),pickup:w.getInstance(t)}}}),Oc=Object.freeze({onStreamIn:Cc,onStreamOut:Dc,onPlayerEnter:Rc,onPlayerLeave:bc});class I{static globalTextDraws=new Map;static playerTextDraws=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:n,text:r,player:i}=this.sourceInfo;if(i){if(I.getInstances(!1).length===k.MAX_TEXT_DRAWS)return s.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=oo(i.id,t,n,r);const d=he.onDisconnect(({player:o,next:l})=>(o===i&&(this.destroy(),d()),l()));I.playerTextDraws.set(this.id,this)}else{if(I.getInstances(!0).length===k.MAX_TEXT_DRAWS)return s.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=ga(t,n,r),I.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return I.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(so(t.id,this.id),I.playerTextDraws.delete(this.id)):(Sa(this.id),I.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return I.beforeCreateWarn("set font");const{player:n}=this.sourceInfo;return n?yo(n.id,this.id,t):Ta(this.id,t),this}setColor(t){if(this.id===-1)return I.beforeCreateWarn("set color");const{player:n}=this.sourceInfo;return n?co(n.id,this.id,t):Pa(this.id,t),this}setBoxColors(t){if(this.id===-1)return I.beforeCreateWarn("set box color");const{player:n}=this.sourceInfo;return n?uo(n.id,this.id,t):Aa(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return I.beforeCreateWarn("set background color");const{player:n}=this.sourceInfo;return n?mo(n.id,this.id,t):Ca(this.id,t),this}setAlignment(t){if(this.id===-1)return I.beforeCreateWarn("set alignment");const{player:n}=this.sourceInfo;return n?_o(n.id,this.id,t):Ia(this.id,t),this}setLetterSize(t,n){if(this.id===-1)return I.beforeCreateWarn("set letter size");const{player:r}=this.sourceInfo;return r?lo(r.id,this.id,t,n):ma(this.id,t,n),this}setOutline(t){if(this.id===-1)return I.beforeCreateWarn("set outline model");if(t<0)return s.warn("[TextDraw]: Invalid outline value");const{player:n}=this.sourceInfo;return n?So(n.id,this.id,t):Ea(this.id,t),this}setPreviewModel(t){if(this.id===-1)return I.beforeCreateWarn("set preview model");this.setFont(ee.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?Eo(n.id,this.id,t):Ga(this.id,t),this}setPreviewRot(t,n,r,i=1){if(this.id===-1)return I.beforeCreateWarn("set preview rot");this.setFont(ee.MODEL_PREVIEW);const{player:d}=this.sourceInfo;return d?Co(d.id,this.id,t,n,r,i):ka(this.id,t,n,r,i),this}setPreviewVehColors(t,n){if(this.id===-1)return I.beforeCreateWarn("set preview veh col");this.setFont(ee.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?To(r.id,this.id,t,n):Fa(this.id,t,n),this}setProportional(t=!0){if(this.id===-1)return I.beforeCreateWarn("set Proportional");const{player:n}=this.sourceInfo;return n?Io(n.id,this.id,t):Da(this.id,t),this}setSelectable(t){if(this.id===-1)return I.beforeCreateWarn("set Selectable");const{player:n}=this.sourceInfo;return n?Po(n.id,this.id,t):La(this.id,t),this}setShadow(t){if(this.id===-1)return I.beforeCreateWarn("set shadow");if(t<0)return s.warn("[TextDraw]: Invalid shadow value");const{player:n}=this.sourceInfo;return n?go(n.id,this.id,t):fa(this.id,t),this}setString(t){if(this.id===-1)return I.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return s.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?fo(n.id,this.id,t):wa(this.id,t),this}setTextSize(t,n){return this.id===-1?I.beforeCreateWarn("set TextSize"):(ya(this.id,t,n),this)}useBox(t){if(this.id===-1)return I.beforeCreateWarn("set TextSize");const{player:n}=this.sourceInfo;return n?ho(n.id,this.id,t):pa(this.id,t),this}static beforeCreateWarn(t){s.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return I.beforeCreateWarn("show");const n=this.sourceInfo.player;if(n)po(n.id,this.id);else if(t)Ra(t.id,this.id);else return s.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return I.beforeCreateWarn("hide");const n=this.sourceInfo.player;if(n)Ao(n.id,this.id);else if(t)ba(t.id,this.id);else return s.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?I.beforeCreateWarn("show"):this.sourceInfo.player?s.warn("[TextDraw]: player's textdraw should not be show for all."):(Oa(this.id),this)}hideAll(){return this.id===-1?I.beforeCreateWarn("hideAll"):this.sourceInfo.player?s.warn("[TextDraw]: player's textdraw should not be hide for all."):(Ba(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?tr(t.id,this.id):nr(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:rr(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?ir(t.id,this.id):ar(this.id)}setPos(t,n){if(this.id===-1)return I.beforeCreateWarn("set position");const r=this.sourceInfo.player;return r?dr(r.id,this.id,t,n):or(this.id,t,n),this}getLetterSize(){if(this.id===-1)return I.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?sr(t.id,this.id):lr(this.id)}getTextSize(){if(this.id===-1)return I.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?_r(t.id,this.id):cr(this.id)}getPos(){if(this.id===-1)return I.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?hr(t.id,this.id):ur(this.id)}getColor(){if(this.id===-1)return I.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?gr(t.id,this.id):Sr(this.id)}getBoxColor(){if(this.id===-1)return I.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?mr(t.id,this.id):yr(this.id)}getBackgroundColor(){if(this.id===-1)return I.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?Ir(t.id,this.id):Pr(this.id)}getShadow(){if(this.id===-1)return I.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?pr(t.id,this.id):Ar(this.id)}getOutline(){if(this.id===-1)return I.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?fr(t.id,this.id):Er(this.id)}getFont(){if(this.id===-1)return I.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?Cr(t.id,this.id):Tr(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Dr(t.id,this.id):Lr(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Rr(t.id,this.id):br(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Or(t.id,this.id):Br(this.id)}getAlignment(){if(this.id===-1)return I.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?wr(t.id,this.id):Gr(this.id)}getPreviewModel(){if(this.id===-1)return I.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?kr(t.id,this.id):Fr(this.id)}getPreviewRot(){if(this.id===-1)return I.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?Mr(t.id,this.id):Nr(this.id)}getPreviewVehColors(){if(this.id===-1)return I.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?Hr(t.id,this.id):xr(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t,n){return n?this.globalTextDraws.get(t):this.playerTextDraws.get(t)}static getInstances(t){return t?[...this.globalTextDraws.values()]:[...this.playerTextDraws.values()]}}O.onExit(({next:e})=>(I.getInstances(!0).forEach(t=>t.destroy()),I.getInstances(!1).forEach(t=>t.destroy()),e()));const[Bc]=u({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:S.getInstance(e),textDraw:t===T.TEXT_DRAW?t:I.getInstance(t,!0)}}}),[wc]=u({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:S.getInstance(e),textDraw:t===T.TEXT_DRAW?t:I.getInstance(t,!1)}}}),Gc=Object.freeze({onPlayerClickGlobal:Bc,onPlayerClickPlayer:wc});export{Te as ArtworkEnum,He as BodyPartsEnum,xe as BoneIdsEnum,Ze as BulletHitTypesEnum,ie as CameraCutStylesEnum,Ne as CameraModesEnum,Ve as CarModTypeEnum,De as ClickSourcesEnum,Re as ConnectionStatusEnum,le as DamageDeathReasonEnum,R as Dialog,oe as DialogStylesEnum,X as Dynamic3DTextLabel,uc as Dynamic3DTextLabelEvent,V as DynamicActor,sc as DynamicActorEvent,w as DynamicArea,Oc as DynamicAreaEvent,$_ as DynamicCheckPointEvent,N as DynamicCheckpoint,U as DynamicMapIcon,H_ as DynamicMapIconEvent,G as DynamicObject,Ec as DynamicObjectEvent,v as DynamicPickup,K_ as DynamicPickupEvent,H as DynamicRaceCP,ic as DynamicRaceCPEvent,F as ERecordStatus,Vc as E_STREAMER,Le as EditResponseTypesEnum,Fe as FightingStylesEnum,O as GameMode,C_ as GameText,b as GangZone,w_ as GangZoneEvent,Jc as GangZonePos,A as I18n,$c as IActorAnimation,Qc as IActorSpawn,qc as IAttachedData,eh as IAttachedObject,th as IBounds,nh as ICheckPoint,rh as IMaterial,ih as IMaterialText,ah as IObjectPos,dh as IObjectRotPos,oh as IOffsets,sh as IPlayerClass,lh as IQuat,_h as IRaceCheckPoint,ch as ITextDrawCommonSize,hh as ITextDrawRot,uh as IVehColor,gh as IVehMatrix,Sh as IVehSpawnInfo,T as InvalidEnum,be as KeysEnum,k as LimitsEnum,Uc as MapIconStyles,Me as MapIconStylesEnum,Oe as MarkerModesEnum,Wc as MaterialTextSizes,z as Menu,L_ as MenuEvent,Be as NPCPlaybackEnum,E_ as NetStats,M as Npc,zr as NpcEvent,Ge as ObjectMaterialAlignmmentEnum,we as ObjectMaterialTextSizeEnum,S as Player,he as PlayerEvent,Y as PlayerStateEnum,ze as RecordTypesEnum,ke as SelectObjectTypesEnum,se as SpecialActionsEnum,ae as SpectateModesEnum,L as Streamer,Kc as StreamerAreaTypes,jc as StreamerDistances,Zc as StreamerItemTypes,Xc as StreamerMiscellaneous,zc as StreamerObjectTypes,I as TextDraw,ve as TextDrawAlignEnum,Gc as TextDrawEvent,ee as TextDrawFontsEnum,E as Vehicle,f_ as VehicleEvent,We as VehicleModelInfoEnum,Ue as VehicleParamsEnum,Ke as WeaponEnum,je as WeaponSkillsEnum,Xe as WeaponStatesEnum,u as defineEvent,p as rgba};
|