@infernus/core 0.11.0-beta.11 → 0.11.0-beta.13
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 +139 -121
- package/dist/bundle.js +1 -1
- package/dist/bundle.mjs +1 -1
- package/package.json +1 -1
package/dist/bundle.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{encodingExists as yt,encode as It,decode as Pt}from"iconv-lite";import ft from"pino";import{snakeCase as ne,merge as At,omit as Et,get as pe,mapKeys as Ct}from"lodash-unified";import*as h from"@infernus/streamer";import{Streamer_GetTickRate as Tt,Streamer_SetTickRate as Dt,Streamer_GetPlayerTickRate as Nt,Streamer_SetPlayerTickRate as Lt,Streamer_ToggleChunkStream as Rt,Streamer_IsToggleChunkStream as bt,Streamer_GetChunkTickRate as ge,Streamer_SetChunkTickRate as Se,Streamer_GetChunkSize as vt,Streamer_SetChunkSize as wt,Streamer_GetMaxItems as Ot,Streamer_SetMaxItems as Gt,Streamer_GetVisibleItems as ye,Streamer_SetVisibleItems as Ie,Streamer_GetRadiusMultiplier as Pe,Streamer_SetRadiusMultiplier as fe,Streamer_GetTypePriority as Bt,Streamer_SetTypePriority as Ft,Streamer_GetCellDistance as kt,Streamer_SetCellDistance as Mt,Streamer_GetCellSize as xt,Streamer_SetCellSize as Ht,Streamer_ToggleItemStatic as Vt,Streamer_IsToggleItemStatic as Ut,Streamer_ToggleItemInvAreas as Wt,Streamer_IsToggleItemInvAreas as Kt,Streamer_ToggleItemCallbacks as Zt,Streamer_IsToggleItemCallbacks as jt,Streamer_ToggleErrorCallback as Xt,Streamer_IsToggleErrorCallback as Yt,Streamer_AmxUnloadDestroyItems as zt,Streamer_ProcessActiveItems as $t,Streamer_ToggleIdleUpdate as Jt,Streamer_IsToggleIdleUpdate as Qt,Streamer_ToggleCameraUpdate as qt,Streamer_IsToggleCameraUpdate as ea,Streamer_ToggleItemUpdate as ta,Streamer_IsToggleItemUpdate as aa,Streamer_GetLastUpdateTime as na,Streamer_Update as ia,Streamer_UpdateEx as ra,Streamer_GetDistanceToItem as sa,Streamer_ToggleItem as la,Streamer_IsToggleItem as oa,Streamer_ToggleAllItems as da,Streamer_GetItemInternalID as ca,Streamer_GetItemStreamerID as _a,Streamer_IsItemVisible as ha,Streamer_DestroyAllVisibleItems as ua,Streamer_CountVisibleItems as ma,Streamer_DestroyAllItems as pa,Streamer_CountItems as ga,Streamer_GetNearbyItems as Sa,Streamer_GetAllVisibleItems as ya,Streamer_GetItemPos as Ia,Streamer_SetItemPos as Pa,Streamer_GetItemOffset as fa,Streamer_SetItemOffset as Aa,Streamer_GetFloatData as Ea,Streamer_SetFloatData as Ca,Streamer_GetIntData as Ta,Streamer_SetIntData as Da,Streamer_GetArrayData as Na,Streamer_SetArrayData as La,Streamer_IsInArrayData as Ra,Streamer_AppendArrayData as ba,Streamer_RemoveArrayData as va,Streamer_GetArrayDataLength as wa,Streamer_GetUpperBound as Oa,MapIconStyles as Ga,StreamerDistances as ee,CreateDynamicMapIconEx as Ba,CreateDynamicMapIcon as Fa,DestroyDynamicMapIcon as ka,IsValidDynamicMapIcon as Ma,StreamerItemTypes as E,CreateDynamicCPEx as xa,CreateDynamicCP as Ha,DestroyDynamicCP as Ae,IsValidDynamicCP as Ee,TogglePlayerDynamicCP as Va,TogglePlayerAllDynamicCPs as Ua,IsPlayerInDynamicCP as Wa,GetPlayerVisibleDynamicCP as Ka,CreateDynamicRaceCPEx as Za,CreateDynamicRaceCP as ja,TogglePlayerDynamicRaceCP as Xa,TogglePlayerAllDynamicRaceCPs as Ya,IsPlayerInDynamicRaceCP as za,GetPlayerVisibleDynamicRaceCP as $a,DestroyDynamic3DTextLabel as Ja,IsValidDynamic3DTextLabel as Qa}from"@infernus/streamer";import{E_STREAMER as Rm,MapIconStyles as bm,MaterialTextSizes as vm,StreamerAreaTypes as wm,StreamerDistances as Om,StreamerItemTypes as Gm,StreamerMiscellaneous as Bm,StreamerObjectTypes as Fm}from"@infernus/streamer";const o=ft({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{o.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){o.warn(e);return}o.warn(new Error(JSON.stringify(e)))});class P{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=ne(t),this.locales=P.snakeLocaleKeys(a)}addLocales=t=>{At(this.locales,P.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=Et(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[ne(n)],r=pe(this.locales[this.defaultLocale],t),s=pe(i,t,r);if(s===void 0)return o.warn(`[i18n]: cannot find ${n}["${t}"]`),"undefined";if(typeof s!="string")return JSON.stringify(s);let l=s;if(a&&a.length){const d=/%s/i;for(let c=0;c<a.length&&l.match(d)!==null;c++)l=l.replace(d,a[c])}return l};static isValidate(t){yt(t)||(o.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return P.isValidate(a),[...It(t,a),0]}static decodeFromBuf(t,a="utf8"){P.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(t);return Pt(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return Ct(t,(a,n)=>ne(n))}}const $=new Map;function Ce(e){$.set(e,[])}function qa(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function en(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,s=$.get(n);if(!s||!s.length)return+a;const l=i?i(...t):{},d=[];let c=-1;const m=()=>{if(c++,c<s.length){try{const p=s[c]({next:m,...l});return p instanceof Promise&&d.push(p),p}catch(p){const g=`executing event [name:${n},index:${c}] error:`;o.error(g),o.error(p)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(l)):r(l)),a};return qa(m(),a)}function _(e){const{name:t,identifier:a,isNative:n=!0}=e;if($.has(t)){const l=`event [name:${t}] error: already defined.`;throw o.error(l),new Error(l)}Ce(t);function i(...l){return en(e,...l)}function r(l){const d=$.get(t).push(l)-1;return()=>{const c=$.get(t)||[],m=c.length-1,p=m<d?m:d;for(let g=p;g>=0;g--)if(c[g]===l){c.splice(g,1);break}}}const s=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),s}const[tn]=_({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[an]=_({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[nn]=_({name:"OnNpcModeInit"}),[rn]=_({name:"OnNpcModeExit"}),[sn]=_({name:"OnNpcSpawn"}),[ln]=_({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:P.decodeFromBuf(t)}}}),on=Object.freeze({onConnect:tn,onDisconnect:an,onModeInit:nn,onModeExit:rn,onSpawn:sn,onClientMessage:ln}),dn=e=>!!samp.callNative("IsValidNickName","s",e),cn=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},_n=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),hn=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),un=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),mn=e=>!!samp.callNative("IsValidServerRule","s",e),pn=e=>!!samp.callNative("RemoveServerRule","s",e),gn=e=>{samp.callNative("AllowAdminTeleport","i",e)},Sn=()=>!!samp.callNative("IsAdminTeleportAllowed",""),yn=e=>{samp.callNative("AllowInteriorWeapons","i",e)},In=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Pn=()=>!!samp.callNative("AreAllAnimationsEnabled",""),fn=e=>{samp.callNative("EnableAllAnimations","i",e)},An=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},En=e=>samp.callNative("GetConsoleVarAsInt","s",e),Cn=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Tn=()=>samp.callNative("GetWeather",""),Dn=e=>samp.callNative("GetServerRuleFlags","s",e),Nn=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Ln=e=>!!samp.callNative("SetModeRestartTime","f",e),Rn=()=>samp.callNativeFloat("GetModeRestartTime",""),bn=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),vn=e=>{samp.callNative("HideGameTextForAll","i",e)},wn=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),On=()=>samp.callNative("GetMaxPlayers",""),Gn=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Bn=e=>samp.callNative("SetGameModeText","s",e),Fn=e=>samp.callNative("ShowNameTags","i",e),kn=e=>samp.callNative("ShowPlayerMarkers","i",e),Mn=e=>samp.callNative("SetWorldTime","i",e),xn=()=>samp.callNative("GetWorldTime",""),Hn=()=>samp.callNative("EnableVehicleFriendlyFire",""),Vn=e=>samp.callNative("SetWeather","i",e),Un=()=>samp.callNativeFloat("GetGravity",""),Wn=e=>samp.callNative("SetGravity","f",e),Kn=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),Zn=e=>samp.callNative("EnableZoneNames","i",e),jn=()=>samp.callNative("UsePlayerPedAnims",""),Xn=()=>samp.callNative("DisableInteriorEnterExits",""),Yn=e=>samp.callNative("SetNameTagDrawDistance","f",e),zn=()=>samp.callNative("DisableNameTagLOS",""),$n=e=>samp.callNative("LimitGlobalChatRadius","f",e),Jn=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),Qn=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),qn=()=>samp.callNative("GetServerTickRate",""),ei=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),ti=e=>samp.callNative("EnableStuntBonusForAll","i",e),ai=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},ni=()=>!!samp.callNative("ChatTextReplacementToggled",""),ii=e=>samp.callNative("GetWeaponSlot","i",e),ri=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},Te=()=>samp.callNative("GetAvailableClasses",""),si=e=>{if(e<Te()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,l=0,d=0,c=0,m=0,p=0,g=0,I=0]=t;return{teamId:a,modelId:n,spawnX:i,spawnY:r,spawnZ:s,zAngle:l,weapon1:d,weapon1Ammo:c,weapon2:m,weapon2Ammo:p,weapon3:g,weapon3Ammo:I}},li=(e,t,a,n,i,r,s,l,d,c,m,p,g)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,l,d,c,m,p,g),oi=e=>samp.callNative("SetTeamCount","i",e),di=(e,t,a,n,i,r,s,l,d,c,m)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,l,d,c,m),ci=(e,t,a,n,i,r,s,l,d,c,m,p)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,l,d,c,m,p),_i=(e,t,a,n,i,r,s,l,d,c,m,p,g)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,l,d,c,m,p,g),hi=e=>samp.callNative("SpawnPlayer","i",e),ui=e=>{const[t,a=0,n=0,i=0,r=0,s=0,l=0,d=0,c=0,m=0,p=0,g=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:n,spawnY:i,spawnZ:r,zAngle:s,weapon1:l,weapon1Ammo:d,weapon2:c,weapon2Ammo:m,weapon3:p,weapon3Ammo:g}},mi=e=>samp.callNative("NetStats_GetConnectedTime","i",e),pi=e=>samp.callNative("NetStats_MessagesReceived","i",e),gi=e=>samp.callNative("NetStats_BytesReceived","i",e),Si=e=>samp.callNative("NetStats_MessagesSent","i",e),yi=e=>samp.callNative("NetStats_BytesSent","i",e),Ii=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Pi=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),fi=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Ai=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Ei=e=>!!samp.callNative("IsPlayerAdmin","i",e),Ci=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),Ti=e=>!!samp.callNative("Kick","i",e),Di=e=>!!samp.callNative("Ban","i",e),Ni=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Li=()=>samp.callNative("GetNetworkStats","Si",1024),Ri=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),bi=e=>samp.callNative("UnBlockIpAddress","s",e),vi=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return P.decodeFromBuf(P.getValidStr(a),t)},wi=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Oi=()=>{samp.callNative("ClearBanList","")},Gi=e=>!!samp.callNative("IsBanned","s",e),Bi=e=>samp.callNative("GetPlayerRawIp","i",e),Fi=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},ki=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},y=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(n=>parseInt(n,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 a=0;return t.reverse().forEach((n,i)=>{n!==0&&(a+=Math.pow(16,i*2)*n)}),a},Mi=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),xi=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Hi=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Vi=e=>samp.callNative("GetPlayerWeather","i",e),Ui=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:n,yMin:i}},Wi=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Ki=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},Zi=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},ji=e=>samp.callNative("GetPlayerDialogID","i",e),Xi=e=>samp.callNative("GetPlayerSpectateID","i",e),Yi=e=>samp.callNative("GetPlayerSpectateType","i",e),zi=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),$i=e=>samp.callNativeFloat("GetPlayerGravity","i",e),Ji=e=>!!samp.callNative("IsPlayerSpawned","i",e),Qi=e=>!!samp.callNative("IsPlayerControllable","i",e),qi=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),er=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),tr=e=>!!samp.callNative("GetPlayerGhostMode","i",e),ar=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),nr=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),ir=e=>!!samp.callNative("HidePlayerDialog","i",e),rr=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),sr=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),lr=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),or=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),dr=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),cr=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","isii",e,t,a,n),_r=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),hr=(e,t,a,n)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),ur=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),mr=e=>!!samp.callNative("IsPlayerNPC","i",e),De=(e,t,a,n)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,n),pr=(e,t,a,n)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),gr=e=>samp.callNative("GetPlayerPos","iFFF",e),Sr=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),yr=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},Ir=(e,t,a,n,i)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i),Pr=(e,t,a,n)=>!!samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),fr=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Ar=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Er=e=>samp.callNative("GetPlayerInterior","i",e),Cr=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Tr=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Dr=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Nr=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Lr=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),Rr=e=>samp.callNative("GetPlayerAmmo","i",e),br=e=>samp.callNative("GetPlayerWeaponState","i",e),vr=e=>samp.callNative("GetPlayerTargetPlayer","i",e),wr=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Or=e=>samp.callNative("GetPlayerTeam","i",e),Gr=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),Br=e=>samp.callNative("GetPlayerScore","i",e),Fr=e=>samp.callNative("GetPlayerDrunkLevel","i",e),kr=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Mr=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,y(t)),xr=e=>samp.callNative("GetPlayerColor","i",e),Hr=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Vr=e=>samp.callNative("GetPlayerSkin","i",e),Ur=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),Wr=e=>!!samp.callNative("ResetPlayerWeapons","i",e),Kr=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),Zr=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),jr=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),Xr=e=>!!samp.callNative("ResetPlayerMoney","i",e),Yr=e=>samp.callNative("GetPlayerMoney","i",e),zr=e=>samp.callNative("GetPlayerState","i",e),$r=e=>samp.callNative("GetPlayerPing","i",e),Jr=e=>samp.callNative("GetPlayerWeapon","i",e),Qr=e=>samp.callNative("GetPlayerKeys","iIII",e),qr=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),es=e=>samp.callNative("GetPlayerTime","iII",e),ts=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),as=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),ns=e=>!!samp.callNative("ForceClassSelection","i",e),is=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),rs=e=>samp.callNative("GetPlayerWantedLevel","i",e),ss=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),ls=e=>samp.callNative("GetPlayerFightingStyle","i",e),os=(e,t,a,n)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),ds=e=>samp.callNative("GetPlayerVelocity","iFFF",e),cs=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),_s=(e,t,a,n,i,r,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),hs=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),us=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),ms=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),ps=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),gs=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),Ss=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),ys=(e,t,a,n,i,r)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),Is=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Ps=(e,t,a,n,i)=>!!samp.callNative("SetPlayerChatBubble","isifi",e,t,y(a),n,i),fs=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),As=e=>samp.callNative("GetPlayerVehicleID","i",e),Es=e=>samp.callNative("GetPlayerVehicleSeat","i",e),Cs=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),Ts=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),Ds=(e,t,a,n,i)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),Ns=(e,t,a,n,i,r,s,l,d,c)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,l,d,c),Ls=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),Rs=e=>samp.callNative("GetPlayerAnimationIndex","i",e),bs=e=>samp.callNative("GetPlayerSpecialAction","i",e),vs=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),ws=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Os=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),Gs=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Bs=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),Fs=e=>samp.callNative("GetPlayerCustomSkin","i",e),ks=(e,t,a,n,i,r)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),Ms=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),xs=e=>!!samp.callNative("StopRecordingPlayerData","i",e),Hs=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),Vs=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),Us=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Ne=e=>!!samp.callNative("IsPlayerConnected","i",e),Ws=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),Ks=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),Zs=(e,t,a,n,i)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),js=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),Xs=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,y(a));function Ys(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const zs=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),$s=(e,t,a,n)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),Js=(e,t,a,n,i)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),Qs=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),qs=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),el=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),tl=e=>samp.callNative("GetPlayerCameraMode","i",e),al=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),nl=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),il=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),rl=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),sl=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),ll=(e,t,a,n,i,r,s,l,d)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,l,d),ol=(e,t,a,n,i,r,s,l,d)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,l,d),dl=e=>!!samp.callNative("IsPlayerCuffed","i",e),cl=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),_l=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),hl=()=>samp.callNative("StopRecordingPlayback",""),ul=()=>samp.callNative("PauseRecordingPlayback",""),ml=()=>samp.callNative("ResumeRecordingPlayback",""),pl=e=>samp.callNative("GetActorSkin","i",e),gl=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),Sl=e=>{const[t=0,a=0,n=0,i=0,r=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:i,fAngle:r}},yl=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:i,color1:r,color2:s}},Il=(e,t,a,n,i,r,s,l,d=-2,c=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,l,d,c),Pl=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","i",e);return{color1:t,color2:a}},fl=e=>samp.callNative("GetVehiclePaintjob","i",e),Al=e=>samp.callNative("GetVehicleInterior","i",e),El=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},Cl=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),Tl=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Dl=e=>samp.callNative("GetVehicleCab","i",e),Nl=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Ll=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Rl=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),bl=e=>!!samp.callNative("IsVehicleOccupied","i",e),vl=e=>samp.callNative("GetVehicleRespawnTick","i",e),wl=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Ol=e=>!!samp.callNative("IsVehicleDead","i",e),Gl=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Bl=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Fl=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),kl=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Ml=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),xl=e=>samp.callNative("GetVehicleModelCount","i",e),Hl=e=>samp.callNative("GetVehicleLastDriver","i",e),Vl=e=>samp.callNative("GetVehicleDriver","i",e),Ul=()=>samp.callNative("GetVehicleModelsUsed",""),Wl=e=>samp.callNative("GetVehicleSirenState","i",e),Kl=e=>samp.callNative("GetVehicleLandingGearState","i",e),Zl=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),jl=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Xl=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,l=0,d=0,c=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:l,atY:d,atZ:c}},Le=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},Yl=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),zl=(e,t,a,n,i,r,s,l,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,y(r),y(s),l,d),$l=e=>samp.callNative("DestroyVehicle","i",e),Jl=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),Ql=e=>{const t=samp.callNative("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},ql=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),eo=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},to=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),ao=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),no=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),io=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),ro=()=>samp.callNative("ManualVehicleEngineAndLights",""),so=(e,t,a,n,i,r,s,l)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,l),lo=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),oo=e=>samp.callNative("GetVehicleParamsSirenState","i",e),co=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),_o=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},ho=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),uo=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},mo=e=>samp.callNative("SetVehicleToRespawn","i",e),po=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),go=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),So=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),yo=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,y(t),y(a)),Io=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),Po=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),fo=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Ao=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Eo=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Co=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),To=e=>samp.callNative("GetVehicleTrailer","i",e),Do=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),No=e=>samp.callNative("GetVehicleModel","i",e),Lo=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Ro=e=>samp.callNative("GetVehicleComponentType","i",e),bo=e=>samp.callNative("RepairVehicle","i",e),vo=e=>samp.callNative("GetVehicleVelocity","iFFF",e),wo=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),Oo=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Go=e=>{const t=samp.callNative("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]}},Bo=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),Fo=(e,t)=>{const a=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);if(a.length<3)throw new Error("ModelID "+e+" not found");return{x:a[0],y:a[1],z:a[2]}},ko=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Mo=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Re=e=>!!samp.callNative("IsValidVehicle","i",e),xo=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,y(r),y(s)),Ho=(e,t,a,n,i,r,s,l,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,y(r),y(s),l,d),Vo=e=>!!samp.callNative("ShowVehicle","i",e),Uo=e=>!!samp.callNative("HideVehicle","i",e),Wo=e=>!!samp.callNative("IsVehicleHidden","i",e),Ko=e=>!!samp.callNative("IsPlayerInModShop","i",e),Zo=e=>samp.callNative("GetPlayerSirenState","i",e),jo=e=>samp.callNative("GetPlayerLandingGearState","i",e),Xo=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Yo=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),zo=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),be=e=>samp.callNative("GetVehicleMaxPassengers","i",e),$o=e=>samp.callNative("CountVehicleOccupants","i",e),Jo=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),Qo=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},qo=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),ed=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,l=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:i,fNextY:r,fNextZ:s,fSize:l}},td=e=>!!samp.callNative("IsMenuDisabled","i",e),ad=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),nd=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),id=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},rd=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},sd=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},ld=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},od=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),dd=e=>samp.callNative("DestroyMenu","i",e),cd=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),_d=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),hd=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),ud=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),md=e=>!!samp.callNative("IsValidMenu","i",e),pd=e=>samp.callNative("DisableMenu","i",e),gd=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Sd=e=>samp.callNative("GetPlayerMenu","i",e),yd=e=>!!samp.callNative("IsValidGangZone","i",e),Id=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Pd=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),fd=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Ad=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Ed=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Cd=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},Td=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Dd=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),Nd=e=>samp.callNative("GangZoneDestroy","i",e),Ld=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,y(a)),Rd=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,y(t)),bd=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),vd=e=>samp.callNative("GangZoneHideForAll","i",e),wd=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,y(a)),Od=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,y(t)),Gd=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Bd=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Fd=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),kd=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Md=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),xd=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Hd=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),Vd=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Ud=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),Wd=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),Kd=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),Zd=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),jd=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),Xd=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),Yd=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:i,fMaxY:r}},zd=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},$d=e=>!!samp.callNative("IsValidTextDraw","i",e),Jd=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),Qd=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},qd=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},ec=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},tc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},ac=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},nc=e=>samp.callNative("TextDrawGetColor","i",e),ic=e=>samp.callNative("TextDrawGetBoxColor","i",e),rc=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),sc=e=>samp.callNative("TextDrawGetShadow","i",e),lc=e=>samp.callNative("TextDrawGetOutline","i",e),oc=e=>samp.callNative("TextDrawGetFont","i",e),dc=e=>!!samp.callNative("TextDrawIsBox","i",e),cc=e=>!!samp.callNative("TextDrawIsProportional","i",e),_c=e=>!!samp.callNative("TextDrawIsSelectable","i",e),hc=e=>samp.callNative("TextDrawGetAlignment","i",e),uc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),mc=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},pc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},gc=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},Sc=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),yc=e=>samp.callNative("TextDrawDestroy","i",e),Ic=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),Pc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),fc=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Ac=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,y(t)),Ec=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Cc=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,y(t)),Tc=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Dc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Nc=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,y(t)),Lc=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Rc=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),bc=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),vc=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),wc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Oc=e=>samp.callNative("TextDrawShowForAll","i",e),Gc=e=>samp.callNative("TextDrawHideForAll","i",e),Bc=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),Fc=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),kc=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},Mc=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,y(t),y(a)),xc=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,y(t))},Hc=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Vc=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),Uc=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),Wc=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},Kc=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},Zc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},jc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},Xc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},Yc=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),zc=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),$c=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),Jc=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),Qc=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),qc=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),e_=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),t_=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),a_=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),n_=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),i_=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),r_=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:i,fZoom:r}},s_=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},l_=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),o_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},d_=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),c_=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),__=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),h_=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,y(a)),u_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),m_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,y(a)),p_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),g_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),S_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,y(a)),y_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),I_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),P_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),f_=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),A_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),E_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),C_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),T_=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),D_=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),N_=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),L_=e=>!!samp.callNative("BeginObjectSelecting","i",e),R_=e=>!!samp.callNative("EndObjectEditing","i",e),b_=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),v_=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),w_=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),O_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),G_=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},B_=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},F_=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,l=0,d=0,c=0,m=0,p=0,g=0,I=0,A=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:l,fRotY:d,fRotZ:c,fScaleX:m,fScaleY:p,fScaleZ:g,materialColor1:I,materialColor2:A}},k_=(e,t,a,n,i,r,s,l,d,c,m,p,g,I,A)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,l,d,c,m,p,g,y(I),y(A)),M_=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),x_=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),ve=e=>!!samp.callNative("IsValidCustomModel","i",e),H_=e=>{if(!ve(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var we=(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))(we||{}),Oe=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Oe||{}),ie=(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))(ie||{}),Ge=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Ge||{}),Be=(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))(Be||{}),C=(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))(C||{}),Fe=(e=>(e[e.NONE=0]="NONE",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))(Fe||{}),w=(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))(w||{}),ke=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(ke||{}),Me=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Me||{}),O=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(O||{}),xe=(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))(xe||{}),He=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(He||{}),Ve=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Ve||{}),Ue=(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))(Ue||{}),We=(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))(We||{}),te=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(te||{}),Ke=(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))(Ke||{}),ae=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ae||{}),X=(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))(X||{}),Ze=(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))(Ze||{}),je=(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))(je||{}),Xe=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(Xe||{}),re=(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))(re||{}),J=(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))(J||{}),Ye=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ye||{}),ze=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=-1]="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[e.FRONT_BULLBAR=14]="FRONT_BULLBAR",e[e.REAR_BULLBAR=15]="REAR_BULLBAR",e))(ze||{}),$e=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))($e||{}),Je=(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))(Je||{}),Qe=(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.FIST=0]="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))(Qe||{}),qe=(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))(qe||{}),et=(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))(et||{}),tt=(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))(tt||{}),se=(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))(se||{}),at=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(at||{});class G{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static recordStatus;static connectNPC=Qn;static startRecordingPlayerData(t,a,n){if(t.isRecording)return o.warn("[NpcFunc]: It should be stopped before recording");Ms(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return o.warn("[NpcFunc]: It should be started before stop");xs(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(G.recordStatus>=O.start)return o.warn("[NpcFunc]: The current status cannot be replayed");_l(t,a),G.recordStatus=O.start}static stopRecordingPlayback(){if(G.recordStatus<O.start)return o.warn("[NpcFunc]: The current status cannot be stopped");hl(),G.recordStatus=O.none}static pauseRecordingPlayback(){if(G.recordStatus!==O.start)return o.warn("[NpcFunc]: The current status cannot be paused");ul(),G.recordStatus=O.pause}static resumeRecordingPlayback(){if(G.recordStatus!==O.pause)return o.warn("[NpcFunc]: The current status cannot be paused");ml(),G.recordStatus=O.start}}const nt=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}]]]),le=e=>{const t=nt.get(e);return t===void 0?!1:t},it=(e,t)=>{const a=le(e);if(a)return t==="null"?!0:a.some(n=>n.n===t)},rt=(e,t)=>{const a=le(e);if(a)return a.find(n=>n.n===t)?.d},V=(e,t)=>{const a=t.replace("-","")==="utf8"?e:P.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},st=(e,t,a)=>{const n=V(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,y(t),n[1])},V_=(e,t,a)=>(e.forEach(n=>st(n,t,a)),1),lt=(e,t,a)=>{const n=V(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},U_=(e,t,a)=>(e.forEach(n=>{lt(n,t,a)}),1),W_=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:s,button1:l,button2:d}=a,[c,m]=V(r||"",n),[,p]=V(s||"",n),[,g]=V(l||"",n),[,I]=V(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${c.repeat(4)}`,e.id,t,i,m,p,g,I)},K_=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,w.MAX_PLAYER_NAME);return P.decodeFromBuf(P.getValidStr(t),e.charset)},Z_=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,P.encodeToBuf(t,e.charset)),j_=(e,t,a)=>{const n=P.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},X_=(e,t="utf8")=>{const[a,n]=V(e,t);return samp.callNative("SendRconCommand",a,n)},Y_=(e,t,a,n,i,r,s,l,d,c,m,p,g,I,A,b)=>{const M=P.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",M,a,n,i,r,s,l,d,c,m,p,g,I,A,b)},z_=(e,t,a,n,i,r,s,l,d,c,m,p,g,I,A,b)=>{const M=P.encodeToBuf(e,b);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",M,t,a,n,i,r,s,l,d,c,m,p,g,I,A,m.length,p.length,g.length,I.length)},$_=(e,t,a,n)=>{const i=P.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},J_=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return P.decodeFromBuf(P.getValidStr(a),t)},Q_=(e,t,a,n,i,r,s,l,d,c,m)=>{const p=P.encodeToBuf(n,e),g=P.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,p,i,g,s,l,d,c,m)},q_=(e,t,a)=>{const[n,i,r,s,l,d,c]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),m=P.decodeFromBuf(n,a),p=P.decodeFromBuf(r,a);return{text:m,materialSize:i,fontFace:p,bold:s,fontColor:l,backColor:d,textAlignment:c}},[ot]=_({name:"OnGameModeInit"}),[dt]=_({name:"OnGameModeExit"}),[eh]=_({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[th]=_({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:P.decodeFromBuf(e)}}}),[ah]=_({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:P.decodeFromBuf(e),password:P.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),U=[],Y=[],oe=new Map,de=async e=>{try{return await new Promise((t,a)=>{const n=U.findIndex(l=>l.name===e);if(n===-1)return;const i=U[n];function r(l){l.length&&oe.set(e,l),U.splice(n,1),Y.push(i),setTimeout(t)}const s=i.load();s instanceof Promise?s.then(r).catch(a):r(s)})}catch(t){o.error(`[GameMode]: script ${e} load fail`),o.warn(t)}},ce=async e=>{try{return await new Promise((t,a)=>{const n=Y.findIndex(d=>d.name===e);if(n===-1)return;const i=Y[n],r=oe.get(e);r&&(r.forEach(d=>d()),oe.delete(e));function s(){Y.splice(n,1),U.push(i),setTimeout(t)}const l=i.unload();l instanceof Promise?l.then(s).catch(a):s()})}catch(t){o.error(`[GameMode]: script ${e} unload fail`),o.warn(t)}},nh=async e=>{await ce(e),await de(e)};ot(async({next:e})=>{const t=U.map(a=>a.name);for(const a of t)await de(a);return e()}),dt(async({next:e})=>{const t=Y.map(a=>a.name);for(const a of t)await ce(a);return e()});const ih=function(e,...t){if(U.some(a=>a.name===e.name)||Y.some(a=>a.name===e.name)){o.warn(`[GameMode]: script ${e.name} has already been applied`);return}e.load=e.load.bind(e,...t),U.push(e)};class L{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=ot;static onExit=dt;static onIncomingConnection=eh;static onRconCommand=th;static onRconLoginAttempt=ah;static use(t,...a){return ih(t,...a),this}static loadUseScript=de;static reloadUseScript=nh;static unloadUseScript=ce;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){return t<0||t>255?(o.error("[GameMode]: The valid weather value is only 0 to 255"),0):Vn(t)}static setWorldTime(t){return t<0||t>23?(o.error("[GameMode]: The valid hour value is only 0 to 23"),0):Mn(t)}static getWorldTime=xn;static setTeamCount=oi;static sendRconCommand=X_;static addPlayerClass=di;static addPlayerClassEx=ci;static createExplosion(t,a,n,i,r){return i<0||i>13?(o.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Kn(t,a,n,i,r)}static manualVehicleEngineAndLights=ro;static blockIpAddress=Ri;static unBlockIpAddress=bi;static getServerTickRate=qn;static addSimpleModel(t,a,n,i,r){return this.checkSimpleModel(t,a,n,i,r)?v_(t,a,n,i,r):0}static addSimpleModelTimed(t,a,n,i,r,s,l){return this.checkSimpleModel(t,a,n,i,r,s,l)?w_(t,a,n,i,r,s,l):0}static checkSimpleModel(t,a,n,i,r,s,l){return t<-1?(o.error("[GameMode]: AddSimpleModel - Error virtual world"),0):a<0?(o.error("[GameMode]: AddSimpleModel - Error baseId"),0):n>-1e3||n<-3e4?(o.error("[GameMode]: AddSimpleModel - Error newId range"),0):i.trim().length<0?(o.error("[GameMode]: AddSimpleModel - Empty dffName"),0):r.trim().length<0?(o.error("[GameMode]: AddSimpleModel - Empty txdName"),0):s!==void 0&&(s<0||s>23)?(o.error("[GameMode]: AddSimpleModel - Error time on range"),0):l!==void 0&&(l<0||l>23)?(o.error("[GameMode]: AddSimpleModel - Error time off range"),0):1}static isValidCustomModel=ve;static getCustomModePath=H_;static getConsoleVarAsString(t,a="utf8"){const n=An(t);return P.decodeFromBuf(P.getValidStr(n),a)}static getRestartTime=Rn;static setRestartTime=Ln;static allowAdminTeleport=gn;static isAdminTeleportAllowed=Sn;static allowInteriorWeapons=yn;static areInteriorWeaponsAllowed=In;static areAllAnimationsEnabled=Pn;static enableAllAnimations=fn;static enableStuntBonusForAll=ti;static enableVehicleFriendlyFire=Hn;static enableZoneNames=Zn;static disableInteriorEnterExits=Xn;static setGameModeText=Bn;static getGravity=Un;static setGravity=Wn;static showNameTags=Fn;static disableNameTagLOS=zn;static usePlayerPedAnims=jn;static showPlayerMarkers=kn;static limitPlayerMarkerRadius=Jn;static limitGlobalChatRadius=$n;static setNameTagDrawDistance=Yn;static findModelFileNameFromCRC=G_;static findTextureFileNameFromCRC=B_;static getWeaponName=ri;static setObjectsDefaultCameraCollision=b_;static vectorSize=Gn;static clearBanList=Oi;static isBanned=Gi;static isValidNickName=dn;static allowNickNameCharacter=cn;static isNickNameCharacterAllowed=_n;static addServerRule=hn;static setServerRule=un;static isValidServerRule=mn;static removeServerRule=pn;static getWeaponSlot=ii;static getAvailableClasses=Te;static getPlayerClass=si;static editPlayerClass=li;static toggleChatTextReplacement=ai;static chatTextReplacementToggled=ni;static getConsoleVarAsInt=En;static getConsoleVarAsBool=Cn;static getWeather=Tn;static getServerRuleFlag=Dn;static setServerRuleFlags=Nn}const[ct]=_({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:u.getInstance(e),actionId:t,memAddr:a,data:n}}}),[rh,sh]=_({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[lh,oh]=_({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class u{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;get charset(){return this._charset}set charset(t){const a=this._charset;this._charset=t,oh(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,sh(this,t,a)}sendClientMessage(t,a){return st(this,t,a)}static sendClientMessageToAll(t,a){V_(u.getInstances(),t,a)}sendMessageToPlayer(t,a){return lt(t,this.id,a)}sendMessageToAll(t){return U_(u.getInstances(),this.id,t)}isNpc(){return mr(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Fr(this.id)}setDrunkLevel(t){return t<0||t>5e4?(o.error(new Error("[Player]: player's drunk level ranges from 0 to 50000")),!1):kr(this.id,t)}allowTeleport(t){return sr(this.id,t)}isTeleportAllowed(){return lr(this.id)}enableCameraTarget(t){return al(this.id,t)}enableStuntBonus(t){return Bs(this.id,t)}getInterior(){return Er(this.id)}setInterior(t){return Ar(this.id,t)}showNameTag(t,a){return zs(this.id,t.id,a)}setColor(t){return Mr(this.id,t)}getColor(){return xr(this.id)}setMarker(t,a){Xs(this.id,t.id,a)}getMarker(t){return Ys(this.id,t.id)}resetMoney(){return Xr(this.id)}getMoney(){return Yr(this.id)}giveMoney(t){return jr(this.id,t)}resetWeapons(){return Wr(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):hi(this.id)}setHealth(t){return Cr(this.id,t)}getHealth(){return Tr(this.id)}toggleClock(t){return ts(this.id,t)}toggleControllable(t){return Ts(this.id,t)}toggleSpectating(t){return Hs(this.id,t)}spectatePlayer(t,a=ae.NORMAL){return Vs(this.id,t.id,a)}spectateVehicle(t,a=ae.NORMAL){return Us(this.id,t.id,a)}forceClassSelection(){return ns(this.id)}kick(){return Ti(this.id)}ban(){return Di(this.id)}banEx(t,a){return j_(this.id,t,a)}isAdmin(){return Ei(this.id)}isInRangeOfPoint(t,a,n,i){return Ir(this.id,t,a,n,i)}isStreamedIn(t){return fr(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===re.DUCK?!1:Hr(this.id,t)}getSkin(){return Vr(this.id)}isInAnyVehicle(){return Ks(this.id)}getSpecialAction(){return bs(this.id)}setSpecialAction(t){return vs(this.id,t)}setScore(t){return Gr(this.id,t)}getScore(){return Br(this.id)}getPing(){return $r(this.id)||0}setPos(t,a,n){return De(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===X.NONE)return;const[t,a,n]=gr(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===X.SPECTATING}isWasted(){return this.getState()===X.WASTED}getState(){return zr(this.id)}getVersion(){return this.isNpc()?"":ki(this.id)}setVirtualWorld(t){return Os(this.id,t)}getVirtualWorld(){return Gs(this.id)}removeFromVehicle(){return Cs(this.id)}setWantedLevel(t){return t<0||t>6?(o.error("[Player]: player's wanted level ranges from 0 to 6"),!1):is(this.id,t)}getWantedLevel(){return rs(this.id)}setFacingAngle(t){return Sr(this.id,t)}getFacingAngle(){return yr(this.id)}setWeather(t){return t<0||t>255?(o.warn("[Player]: The valid weather value is only 0 to 255"),!1):as(this.id,t)}getWeather(){return Vi(this.id)}setTime(t,a){return t<0||t>23?(o.warn("[Player]: The valid hour value is only 0 to 23"),!1):a<0||a>59?(o.warn("[Player]: The valid minute value is only 0 to 59"),!1):qr(this.id,t,a)}getTime(){const[t,a]=es(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){return ys(this.id,t,a,n,i,r)}setTeam(t){t<0||t>C.NO_TEAM||wr(this.id,t)}getTeam(){return Or(this.id)}setSkillLevel(t,a){return a<0||a>999?(o.warn("[Player]: The valid skill level is only 0 to 999"),!1):ms(this.id,t,a)}getName(){return K_(this)}setName(t){return Z_(this,t)}setVelocity(t,a,n){return os(this.id,t,a,n)}getVelocity(){const[t,a,n]=ds(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return L.vectorSize(a,n,i)*t}getKeys(){const[t,a,n]=Qr(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return Fi(this.id)}getFightingStyle(){return ls(this.id)}setFightingStyle(t){return ss(this.id,t)}setArmour(t){return Dr(this.id,t)}getArmour(){return Nr(this.id)}setCameraBehind(){return Qs(this.id)}setCameraPos(t,a,n){return $s(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return Js(this.id,t,a,n,i)}getCameraAspectRatio(){return rl(this.id)}getCameraFrontVector(){const[t,a,n]=el(this.id);return{x:t,y:a,z:n}}getCameraMode(){return tl(this.id)}getCameraPos(){const[t,a,n]=qs(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=il(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=nl(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return sl(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),_s(this.id,t,a,n,i,r,s)}stopAudioStream(){return hs(this.id)}playSound(t,a=0,n=0,i=0){return Ds(this.id,t,a,n,i)}static getMaxPlayers(){return On()}playCrimeReport(t,a){return a<3||a>22?(o.warn("[Player]: Available crime ids range from 3 to 22"),!1):cs(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,l,d=te.CUT){return ll(this.id,t,a,n,i,r,s,l,d)}interpolateCameraLookAt(t,a,n,i,r,s,l,d=te.CUT){return ol(this.id,t,a,n,i,r,s,l,d)}createExplosion(t,a,n,i,r){return i<0||i>13?(o.error("[Player]: The valid explosion type value is only 0 to 13"),!1):ks(this.id,t,a,n,i,r)}static isConnected(t){return Ne(t)}isConnected(){return Ne(this.id)}disableRemoteVehicleCollisions(t){return ws(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=As(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return Es(this.id)}getSurfingVehicle(t){const a=ps(this.id);if(a!==C.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=4.1,i=!1,r=!0,s=!0,l=!1,d=0,c=!1){return it(t,a)?Ns(this.id,t,a,n,i,r,s,l,d,+c):(o.error("[Player]: Invalid anim library or name"),!1)}clearAnimations(t=!1){return Ls(this.id,t)}getAnimationIndex(){return Rs(this.id)}getAnimationName(){const[t,a]=ei(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){return us(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{De(this.id,t,a,n),setTimeout(()=>i(pr(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){return Zs(this.id,t,a,n,i)}clearWorldBounds(){return js(this.id)}setChatBubble(t,a,n,i){return Ps(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return Pr(this.id,t,a,n)}getCustomSkin(){return Fs(this.id)}getTargetPlayer(t){const a=vr(this.id);if(a!==C.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,s]=Is(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return Jr(this.id)}getWeaponData(t){if(t<0||t>12){o.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=Zr(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return br(this.id)}giveWeapon(t,a){return Ur(this.id,t,a)}setAmmo(t,a){return Lr(this.id,t,a)}getAmmo(){return Rr(this.id)}setArmedWeapon(t){return Kr(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,se.CONNECT)}sendDeathMessage(t,a){return wn(t===C.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){return hr(this.id,t===C.PLAYER_ID?t:t.id,a===C.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,l,d,c,m,p,g){return t<0||t>C.NO_TEAM||a<0||a>311||a==74||d<0||m<0||g<0?!1:_i(this.id,t,a,n,i,r,s,l,d,c,m,p,g)}redirectDownload(t){return O_(this.id,t)}sendClientCheck(t,a,n,i){const r=[2,5,69,70,71,72];return r.includes(t)?new Promise((s,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const d="[Player]: An attempt to check the player client response timed out",c=this.getPing(),m=(c>=200?0:c)+200;let p=null;const g=ct(({player:I,actionId:A,memAddr:b,data:M,next:q})=>{if(I!==this)return q();p?(clearTimeout(p),p=null,l(d)):s({actionId:A,memAddr:b,data:M});const St=q();return g(),St});p=setTimeout(()=>{g(),l(d)},m),wi(this.id,t,a,n,i)}):o.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){xc(this.id,t)}cancelSelectTextDraw(){Hc(this.id)}beginObjectSelecting(){return L_(this.id)}endObjectEditing(){return R_(this.id)}getSurfingObject(t){const a=gs(this.id);if(a!==C.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=Ss(this.id);if(a!==C.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return x_(this.id,t)}editAttachedObject(t){return N_(this.id,t)}setAttachedObject(t,a,n,i=0,r=0,s=0,l=0,d=0,c=0,m=1,p=1,g=1,I=0,A=0){return this.isAttachedObjectSlotUsed(t)?0:k_(this.id,t,a,n,i,r,s,l,d,c,m,p,g,I,A)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?M_(this.id,t):0}getAnimationFlags(){return samp.callNative("GetPlayerAnimationFlags","i",this.id)}getLastSyncedTrailerID(){return samp.callNative("GetPlayerLastSyncedTrailerID","i",this.id)}getLastSyncedVehicleID(){return samp.callNative("GetPlayerLastSyncedVehicleID","i",this.id)}toggleWidescreen(t){return Mi(this.id,t)}isWidescreenToggled(){return xi(this.id)}getSpawnInfo(){return ui(this.id)}getSkillLevel(t){return Hi(this.id,t)}isCheckpointActive(){return Jo(this.id)}getCheckpoint(){return Qo(this.id)}isRaceCheckpointActive(){return qo(this.id)}getRaceCheckpoint(){return ed(this.id)}getWorldBounds(){Ui(this.id)}isInModShop(){return Ko(this.id)}getSirenState(){return Zo(this.id)}getLandingGearState(){return jo(this.id)}getHydraReactorAngle(){return Xo(this.id)}getTrainSpeed(){return Yo(this.id)}getZAim(){return Wi(this.id)}getSurfingOffsets(){return Ki(this.id)}getRotationQuat(){return Zi(this.id)}getDialogID(){return ji(this.id)}getSpectateID(){return Xi(this.id)}getSpectateType(){return Yi(this.id)}getRawIp(){return Bi(this.id)}setGravity(t){return zi(this.id,t)}getGravity(){return $i(this.id)}setAdmin(t){return Ci(this.id,t)}isSpawned(){return Ji(this.id)}isControllable(){return Qi(this.id)}isCameraTargetEnabled(){return qi(this.id)}toggleGhostMode(t){return er(this.id,t)}getGhostMode(){return tr(this.id)}getBuildingsRemoved(){return ar(this.id)}getAttachedObject(t){return F_(this.id,t)}removeWeapon(t){return nr(this.id,t)}isUsingOfficialClient(){return rr(this.id)}allowWeapons(t){return or(this.id,t)}areWeaponsAllowed(){return dr(this.id)}gpci(t=this.charset){return vi(this.id,t)}isCuffed(){return dl(this.id)}isInDriveByMode(){return cl(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[_t]=_({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});_t(({next:e,player:t,dialogId:a,response:n,listItem:i,buffer:r})=>{const s=D.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:i,buffer:r})),e()});class D{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new Map;constructor(t={style:ie.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,a=!1){const n=D.waitingQueue.get(t);if(!n)return!1;a&&n.reject("[Dialog]: player timeout does not respond or second request show dialog"),D.waitingQueue.delete(t);const i=D.showingIds.indexOf(n.showId);return i>-1&&D.showingIds.splice(i,1),!0}show(t){return new Promise((a,n)=>{for(D.close(t);(this.id===-1||D.showingIds.includes(this.id))&&D.showingIds.length!==D.maxDialogId;)this.id=Math.floor(Math.random()*(D.maxDialogId+1));if(this.id===-1){n("[Dialog]: The maximum number of dialogs is reached");return}D.showingIds.push(this.id),D.waitingQueue.set(t,{resolve:a,reject:n,showId:this.id}),W_(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=P.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:i,inputText:r})}).catch(a=>Promise.reject(a)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),ir(t.id)}}const[ht]=_({name:"OnPlayerConnect",beforeEach(e){const t=new u(e);return u.players.set(e,t),D.close(t),{player:t}}}),[ut]=_({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:u.players.get(e),reason:t}},afterEach({player:e}){u.players.delete(e.id)}}),[mt]=_({name:"OnPlayerUpdate",beforeEach(e){return{player:u.getInstance(e)}}}),[dh]=_({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e);return{player:a,text:P.decodeFromBuf(t,a.charset),buffer:t}}}),[ch]=_({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:u.getInstance(e),enterExit:!!t,interior:a}}}),[_h]=_({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:u.getInstance(e),fX:t,fY:a,fZ:n}}}),[hh]=_({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:u.getInstance(e),clickedPlayer:u.getInstance(t),source:a}}}),[uh]=_({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:u.getInstance(e),killer:u.getInstance(t)||C.PLAYER_ID,reason:a}}}),[mh]=_({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[ph]=_({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newKeys:t,oldKeys:a}}}),[gh]=_({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:u.getInstance(e),classId:t}}}),[Sh]=_({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[yh]=_({name:"OnPlayerSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[Ih]=_({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newState:t,oldState:a}}}),[Ph]=_({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[fh]=_({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[Ah]=_({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t)||C.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[Eh]=_({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:u.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Ch]=_({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:u.getInstance(e),type:t,crc:a}}}),[Th]=_({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:u.getInstance(e),virtualWorld:t}}});let Q=null;const[Dh,Nh]=_({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Lh,Rh]=_({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[bh,vh]=_({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}});ht(({next:e})=>(!Q&&u.getInstances().length&&(Q=setInterval(()=>{u.getInstances().filter(t=>{const a=t.getState()!==X.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,Nh(t,t.lastUpdateTick))})},500)),e())),ut(({next:e})=>(Q&&u.getInstances().length<=1&&(clearInterval(Q),Q=null),e()));function wh(e){if(!u.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const a=e.getDrunkLevel();if(a<100){e.setDrunkLevel(2e3),e.lastDrunkLevel=2e3,e.lastFps=0;return}e.lastUpdateFpsTick=t;const n=e.lastFps,i=e.lastDrunkLevel-a-1;e.lastFps=i,e.lastDrunkLevel=a,vh(e,i,n)}}mt(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Rh(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,wh(e)}return t()});const z=new Map,pt=/[^/\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"}},[Oh,Gh]=_({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Bh,Fh]=_({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[kh,he]=_({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[Mh]=_({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:u.getInstance(e),buffer:t}}});function xh(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Mh(({player:e,buffer:t,next:a})=>{const n=P.decodeFromBuf(t,e.charset).match(pt),i=xh(n).find(m=>z.get(m)),r=n.join(" ");if(!i)return he(e,r,_e.NOT_EXIST);const s=Gh(e,r);if(!s)return s;const l=z.get(i),[,d]=l,c=r.replace(i,"").trim().split(" ");return d(e,c)?Fh(e,r)?a():he(e,r,_e.PERFORMED):he(e,r,_e.REJECTED)});function Hh(e,t){return{player:e,subcommand:t}}const gt={on(e,t){const a=Array.isArray(e)?e:[e],n=a.find(r=>!r.match(pt));if(n)return console.log(`error command ${n} format`),()=>{};const i=a.map(r=>{const s=r.replaceAll("/","");if(!z.has(s)){const d=_({name:s,isNative:!1,beforeEach:Hh});z.set(s,d)}const[l]=z.get(s);return l(t)});return()=>{i.forEach(r=>r())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{z.has(t)&&Ce(t)})}},ue=Object.freeze({onConnect:ht,onDisconnect:ut,onPause:Dh,onResume:Lh,onUpdate:mt,onText:dh,onEnterExitModShop:ch,onClickMap:_h,onClickPlayer:hh,onDeath:uh,onGiveDamage:mh,onKeyStateChange:ph,onRequestClass:gh,onRequestSpawn:Sh,onSpawn:yh,onStateChange:Ih,onStreamIn:Ph,onStreamOut:fh,onTakeDamage:Ah,onInteriorChange:Eh,onRequestDownload:Ch,onFinishedDownloading:Th,onCheckResponse:ct,onCommandReceived:Oh,onCommandPerformed:Bh,onCommandError:kh,onCommandText:gt.on,offCommandText:gt.off,onDialogResponse:_t,onLocaleChange:rh,onCharsetChange:lh,onFpsUpdate:bh}),Vh=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Uh=[[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],[],[],[],[],[],[],[],[]],Wh=(e,t)=>{if(!me(e))return o.error("[vehicleUtils]: Invalid model id"),!1;const a=Uh[e-400];if(a===null)return!1;const n=t-1e3;return Vh.includes(n)||a.includes(n)},me=e=>e>=400&&e<=611,Kh=(e,t)=>{if(t<0||t>2)return!1;const a=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 a===void 0?!1:t<=a};class f{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,a=!1){this.sourceInfo=t,this.isStatic=a}create(t=!1){if(this.id!==-1)return o.warn("[Vehicle]: Unable to create the vehicle again");if(f.createdCount===w.MAX_VEHICLES)return o.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:i,z:r,zAngle:s,color:l,respawnDelay:d,addSiren:c}=this.sourceInfo;if(!(!t&&!me(a))){if(this.isStatic){if(d===void 0){this._id=xo(a,n,i,r,s,l[0],l[1]);return}this._id=Ho(a,n,i,r,s,l[0],l[1],d||-1,c||!1)}else this._id=zl(a,n,i,r,s,l[0],l[1],d||-1,c||!1);f.createdCount++,f.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return o.warn("[Vehicle]: Unable to destroy the vehicle before create");$l(this.id),f.createdCount--,f.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:Wh(this.getModel(),t)?go(this.id,t):(o.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(f.getComponentType(t))===0?(o.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):So(this.id,t)}getComponentInSlot(t){return Lo(this.id,t)}linkToInterior(t){return this.id===-1?0:po(this.id,t)}setVirtualWorld(t){return this.id===-1?0:ko(this.id,t)}getVirtualWorld(){return this.id===-1?0:Mo(this.id)}repair(){return this.id===-1?0:bo(this.id)}setPos(t,a,n){return this.id===-1?0:ql(this.id,t,a,n)}getPos(){if(this.id!==-1)return Ql(this.id)}getHealth(){return this.id===-1?0:fo(this.id)}setHealth(t){return this.id===-1?0:Po(this.id,t)}isPlayerIn(t){return this.id===-1?!1:Ws(t.id,this.id)}putPlayerIn(t,a){return this.id===-1||a<0?0:(a>4&&o.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),fs(t.id,this.id,a))}getZAngle(){return this.id===-1?0:eo(this.id)}setZAngle(t){return this.id===-1?0:no(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(o.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?Do(this.id,t):(o.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:yo(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:wo(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=vo(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return L.vectorSize(a,n,i)*t}setAngularVelocity(t,a,n){return this.id===-1?0:Oo(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Go(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Bo(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return ao(this.id,t,a,n)}getModel(){return No(this.id)}static getModelInfo(t,a){return Fo(t,a)}getModelInfo(t){if(this.id!==-1)return f.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=to(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:mo(this.id)}isStreamedIn(t){return this.id===-1?!1:Jl(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:co(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:ho(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return _o(this.id)}getParamsCarWindows(){if(this.id!==-1)return uo(this.id)}setParamsEx(t,a,n,i,r,s,l){return this.id===-1?0:so(this.id,t,a,n,i,r,s,l)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,s,l]=lo(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:l}}getParamsSirenState(){return this.id===-1?-2:oo(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:io(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:Co(this.id)}changePaintjob(t){return this.id===-1||!Kh(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),Io(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Ao(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Eo(this.id)}getTrailer(){if(this.id!==-1)return f.getInstances().find(t=>t.id===To(this.id))}isValid(){return Re(this.id)}getMatrix(){if(this.id!==-1)return Xl(this.id)}getTrainSpeed(){return this.id===-1?0:jl(this.id)}getHydraReactorAngle(){return this.id===-1?0:Zl(this.id)}getLandingGearState(){return this.id===-1?0:Kl(this.id)}getSirenState(){return this.id===-1?0:Wl(this.id)}getDriver(t){if(this.id!==-1)return t.get(Vl(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(Hl(this.id))}isSirenEnabled(){return Ml(this.id)}toggleSirenEnabled(t){return this.id===-1?0:Fl(this.id,t)}setParamsSirenState(t){return this.id===-1?0:kl(this.id,t)}isDead(){return this.id===-1?!0:Ol(this.id)}setDead(t){return this.id===-1?!1:Gl(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Bl(this.id,t)}getRespawnTick(){return this.id===-1?0:vl(this.id)}setRespawnTick(t){return this.id===-1?!1:wl(this.id,t)}isOccupied(){return this.id===-1?!1:bl(this.id)}hasBeenOccupied(){return this.id===-1?!1:Rl(this.id)}getOccupiedTick(){return this.id===-1?0:Nl(this.id)}setOccupiedTick(t){return this.id===-1?0:Ll(this.id,t)}getCab(){return this.id===-1?0:Dl(this.id)}getRespawnDelay(){return this.id===-1?0:Tl(this.id)}setRespawnDelay(t){return this.id===-1?0:Cl(this.id,t)}getNumberPlate(){return this.id===-1?"":El(this.id)}getInterior(){return this.id===-1?0:Al(this.id)}getPaintjob(){return this.id===-1?-1:fl(this.id)}getColors(){if(this.id!==-1)return Pl(this.id)}setSpawnInfo(t,a,n,i,r,s,l,d=-2,c=-2,m=!1){return this.id===-1||!m&&!me(t)?0:Il(this.id,t,a,n,i,r,y(s),y(l),d,c)}getSpawnInfo(){if(this.id!==-1)return yl(this.id)}getRandomColorPair(){if(this.id!==-1)return Le(this.getModel())}show(){return this.id===-1?!1:Vo(this.id)}hide(){return this.id===-1?!1:Uo(this.id)}isHidden(){return this.id===-1?!1:Wo(this.id)}getVehicleOccupant(t){return zo(this.id,t)}getVehicleMaxPassengers(){return be(this.getModel())}countVehicleOccupants(){return $o(this.getModel())}static getVehicleMaxPassengers=be;static getRandomColorPair=Le;static getComponentType=Ro;static colorIndexToColor=Yl;static isValid=Re;static getModelsUsed=Ul;static getModelCount=xl;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}L.onExit(({next:e})=>(f.getInstances().forEach(t=>t.destroy()),e()));const[Zh]=_({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:f.getInstance(e),player:u.getInstance(t)}}}),[jh]=_({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:f.getInstance(e),killer:u.getInstance(t)}}}),[Xh]=_({name:"OnVehicleMod",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:f.getInstance(t),componentId:a}}}),[Yh]=_({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:f.getInstance(t),paintjobId:a}}}),[zh]=_({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:u.getInstance(e),vehicle:f.getInstance(t),color:[a,n]}}}),[$h]=_({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:f.getInstance(t),state:!!a}}}),[Jh]=_({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:f.getInstance(e)}}}),[Qh]=_({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:f.getInstance(e),forPlayer:u.getInstance(t)}}}),[qh]=_({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:f.getInstance(e),forPlayer:u.getInstance(t)}}}),[eu]=_({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:f.getInstance(t),isPassenger:!!a}}}),[tu]=_({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:u.getInstance(e),vehicle:f.getInstance(t)}}}),[au]=_({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:f.getInstance(e),seatId:t}}}),[nu]=_({name:"OnNpcExitVehicle"}),[iu]=_({name:"OnTrailerUpdate",beforeEach(e,t){return{player:u.getInstance(e),vehicle:f.getInstance(t)}}}),ru=Object.freeze({onDamageStatusUpdate:Zh,onDeath:jh,onMod:Xh,onPaintjob:Yh,onRespray:zh,onSirenStateChange:$h,onSpawn:Jh,onStreamIn:Qh,onStreamOut:qh,onPlayerEnter:eu,onPlayerExit:tu,onNpcEnter:au,onNpcExit:nu,onTrailerUpdate:iu});class su{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return Li()}static getPlayerNetworkStats(t){return Ni(t.id)}static getBytesReceived(t){return gi(t.id)}static getBytesSent(t){return yi(t.id)}static getConnectionStatus(t){return fi(t.id)}static getConnectedTime(t){return mi(t.id)}static getIpPort(t){return Ai(t.id)}static getMessagesReceived(t){return pi(t.id)}static getMessagesRecvPerSecond(t){return Ii(t.id)}static getMessagesSent(t){return Si(t.id)}static getPacketLossPercent(t){return Pi(t.id)}}class lu{_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,a,n){this._text=t,this._time=a,this._style=n}static hideForAll(t){vn(t)}static has(t,a){return _r(t.id,a)}forAll(){bn(this.text,this.time,this.style)}forPlayer(t){cr(t.id,this.text,this.time,this.style)}hideForPlayer(t){return ur(t.id,this.style)}}class j{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){o.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,a,n,i,r,s){this._title=t,this.columns=a,this._x=n,this._y=i,this._col1width=r,this._col2width=s}create(){return this._id!==-1?o.error("[Menu]: Cannot be created twice"):j.getInstances().length===w.MAX_MENUS?o.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=od(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),j.menus.set(this._id,this),this)}destroy(){return this._id===-1?o.error("[Menu]: Cannot destroy before create"):(dd(this.id),j.menus.delete(this._id),this._id=-1,this)}addItem(t,a){return this._id===-1?o.error("[Menu]: Cannot addItem before create"):this._itemCount===w.MAX_MENU_ROW?o.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?o.error("[Menu]: Wrong number of columns"):(cd(this.id,t,a),this._itemCount++,this)}setColumnHeader(t,a){return this._id===-1?o.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?o.error("[Menu]: Wrong number of columns"):(_d(this.id,t,a),this)}disable(){return this._id===-1?o.error("[Menu]: Cannot disable menu before create"):(pd(this.id),this)}disableRow(t){if(this._id===-1)return o.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return o.error("[Menu]: Wrong number of rows");gd(this.id,t)}isValid(){return md(this.id)}showForPlayer(t){return this._id===-1?o.error("[Menu]: Cannot show menu before create"):hd(this.id,t.id)}hideForPlayer(t){return this._id===-1?o.error("[Menu]: Cannot hide menu before create"):ud(this.id,t.id)}isDisabled(){return this._id===-1?!1:td(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:ad(this.id,t)}getItems(t){return this._id===-1?0:nd(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:id(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:rd(this.id)}getColumnHeader(t){return this._id===-1?o.error("[Menu]: Cannot get column header before create"):sd(this.id,t)}getItem(t,a){if(this._id===-1)return o.error("[Menu]: Cannot get item before create");if(!(a<0||a>this.getItems(t)-1))return ld(this.id,t,a)}static getInstance(t){return this.menus.get(t)}static getInstances(){return[...this.menus.values()]}static getInstanceByPlayer(t){return this.getInstances().find(a=>a.id===Sd(t.id))}}L.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),e()));const[ou]=_({name:"OnPlayerExitedMenu",beforeEach(e){return{player:u.getInstance(e)}}}),[du]=_({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=u.getInstance(e),n=j.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),cu=Object.freeze({onPlayerExited:ou,onPlayerSelectedRow:du});class N{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 o.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(N.getInstances(!1).length===w.MAX_GANG_ZONES)return o.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=Fd(t.id,a,n,i,r);const s=ue.onDisconnect(({player:l,next:d})=>{d(),l===this.sourceInfo.player&&(this.destroy(),s())});N.playerGangZones.set(this.id,this)}else{if(N.getInstances(!0).length===w.MAX_GANG_ZONES)return o.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=Dd(a,n,i,r),N.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)return o.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(kd(t.id,this.id),N.playerGangZones.delete(this.id)):(Nd(this.id),N.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){return this.id===-1?(o.warn("[GangZone]: Unable to show the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be show for all."),this):(Rd(this.id,t),this)}showForPlayer(t,a){if(this.id===-1)return o.warn("[GangZone]: Unable to show the gangzone before create"),this;const n=this.sourceInfo.player;if(n)Md(n.id,this.id,y(t));else if(a)Ld(a.id,this.id,t);else return o.warn("[GangZone]: invalid player for show"),this;return this}hideForAll(){return this.id===-1?(o.warn("[GangZone]: Unable to hide the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be hide for all."),this):(vd(this.id),this)}hideForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to hide the gangzone before create"),this;const a=this.sourceInfo.player;if(a)xd(a.id,this.id);else if(t)bd(t.id,this.id);else return o.warn("[GangZone]: invalid player for hide"),this;return this}flashForAll(t){return this.id===-1?(o.warn("[GangZone]: Unable to flash the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be flash for all."),this):(Od(this.id,t),this)}flashForPlayer(t,a){if(this.id===-1)return o.warn("[GangZone]: Unable to flash the gangzone before create"),this;const n=this.sourceInfo.player;if(n)Hd(n.id,this.id,y(a));else if(t)wd(t.id,this.id,a);else return o.warn("[GangZone]: invalid player for flash"),this;return this}stopFlashForAll(){return this.id===-1?(o.warn("[GangZone]: Unable to stop flash the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be stop flash for all."),this):(Bd(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to stop flash the gangzone before create"),this;const a=this.sourceInfo.player;if(a)Vd(a.id,this.id);else if(t)Gd(t.id,this.id);else return o.warn("[GangZone]: invalid player for flash"),this;return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Ud(t.id,this.id):yd(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Wd(a.id,this.id):Id(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Kd(a.id,this.id):Pd(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?Zd(a.id,this.id):fd(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?jd(a.id,this.id):Ad(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Xd(a.id,this.id):Ed(t.id,this.id)}getPos(){if(this.id===-1)return o.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?Yd(t.id,this.id):Cd(this.id)}useCheck(t){if(this.id===-1)return o.warn("[GangZone]: Unable to use check before create"),this;const a=this.sourceInfo.player;return a?zd(a.id,this.id,t):Td(this.id,t),this}static getInstance(t,a){return a?this.globalGangZones.get(t):this.playerGangZones.get(t)}static getInstances(t){return t?[...this.globalGangZones.values()]:[...this.playerGangZones.values()]}}L.onExit(({next:e})=>(N.getInstances(!0).forEach(t=>t.destroy()),N.getInstances(!1).forEach(t=>t.destroy()),e()));const[_u]=_({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[hu]=_({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[uu]=_({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[mu]=_({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[pu]=_({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[gu]=_({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),Su=Object.freeze({onPlayerEnterGlobal:_u,onPlayerLeaveGlobal:hu,onPlayerEnterPlayer:uu,onPlayerLeavePlayer:mu,onPlayerClickGlobal:pu,onPlayerClickPlayer:gu}),[W]=_({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[K]=_({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[yu]=_({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class T{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=Tt;static setTickRate=Dt;static getPlayerTickRate(t){return Nt(t.id)}static setPlayerTickRate(t,a=50){return Lt(t.id,a)}static toggleChunkStream=Rt;static isToggleChunkStream=bt;static getChunkTickRate(t,a=-1){return a instanceof u?ge(t,a.id):ge(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof u?Se(t,a,n.id):Se(t,a,n)}static getChunkSize=vt;static setChunkSize=wt;static getMaxItems=Ot;static setMaxItems=Gt;static getVisibleItems(t,a=-1){return a instanceof u?ye(t,a.id):ye(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof u?Ie(t,a,n.id):Ie(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof u?Pe(t,a.id):Pe(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof u?fe(t,n.id):fe(t,a,n)}static getTypePriority=Bt;static setTypePriority=Ft;static getCellDistance=kt;static setCellDistance=Mt;static getCellSize=xt;static setCellSize=Ht;static toggleItemStatic=Vt;static isToggleItemStatic=Ut;static toggleItemInvAreas=Wt;static isToggleItemInvAreas=Kt;static toggleItemCallbacks=Zt;static isToggleItemCallbacks=jt;static toggleErrorCallback=Xt;static isToggleErrorCallback=Yt;static amxUnloadDestroyItems=zt;static processActiveItems=$t;static toggleIdleUpdate(t,a){return Jt(t.id,a)}static isToggleIdleUpdate(t){return Qt(t.id)}static toggleCameraUpdate(t,a){return qt(t.id,a)}static isToggleCameraUpdate(t){return ea(t.id)}static toggleItemUpdate(t,a,n){return ta(t.id,a,n)}static isToggleItemUpdate(t,a){return aa(t.id,a)}static getLastUpdateTime(){return na()}static update(t,a=-1){return ia(t.id,a)}static updateEx(t,a,n,i,r,s,l,d,c){return ra(t.id,a,n,i,r,s,l,d,c)}static getDistanceToItem=sa;static toggleItem(t,a,n,i){return la(t.id,a,n,i)}static isToggleItem(t,a,n){return oa(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return da(t.id,a,n,i)}static getItemInternalID(t,a,n){return ca(t.id,a,n)}static getItemStreamerID(t,a,n){return _a(t.id,a,n)}static isItemVisible(t,a,n){return ha(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return ua(t.id,a,n)}static countVisibleItems(t,a,n=1){return ma(t.id,a,n)}static destroyAllItems=pa;static countItems=ga;static getNearbyItems=Sa;static getAllVisibleItems(t,a,n){return ya(t.id,a,n)}static getItemPos=Ia;static setItemPos=Pa;static getItemOffset=fa;static setItemOffset=Aa;static getFloatData=Ea;static setFloatData=Ca;static getIntData=Ta;static setIntData=Da;static getArrayData=Na;static setArrayData=La;static isInArrayData=Ra;static appendArrayData=ba;static removeArrayData=va;static getArrayDataLength=wa;static getUpperBound=Oa;static onPluginError=yu}class H{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{x:d,y:c,z:m,type:p,color:g,extended:I}=this.sourceInfo;return p<0||p>63?o.error("[StreamerMapIcon]: Invalid map icon type"):(t??=Ga.LOCAL,a??=ee.MAP_ICON_SD,l??=0,I?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=Ba(d,c,m,p,y(g),t,a,n,i,r,s,l),H.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=Fa(d,c,m,p,y(g),n,i,r,a,t,s,l),H.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?o.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(ka(this.id),H.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return Ma(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}L.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[Iu,Pu]=_({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[fu,Au]=_({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Pu(a,H.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Au(a,H.getInstance(t)):n());const Eu=Object.freeze({onStreamIn:Iu,onStreamOut:fu});class x{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:l,modelId:d,x:c,y:m,z:p,extended:g}=this.sourceInfo;return l<0?o.error("[StreamerPickup]: Invalid pickup type"):(t??=h.StreamerDistances.PICKUP_SD,s??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=h.CreateDynamicPickupEx(d,l,c,m,p,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=h.CreateDynamicPickup(d,l,c,m,p,a,n,i,t,r,s)),x.pickups.set(this._id,this),this)}destroy(){return this.id===-1?o.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(h.DestroyDynamicPickup(this.id),x.pickups.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerPickup]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}L.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),e()));const[Cu,Tu]=_({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Du,Nu]=_({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Tu(a,x.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Nu(a,x.getInstance(t)):n());const[Lu]=_({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:x.getInstance(t)}}}),Ru=Object.freeze({onPlayerPickUp:Lu,onStreamIn:Cu,onStreamOut:Du});class B{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{size:l,x:d,y:c,z:m,extended:p}=this.sourceInfo;return l<0?o.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=ee.CP_SD,s??=0,p?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=xa(d,c,m,l,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=Ha(d,c,m,l,a,n,i,t,r,s)),B.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?o.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(Ae(this.id),B.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return Ee(this.id)}togglePlayer(t,a){return this.id===-1?o.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(Va(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Ua(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Wa(t.id,this.id)}static getPlayerVisible(t){return B.checkpoints.get(Ka(t.id))}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.CP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(B.checkpoints.forEach(t=>t.destroy()),e()));const[bu,vu]=_({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[wu,Ou]=_({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?vu(a,B.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?Ou(a,B.getInstance(t)):n());const[Gu]=_({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),cp:B.getInstance(t)}}}),[Bu]=_({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),cp:B.getInstance(t)}}}),Fu=Object.freeze({onPlayerEnter:Gu,onPlayerLeave:Bu,onStreamIn:bu,onStreamOut:wu});class F{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:l,size:d,x:c,y:m,z:p,nextX:g,nextY:I,nextZ:A,extended:b}=this.sourceInfo;return l<0||l>8?o.error("[StreamerRaceCP]: Invalid type"):d<0?o.error("[StreamerRaceCP]: Invalid size"):(t??=ee.RACE_CP_SD,s??=0,b?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=Za(l,c,m,p,g,I,A,d,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=ja(l,c,m,p,g,I,A,d,a,n,i,t,r,s)),F.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?o.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(Ae(this.id),F.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return Ee(this.id)}togglePlayer(t,a){return this.id===-1?o.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(Xa(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Ya(t.id,a)}isPlayerIn(t){return this.id===-1?!1:za(t.id,this.id)}static getPlayerVisible(t){return F.checkpoints.get($a(t.id))}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(F.getInstances().forEach(t=>t.destroy()),e()));const[ku,Mu]=_({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[xu,Hu]=_({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?Mu(a,F.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?Hu(a,F.getInstance(t)):n());const[Vu]=_({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),raceCP:F.getInstance(t)}}}),[Uu]=_({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),raceCp:F.getInstance(t)}}}),Wu=Object.freeze({onPlayerEnter:Vu,onPlayerLeave:Uu,onStreamIn:ku,onStreamOut:xu});class k{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{modelId:l,x:d,y:c,z:m,r:p,invulnerable:g,health:I,extended:A}=this.sourceInfo;return t??=h.StreamerDistances.ACTOR_SD,s??=0,A?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=h.CreateDynamicActorEx(l,d,c,m,p,g,I,t,a,n,i,r,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=h.CreateDynamicActor(l,d,c,m,p,g,I,a,n,i,t,r,s)),k.actors.set(this.id,this),this}destroy(){return this.id===-1?o.warn("[StreamerActor]: Unable to destroy the actor before create"):(h.DestroyDynamicActor(this.id),k.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?o.warn("[StreamerActor]: Unable to get virtual world before create"):h.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?o.warn("[StreamerActor]: Unable to set virtual world before create"):h.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1){if(this.id===-1)return o.warn("[StreamerActor]: Unable to apply animation before create");const l=rt(t,a);return l===void 0?o.error("[StreamerActor]: Invalid anim library or name"):h.ApplyDynamicActorAnimation(this.id,t,a,4.1,n,i,r,s,n?0:l)}clearAnimations(){return this.id===-1?o.warn("[StreamerActor]: Unable to clear animation before create"):h.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?o.warn("[StreamerActor]: Unable to get facing angle before create"):h.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?o.warn("[StreamerActor]: Unable to set facing angle before create"):h.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?o.warn("[StreamerActor]: Unable to get pos before create"):h.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?o.warn("[StreamerActor]: Unable to set pos before create"):h.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?o.warn("[StreamerActor]: Unable to get health before create"):h.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?o.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?o.warn("[StreamerActor]: Unable to set invulnerable before create"):h.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=h.GetPlayerTargetDynamicActor(t.id);return k.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=h.GetPlayerCameraTargetDynActor(t.id);return k.actors.get(a)}getSkin(){return this.id===-1?o.warn("[StreamerActor]: Unable to get skin before create"):pl(this.id)}setSkin(t,a=!1){return this.id===-1?o.warn("[StreamerActor]: Unable to set skin before create"):!a&&(t<0||t>311||t==74)?0:gl(this.id,t)}getSpawnInfo(){return this.id===-1?o.warn("[StreamerActor]: Unable to get spawn info before create"):Sl(this.id)}getAnimation(){return this.id===-1?o.warn("[StreamerActor]: Unable to get animation before create"):h.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerActor]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}L.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),e()));const[Ku]=_({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:u.getInstance(t)}}}),[Zu]=_({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:u.getInstance(t)}}}),[ju]=_({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),actor:k.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),Xu=Object.freeze({onStreamIn:Ku,onStreamOut:Zu,onPlayerGiveDamage:ju});class Z{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:i,worldId:r,interiorId:s,playerId:l,areaId:d,priority:c}=this.sourceInfo;const{charset:m,text:p,color:g,drawDistance:I,x:A,y:b,z:M,extended:q}=this.sourceInfo;return t??=C.PLAYER_ID,a??=C.VEHICLE_ID,i??=ee.TEXT_3D_LABEL_SD,n??=!1,c??=0,q?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=z_(p,y(g),A,b,M,I,t,a,n,i,r,s,l,d,c,m||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=Y_(m||"utf8",p,y(g),A,b,M,I,t,a,n,r,s,l,i,d,c)),Z.texts.set(this.id,this),this}destroy(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(Ja(this.id),Z.texts.delete(this.id),this._id=-1,this)}isValid(){return Qa(this.id)}getColor(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to get text before create"):J_(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=n,$_(this.id,y(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}L.onExit(({next:e})=>(Z.getInstances().forEach(t=>t.destroy()),e()));const[Yu,zu]=_({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[$u,Ju]=_({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?zu(a,Z.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?Ju(a,Z.getInstance(t)):n());const Qu=Object.freeze({onStreamIn:Yu,onStreamOut:$u});class v{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{modelId:d,x:c,y:m,z:p,rx:g,ry:I,rz:A,extended:b}=this.sourceInfo;return t??=h.StreamerDistances.OBJECT_SD,a??=h.StreamerDistances.OBJECT_DD,l??=0,b?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=h.CreateDynamicObjectEx(d,c,m,p,g,I,A,t,a,n,i,r,s,l)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=h.CreateDynamicObject(d,c,m,p,g,I,A,n,i,r,t,a,s,l)),v.objects.set(this._id,this),this}destroy(){return this.id===-1?o.warn("[StreamerObject]: Unable to destroy the object before create"):(h.DestroyDynamicObject(this.id),v.objects.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?o.warn("[StreamerObject]: Cannot get position before create"):h.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?o.warn("[StreamerObject]: Cannot set position before create"):h.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?o.warn("[StreamerObject]: Cannot get rotation before create"):h.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?o.warn("[StreamerObject]: Cannot set rotation before create"):h.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,i,r=-1e3,s=-1e3,l=-1e3){return this.id===-1?o.warn("[StreamerObject]: Cannot start moving before create"):i<0?o.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&o.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),h.MoveDynamicObject(this.id,t,a,n,i,r,s,l))}stop(){return this.id===-1?o.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?o.warn("[StreamerObject]: Cannot attachCamera before both are created"):h.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,i,r,s,l,d=!0){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachToObject before both are created"):h.AttachDynamicObjectToObject(this.id,t.id,a,n,i,r,s,l,d)}attachToPlayer(t,a,n,i,r,s,l){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToPlayer(this.id,t.id,a,n,i,r,s,l)}attachToVehicle(t,a,n,i,r,s,l){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToVehicle(this.id,t.id,a,n,i,r,s,l)}edit(t){return this.id===-1?o.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,a,n){return this.id===-1?o.warn("[StreamerObject]: Unable to get material before create"):h.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,i,r="#000"){return this.id===-1?o.warn("[StreamerObject]: Unable to set material before create"):h.SetDynamicObjectMaterial(this.id,t,a,n,i,y(r))}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?o.warn("[StreamerObject]: Unable to get material text before create"):q_(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=h.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,l=1,d="#fff",c="#000",m=0){return this.id===-1?o.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,Q_(t||"utf8",this.id,a,n,i,r,s,l,y(d),y(c),m))}getPlayerCameraTarget(t){const a=h.GetPlayerCameraTargetDynObject(t.id);if(a!==C.OBJECT_ID)return v.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerObject]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return h.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return h.GetDynamicObjectNoCameraCol(this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}L.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),e()));const[qu,em]=_({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[tm,am]=_({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?em(a,v.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?am(a,v.getInstance(t)):n());const[nm]=_({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:v.getInstance(e)}}}),[im]=_({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,s,l,d){return{player:u.getInstance(e),object:v.getInstance(t),response:a,x:n,y:i,z:r,rX:s,rY:l,rZ:d}}}),[rm]=_({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:u.getInstance(e),object:v.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[sm]=_({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:u.getInstance(e),object:v.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[lm]=_({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,l,d,c,m,p,g,I){return{player:u.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:l,fRotX:d,fRotY:c,fRotZ:m,fScaleX:p,fScaleY:g,fScaleZ:I}}}),om=Object.freeze({onMoved:nm,onPlayerEdit:im,onPlayerSelect:rm,onPlayerShoot:sm,onPlayerEditAttached:lm,onStreamIn:qu,onStreamOut:tm});class R{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 o.warn("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:n}=this.sourceInfo;const{type:i,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],i==="circle"){const{x:s,y:l,size:d}=this.sourceInfo;if(d<0)return o.error("[StreamerArea]: Invalid circle extend size");this._id=h.CreateDynamicCircleEx(s,l,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:l,minZ:d,maxX:c,maxY:m,maxZ:p}=this.sourceInfo;this._id=h.CreateDynamicCuboidEx(s,l,d,c,m,p,t,a,n)}else if(i==="cylinder"){const{x:s,y:l,minZ:d,maxZ:c,size:m}=this.sourceInfo;if(m<0)return o.error("[StreamerArea]: Invalid cylinder extend size");this._id=h.CreateDynamicCylinderEx(s,l,d,c,m,t,a,n)}else if(i==="polygon"){const{points:s,minZ:l,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return o.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=h.CreateDynamicPolygonEx(s,l,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:l,maxX:d,maxY:c}=this.sourceInfo;this._id=h.CreateDynamicRectangleEx(s,l,d,c,t,a,n)}else{const{x:s,y:l,z:d,size:c}=this.sourceInfo;if(c<0)return o.error("[StreamerArea]: Invalid sphere extended size");this._id=h.CreateDynamicSphereEx(s,l,d,c,t,a,n)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,i==="circle"){const{x:s,y:l,size:d}=this.sourceInfo;if(d<0)return o.error("[StreamerArea]: Invalid circle size");this._id=h.CreateDynamicCircle(s,l,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:l,minZ:d,maxX:c,maxY:m,maxZ:p}=this.sourceInfo;this._id=h.CreateDynamicCuboid(s,l,d,c,m,p,t,a,n)}else if(i==="cylinder"){const{x:s,y:l,minZ:d,maxZ:c,size:m}=this.sourceInfo;if(m<0)return o.error("[StreamerArea]: Invalid cylinder size");this._id=h.CreateDynamicCylinder(s,l,d,c,m,t,a,n)}else if(i==="polygon"){const{points:s,minZ:l,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return o.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=h.CreateDynamicPolygon(s,l,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:l,maxX:d,maxY:c}=this.sourceInfo;this._id=h.CreateDynamicRectangle(s,l,d,c,t,a,n)}else{const{x:s,y:l,z:d,size:c}=this.sourceInfo;if(c<0)return o.error("[StreamerArea]: Invalid sphere size");this._id=h.CreateDynamicSphere(s,l,d,c,t,a,n)}return R.areas.set(this._id,this),this}destroy(){return this.id===-1?o.warn("[StreamerArea]: Unable to destroy the area before create"):(h.DestroyDynamicArea(this.id),R.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:h.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?o.warn("[StreamerArea]: Unable to get type before create"):h.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return o.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return h.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return o.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return h.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:h.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return h.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:h.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return h.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return R.getPlayerAreasNumber(t)?h.GetPlayerDynamicAreas(t.id).map(a=>R.areas.get(a)):[]}static getPlayerAreasNumber(t){return h.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:h.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return h.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,s){return this.id===-1?!1:h.IsLineInDynamicArea(this.id,t,a,n,i,r,s)}static isLineInAny(t,a,n,i,r,s){return h.IsLineInAnyDynamicArea(t,a,n,i,r,s)}static getForPoint(t,a,n){return R.getNumberForPoint(t,a,n)?h.GetDynamicAreasForPoint(t,a,n).map(i=>R.getInstance(i)):[]}static getNumberForPoint(t,a,n){return h.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return R.getNumberForLine(t,a,n,i,r,s)?h.GetDynamicAreasForLine(t,a,n,i,r,s).map(l=>R.areas.get(l)):[]}static getNumberForLine(t,a,n,i,r,s){return h.GetNumberDynamicAreasForLine(t,a,n,i,r,s)}attachToObject(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?o.warn("[StreamerArea]: Unable to toggle attach to object before create"):h.AttachDynamicAreaToObject(this.id,t.id,h.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,a,n,i)}attachToPlayer(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?o.warn("[StreamerArea]: Unable to toggle attach to player before create"):h.AttachDynamicAreaToPlayer(this.id,t.id,a,n,i)}attachToVehicle(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?o.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):h.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?o.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?o.warn("[StreamerArea]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(h.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(h.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}L.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),e()));const[dm,cm]=_({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[_m,hm]=_({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?cm(a,R.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?hm(a,R.getInstance(t)):n());const[um]=_({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),area:R.getInstance(t)}}}),[mm]=_({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),area:R.getInstance(t)}}}),pm=Object.freeze({onStreamIn:dm,onStreamOut:_m,onPlayerEnter:um,onPlayerLeave:mm});class S{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 o.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:i}=this.sourceInfo;if(i){if(S.getInstances(!1).length===w.MAX_TEXT_DRAWS)return o.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=l_(i.id,t,a,n);const r=ue.onDisconnect(({player:s,next:l})=>{const d=l();return s===i&&(this.destroy(),r()),d});S.playerTextDraws.set(this.id,this)}else{if(S.getInstances(!0).length===w.MAX_TEXT_DRAWS)return o.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Sc(t,a,n),S.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return S.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(o_(t.id,this.id),S.playerTextDraws.delete(this.id)):(yc(this.id),S.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return S.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?y_(a.id,this.id,t):Lc(this.id,t),this}setColor(t){if(this.id===-1)return S.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?h_(a.id,this.id,t):Ac(this.id,t),this}setBoxColors(t){if(this.id===-1)return S.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?m_(a.id,this.id,t):Cc(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return S.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?S_(a.id,this.id,t):Nc(this.id,t),this}setAlignment(t){if(this.id===-1)return S.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?__(a.id,this.id,t):fc(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set letter size"),this;const{player:n}=this.sourceInfo;return n?d_(n.id,this.id,t,a):Ic(this.id,t,a),this}setOutline(t){if(this.id===-1)return S.beforeCreateWarn("set outline model"),this;if(t<0)return o.warn("[TextDraw]: Invalid outline value"),this;const{player:a}=this.sourceInfo;return a?g_(a.id,this.id,t):Dc(this.id,t),this}setPreviewModel(t){if(this.id===-1)return S.beforeCreateWarn("set preview model"),this;this.setFont(J.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?C_(a.id,this.id,t):Fc(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return S.beforeCreateWarn("set preview rot"),this;this.setFont(J.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?T_(r.id,this.id,t,a,n,i):kc(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return S.beforeCreateWarn("set preview veh col"),this;this.setFont(J.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?D_(n.id,this.id,t,a):Mc(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return S.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?I_(a.id,this.id,t):Rc(this.id,t),this}setSelectable(t){if(this.id===-1)return S.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?P_(a.id,this.id,t):bc(this.id,t),this}setShadow(t){if(this.id===-1)return S.beforeCreateWarn("set shadow"),this;if(t<0)return o.warn("[TextDraw]: Invalid shadow value"),this;const{player:a}=this.sourceInfo;return a?p_(a.id,this.id,t):Tc(this.id,t),this}setString(t,a){if(this.id===-1)return S.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)return o.warn("[TextDraw]: Invalid text length"),this;const{player:n}=this.sourceInfo;return n?E_(n.id,this.id,t):a?gc(this.id,a.id,t):Bc(this.id,t),this}setTextSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?c_(n.id,this.id,t,a):Pc(this.id,t,a),this}useBox(t){if(this.id===-1)return S.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?u_(a.id,this.id,t):Ec(this.id,t),this}static beforeCreateWarn(t){o.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return S.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)f_(a.id,this.id);else if(t)vc(t.id,this.id);else return o.warn("[TextDraw]: invalid player for show"),this;return this}hide(t){if(this.id===-1)return S.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)A_(a.id,this.id);else if(t)wc(t.id,this.id);else return o.warn("[TextDraw]: invalid player for hide"),this;return this}showAll(){return this.id===-1?(S.beforeCreateWarn("show"),this):this.sourceInfo.player?(o.warn("[TextDraw]: player's textdraw should not be show for all."),this):(Oc(this.id),this)}hideAll(){return this.id===-1?(S.beforeCreateWarn("hideAll"),this):this.sourceInfo.player?(o.warn("[TextDraw]: player's textdraw should not be hide for all."),this):(Gc(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?Vc(t.id,this.id):$d(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?Uc(a.id,this.id):t?Jd(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?Wc(t.id,this.id):Qd(this.id)}setPos(t,a){if(this.id===-1)return S.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?Kc(n.id,this.id,t,a):qd(this.id,t,a),this}getLetterSize(){if(this.id===-1)return S.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?Zc(t.id,this.id):ec(this.id)}getTextSize(){if(this.id===-1)return S.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?jc(t.id,this.id):tc(this.id)}getPos(){if(this.id===-1)return S.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?Xc(t.id,this.id):ac(this.id)}getColor(){if(this.id===-1)return S.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?Yc(t.id,this.id):nc(this.id)}getBoxColor(){if(this.id===-1)return S.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?zc(t.id,this.id):ic(this.id)}getBackgroundColor(){if(this.id===-1)return S.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?$c(t.id,this.id):rc(this.id)}getShadow(){if(this.id===-1)return S.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?Jc(t.id,this.id):sc(this.id)}getOutline(){if(this.id===-1)return S.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?Qc(t.id,this.id):lc(this.id)}getFont(){if(this.id===-1)return S.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?qc(t.id,this.id):oc(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?e_(t.id,this.id):dc(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?t_(t.id,this.id):cc(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?a_(t.id,this.id):_c(this.id)}getAlignment(){if(this.id===-1)return S.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?n_(t.id,this.id):hc(this.id)}getPreviewModel(){if(this.id===-1)return S.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?i_(t.id,this.id):uc(this.id)}getPreviewRot(){if(this.id===-1)return S.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?r_(t.id,this.id):mc(this.id)}getPreviewVehColors(){if(this.id===-1)return S.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?s_(t.id,this.id):pc(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t,a){return a?this.globalTextDraws.get(t):this.playerTextDraws.get(t)}static getInstances(t){return t?[...this.globalTextDraws.values()]:[...this.playerTextDraws.values()]}}L.onExit(({next:e})=>(S.getInstances(!0).forEach(t=>t.destroy()),S.getInstances(!1).forEach(t=>t.destroy()),e()));const[gm]=_({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===C.TEXT_DRAW?t:S.getInstance(t,!0)}}}),[Sm]=_({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===C.TEXT_DRAW?t:S.getInstance(t,!1)}}}),ym=Object.freeze({onPlayerClickGlobal:gm,onPlayerClickPlayer:Sm});function Im(e,t){return(e&t)===t}function Pm(e,t,a){return(e&a)===a&&(t&a)!==a}function fm(e,t){return!!(e&t)}function Am(e,t,a){return(e&a)!==a&&(t&a)===a}export{we as ArtworkEnum,Ze as BodyPartsEnum,je as BoneIdsEnum,et as BulletHitTypesEnum,te as CameraCutStylesEnum,Ke as CameraModesEnum,ze as CarModTypeEnum,Oe as ClickSourcesEnum,Be as ConnectionStatusEnum,se as DamageDeathReasonEnum,D as Dialog,ie as DialogStylesEnum,Z as Dynamic3DTextLabel,Qu as Dynamic3DTextLabelEvent,k as DynamicActor,Xu as DynamicActorEvent,R as DynamicArea,pm as DynamicAreaEvent,Fu as DynamicCheckPointEvent,B as DynamicCheckpoint,H as DynamicMapIcon,Eu as DynamicMapIconEvent,v as DynamicObject,om as DynamicObjectEvent,x as DynamicPickup,Ru as DynamicPickupEvent,F as DynamicRaceCP,Wu as DynamicRaceCPEvent,O as ERecordStatus,Rm as E_STREAMER,Ge as EditResponseTypesEnum,Ue as FightingStylesEnum,Xe as ForceSyncEnum,L as GameMode,lu as GameText,N as GangZone,Su as GangZoneEvent,P as I18n,C as InvalidEnum,Fe as KeysEnum,w as LimitsEnum,bm as MapIconStyles,We as MapIconStylesEnum,ke as MarkerModesEnum,vm as MaterialTextSizes,j as Menu,cu as MenuEvent,Me as NPCPlaybackEnum,su as NetStats,G as Npc,on as NpcEvent,He as ObjectMaterialAlignmmentEnum,xe as ObjectMaterialTextSizeEnum,u as Player,ue as PlayerEvent,X as PlayerStateEnum,at as RecordTypesEnum,Ve as SelectObjectTypesEnum,re as SpecialActionsEnum,ae as SpectateModesEnum,T as Streamer,wm as StreamerAreaTypes,Om as StreamerDistances,Gm as StreamerItemTypes,Bm as StreamerMiscellaneous,Fm as StreamerObjectTypes,S as TextDraw,Ye as TextDrawAlignEnum,ym as TextDrawEvent,J as TextDrawFontsEnum,f as Vehicle,ru as VehicleEvent,Je as VehicleModelInfoEnum,$e as VehicleParamsEnum,Qe as WeaponEnum,qe as WeaponSkillsEnum,tt as WeaponStatesEnum,nt as animateLib,_ as defineEvent,rt as getAnimateDurationByLibName,Im as isHolding,Pm as isPressed,fm as isPressing,Am as isReleased,le as isValidAnimateLib,it as isValidAnimateName,y as rgba};
|
|
1
|
+
import{encodingExists as Pt,encode as ft,decode as At}from"iconv-lite";import Ct from"pino";import{snakeCase as se,merge as Et,omit as Tt,get as Ie,mapKeys as Dt}from"lodash-unified";import*as h from"@infernus/streamer";import{Streamer_GetTickRate as Nt,Streamer_SetTickRate as Lt,Streamer_GetPlayerTickRate as Rt,Streamer_SetPlayerTickRate as bt,Streamer_ToggleChunkStream as vt,Streamer_IsToggleChunkStream as wt,Streamer_GetChunkTickRate as Pe,Streamer_SetChunkTickRate as fe,Streamer_GetChunkSize as Ot,Streamer_SetChunkSize as Gt,Streamer_GetMaxItems as Bt,Streamer_SetMaxItems as Ft,Streamer_GetVisibleItems as Ae,Streamer_SetVisibleItems as Ce,Streamer_GetRadiusMultiplier as Ee,Streamer_SetRadiusMultiplier as Te,Streamer_GetTypePriority as kt,Streamer_SetTypePriority as Mt,Streamer_GetCellDistance as xt,Streamer_SetCellDistance as Ht,Streamer_GetCellSize as Vt,Streamer_SetCellSize as Ut,Streamer_ToggleItemStatic as Wt,Streamer_IsToggleItemStatic as Kt,Streamer_ToggleItemInvAreas as Zt,Streamer_IsToggleItemInvAreas as jt,Streamer_ToggleItemCallbacks as Xt,Streamer_IsToggleItemCallbacks as Yt,Streamer_ToggleErrorCallback as zt,Streamer_IsToggleErrorCallback as $t,Streamer_AmxUnloadDestroyItems as Jt,Streamer_ProcessActiveItems as Qt,Streamer_ToggleIdleUpdate as qt,Streamer_IsToggleIdleUpdate as ea,Streamer_ToggleCameraUpdate as ta,Streamer_IsToggleCameraUpdate as aa,Streamer_ToggleItemUpdate as na,Streamer_IsToggleItemUpdate as ia,Streamer_GetLastUpdateTime as ra,Streamer_Update as sa,Streamer_UpdateEx as la,Streamer_GetDistanceToItem as oa,Streamer_ToggleItem as da,Streamer_IsToggleItem as ca,Streamer_ToggleAllItems as _a,Streamer_GetItemInternalID as ha,Streamer_GetItemStreamerID as ua,Streamer_IsItemVisible as ma,Streamer_DestroyAllVisibleItems as pa,Streamer_CountVisibleItems as ga,Streamer_DestroyAllItems as Sa,Streamer_CountItems as ya,Streamer_GetNearbyItems as Ia,Streamer_GetAllVisibleItems as Pa,Streamer_GetItemPos as fa,Streamer_SetItemPos as Aa,Streamer_GetItemOffset as Ca,Streamer_SetItemOffset as Ea,Streamer_GetFloatData as Ta,Streamer_SetFloatData as Da,Streamer_GetIntData as Na,Streamer_SetIntData as La,Streamer_GetArrayData as Ra,Streamer_SetArrayData as ba,Streamer_IsInArrayData as va,Streamer_AppendArrayData as wa,Streamer_RemoveArrayData as Oa,Streamer_GetArrayDataLength as Ga,Streamer_GetUpperBound as Ba,MapIconStyles as Fa,StreamerDistances as ne,CreateDynamicMapIconEx as ka,CreateDynamicMapIcon as Ma,DestroyDynamicMapIcon as xa,IsValidDynamicMapIcon as Ha,StreamerItemTypes as E,CreateDynamicCPEx as Va,CreateDynamicCP as Ua,DestroyDynamicCP as De,IsValidDynamicCP as Ne,TogglePlayerDynamicCP as Wa,TogglePlayerAllDynamicCPs as Ka,IsPlayerInDynamicCP as Za,GetPlayerVisibleDynamicCP as ja,CreateDynamicRaceCPEx as Xa,CreateDynamicRaceCP as Ya,TogglePlayerDynamicRaceCP as za,TogglePlayerAllDynamicRaceCPs as $a,IsPlayerInDynamicRaceCP as Ja,GetPlayerVisibleDynamicRaceCP as Qa,DestroyDynamic3DTextLabel as qa,IsValidDynamic3DTextLabel as en}from"@infernus/streamer";import{E_STREAMER as bm,MapIconStyles as vm,MaterialTextSizes as wm,StreamerAreaTypes as Om,StreamerDistances as Gm,StreamerItemTypes as Bm,StreamerMiscellaneous as Fm,StreamerObjectTypes as km}from"@infernus/streamer";const o=Ct({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{o.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){o.warn(e);return}o.warn(new Error(JSON.stringify(e)))});class P{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=se(t),this.locales=P.snakeLocaleKeys(a)}addLocales=t=>{Et(this.locales,P.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=Tt(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[se(n)],r=Ie(this.locales[this.defaultLocale],t),s=Ie(i,t,r);if(s===void 0)return o.warn(`[i18n]: cannot find ${n}["${t}"]`),"undefined";if(typeof s!="string")return JSON.stringify(s);let l=s;if(a&&a.length){const d=/%s/i;for(let c=0;c<a.length&&l.match(d)!==null;c++)l=l.replace(d,a[c])}return l};static isValidate(t){Pt(t)||(o.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return P.isValidate(a),[...ft(t,a),0]}static decodeFromBuf(t,a="utf8"){P.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(P.getValidStr(t));return At(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return Dt(t,(a,n)=>se(n))}}const H=new Map;function tn(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function an(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,s=H.get(n);if(!s||!s.length)return+a;const l=i?i(...t):{},d=[];let c=-1;const u=()=>{if(c++,c<s.length){try{const p=s[c]({next:u,...l});return p instanceof Promise&&d.push(p),p}catch(p){const g=`executing event [name:${n},index:${c}] error:`;o.error(g),o.error(p)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(l)):r(l)),a};return tn(u(),a)}function _(e){const{name:t,identifier:a,isNative:n=!0}=e;if(H.has(t)){const l=`event [name:${t}] error: already defined.`;throw o.error(l),new Error(l)}H.set(t,[]);function i(...l){return an(e,...l)}function r(l){const d=H.get(t).push(l)-1;return()=>{const c=H.get(t)||[],u=c.length-1,p=u<d?u:d;for(let g=p;g>=0;g--)if(c[g]===l){c.splice(g,1);break}return c.length}}const s=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),s}const[nn]=_({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[rn]=_({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[sn]=_({name:"OnNpcModeInit"}),[ln]=_({name:"OnNpcModeExit"}),[on]=_({name:"OnNpcSpawn"}),[dn]=_({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:P.decodeFromBuf(t)}}}),cn=Object.freeze({onConnect:nn,onDisconnect:rn,onModeInit:sn,onModeExit:ln,onSpawn:on,onClientMessage:dn}),_n=e=>!!samp.callNative("IsValidNickName","s",e),hn=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},un=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),mn=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),pn=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),gn=e=>!!samp.callNative("IsValidServerRule","s",e),Sn=e=>!!samp.callNative("RemoveServerRule","s",e),yn=e=>{samp.callNative("AllowAdminTeleport","i",e)},In=()=>!!samp.callNative("IsAdminTeleportAllowed",""),Pn=e=>{samp.callNative("AllowInteriorWeapons","i",e)},fn=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),An=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Cn=e=>{samp.callNative("EnableAllAnimations","i",e)},En=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},Tn=e=>samp.callNative("GetConsoleVarAsInt","s",e),Dn=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Nn=()=>samp.callNative("GetWeather",""),Ln=e=>samp.callNative("GetServerRuleFlags","s",e),Rn=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),bn=e=>!!samp.callNative("SetModeRestartTime","f",e),vn=()=>samp.callNativeFloat("GetModeRestartTime",""),wn=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),On=e=>{samp.callNative("HideGameTextForAll","i",e)},Gn=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Bn=()=>samp.callNative("GetMaxPlayers",""),le=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Fn=e=>samp.callNative("SetGameModeText","s",e),kn=e=>samp.callNative("ShowNameTags","i",e),Mn=e=>samp.callNative("ShowPlayerMarkers","i",e),xn=e=>samp.callNative("SetWorldTime","i",e),Hn=()=>samp.callNative("GetWorldTime",""),Vn=()=>samp.callNative("EnableVehicleFriendlyFire",""),Un=e=>samp.callNative("SetWeather","i",e),Wn=()=>samp.callNativeFloat("GetGravity",""),Kn=e=>samp.callNative("SetGravity","f",e),Zn=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),jn=e=>samp.callNative("EnableZoneNames","i",e),Xn=()=>samp.callNative("UsePlayerPedAnims",""),Yn=()=>samp.callNative("DisableInteriorEnterExits",""),zn=e=>samp.callNative("SetNameTagDrawDistance","f",e),$n=()=>samp.callNative("DisableNameTagLOS",""),Jn=e=>samp.callNative("LimitGlobalChatRadius","f",e),Qn=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),qn=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),ei=()=>samp.callNative("GetServerTickRate",""),ti=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),ai=e=>samp.callNative("EnableStuntBonusForAll","i",e),ni=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},ii=()=>!!samp.callNative("ChatTextReplacementToggled",""),ri=e=>samp.callNative("GetWeaponSlot","i",e),si=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},Le=()=>samp.callNative("GetAvailableClasses",""),li=e=>{if(e<Le()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,l=0,d=0,c=0,u=0,p=0,g=0,I=0]=t;return{teamId:a,modelId:n,spawnX:i,spawnY:r,spawnZ:s,zAngle:l,weapon1:d,weapon1Ammo:c,weapon2:u,weapon2Ammo:p,weapon3:g,weapon3Ammo:I}},oi=(e,t,a,n,i,r,s,l,d,c,u,p,g)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,l,d,c,u,p,g),di=e=>samp.callNative("SetTeamCount","i",e),ci=(e,t,a,n,i,r,s,l,d,c,u)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,l,d,c,u),_i=(e,t,a,n,i,r,s,l,d,c,u,p)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,l,d,c,u,p),hi=(e,t,a,n,i,r,s,l,d,c,u,p,g)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,l,d,c,u,p,g),ui=e=>samp.callNative("SpawnPlayer","i",e),mi=e=>{const[t,a=0,n=0,i=0,r=0,s=0,l=0,d=0,c=0,u=0,p=0,g=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:n,spawnY:i,spawnZ:r,zAngle:s,weapon1:l,weapon1Ammo:d,weapon2:c,weapon2Ammo:u,weapon3:p,weapon3Ammo:g}},pi=e=>samp.callNative("NetStats_GetConnectedTime","i",e),gi=e=>samp.callNative("NetStats_MessagesReceived","i",e),Si=e=>samp.callNative("NetStats_BytesReceived","i",e),yi=e=>samp.callNative("NetStats_MessagesSent","i",e),Ii=e=>samp.callNative("NetStats_BytesSent","i",e),Pi=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),fi=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Ai=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Ci=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Ei=e=>!!samp.callNative("IsPlayerAdmin","i",e),Ti=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),Di=e=>!!samp.callNative("Kick","i",e),Ni=e=>!!samp.callNative("Ban","i",e),Li=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Ri=()=>samp.callNative("GetNetworkStats","Si",1024),bi=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),vi=e=>samp.callNative("UnBlockIpAddress","s",e),wi=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return P.decodeFromBuf(P.getValidStr(a),t)},Oi=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Gi=()=>{samp.callNative("ClearBanList","")},Bi=e=>!!samp.callNative("IsBanned","s",e),Fi=e=>samp.callNative("GetPlayerRawIp","i",e),ki=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},Mi=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},y=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(n=>parseInt(n,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 a=0;return t.reverse().forEach((n,i)=>{n!==0&&(a+=Math.pow(16,i*2)*n)}),a},xi=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Hi=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Vi=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Ui=e=>samp.callNative("GetPlayerWeather","i",e),Wi=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:n,yMin:i}},Ki=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Zi=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},ji=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},Xi=e=>samp.callNative("GetPlayerDialogID","i",e),Yi=e=>samp.callNative("GetPlayerSpectateID","i",e),zi=e=>samp.callNative("GetPlayerSpectateType","i",e),$i=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),Ji=e=>samp.callNativeFloat("GetPlayerGravity","i",e),Qi=e=>!!samp.callNative("IsPlayerSpawned","i",e),qi=e=>!!samp.callNative("IsPlayerControllable","i",e),er=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),tr=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),ar=e=>!!samp.callNative("GetPlayerGhostMode","i",e),nr=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),ir=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),rr=e=>!!samp.callNative("HidePlayerDialog","i",e),sr=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),lr=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),or=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),dr=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),cr=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),_r=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","isii",e,t,a,n),hr=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),ur=(e,t,a,n)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),mr=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),pr=e=>!!samp.callNative("IsPlayerNPC","i",e),Re=(e,t,a,n)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,n),gr=(e,t,a,n)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),Sr=e=>samp.callNative("GetPlayerPos","iFFF",e),yr=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),Ir=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},Pr=(e,t,a,n,i)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i),fr=(e,t,a,n)=>!!samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),Ar=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Cr=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Er=e=>samp.callNative("GetPlayerInterior","i",e),Tr=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Dr=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Nr=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Lr=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Rr=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),br=e=>samp.callNative("GetPlayerAmmo","i",e),vr=e=>samp.callNative("GetPlayerWeaponState","i",e),wr=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Or=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Gr=e=>samp.callNative("GetPlayerTeam","i",e),Br=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),Fr=e=>samp.callNative("GetPlayerScore","i",e),kr=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Mr=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),xr=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,y(t)),Hr=e=>samp.callNative("GetPlayerColor","i",e),Vr=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Ur=e=>samp.callNative("GetPlayerSkin","i",e),Wr=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),Kr=e=>!!samp.callNative("ResetPlayerWeapons","i",e),Zr=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),jr=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),Xr=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),Yr=e=>!!samp.callNative("ResetPlayerMoney","i",e),zr=e=>samp.callNative("GetPlayerMoney","i",e),$r=e=>samp.callNative("GetPlayerState","i",e),Jr=e=>samp.callNative("GetPlayerPing","i",e),Qr=e=>samp.callNative("GetPlayerWeapon","i",e),qr=e=>samp.callNative("GetPlayerKeys","iIII",e),es=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),ts=e=>samp.callNative("GetPlayerTime","iII",e),as=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),ns=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),is=e=>!!samp.callNative("ForceClassSelection","i",e),rs=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),ss=e=>samp.callNative("GetPlayerWantedLevel","i",e),ls=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),os=e=>samp.callNative("GetPlayerFightingStyle","i",e),ds=(e,t,a,n)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),cs=e=>samp.callNative("GetPlayerVelocity","iFFF",e),_s=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),hs=(e,t,a,n,i,r,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),us=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),ms=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),ps=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),gs=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Ss=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),ys=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),Is=(e,t,a,n,i,r)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),Ps=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),fs=(e,t,a,n,i)=>!!samp.callNative("SetPlayerChatBubble","isifi",e,t,y(a),n,i),As=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),Cs=e=>samp.callNative("GetPlayerVehicleID","i",e),Es=e=>samp.callNative("GetPlayerVehicleSeat","i",e),Ts=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),Ds=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),Ns=(e,t,a,n,i)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),Ls=(e,t,a,n,i,r,s,l,d,c)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,l,d,c),Rs=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),bs=e=>samp.callNative("GetPlayerAnimationIndex","i",e),vs=e=>samp.callNative("GetPlayerSpecialAction","i",e),ws=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),Os=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Gs=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),Bs=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Fs=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),ks=e=>samp.callNative("GetPlayerCustomSkin","i",e),Ms=(e,t,a,n,i,r)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),xs=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),Hs=e=>!!samp.callNative("StopRecordingPlayerData","i",e),Vs=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),Us=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),Ws=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),be=e=>!!samp.callNative("IsPlayerConnected","i",e),Ks=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),Zs=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),js=(e,t,a,n,i)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),Xs=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),Ys=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,y(a));function zs(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const $s=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),Js=(e,t,a,n)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),Qs=(e,t,a,n,i)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),qs=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),el=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),tl=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),al=e=>samp.callNative("GetPlayerCameraMode","i",e),nl=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),il=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),rl=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),sl=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),ll=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),ol=(e,t,a,n,i,r,s,l,d)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,l,d),dl=(e,t,a,n,i,r,s,l,d)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,l,d),cl=e=>!!samp.callNative("IsPlayerCuffed","i",e),_l=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),hl=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),ul=()=>samp.callNative("StopRecordingPlayback",""),ml=()=>samp.callNative("PauseRecordingPlayback",""),pl=()=>samp.callNative("ResumeRecordingPlayback",""),gl=e=>samp.callNative("GetActorSkin","i",e),Sl=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),yl=e=>{const[t=0,a=0,n=0,i=0,r=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:i,fAngle:r}},Il=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:i,color1:r,color2:s}},Pl=(e,t,a,n,i,r,s,l,d=-2,c=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,l,d,c),fl=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:a}},Al=e=>samp.callNative("GetVehiclePaintjob","i",e),Cl=e=>samp.callNative("GetVehicleInterior","i",e),El=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},Tl=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),Dl=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Nl=e=>samp.callNative("GetVehicleCab","i",e),Ll=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Rl=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),bl=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),vl=e=>!!samp.callNative("IsVehicleOccupied","i",e),wl=e=>samp.callNative("GetVehicleRespawnTick","i",e),Ol=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Gl=e=>!!samp.callNative("IsVehicleDead","i",e),Bl=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Fl=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),kl=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),Ml=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),xl=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Hl=e=>samp.callNative("GetVehicleModelCount","i",e),Vl=e=>samp.callNative("GetVehicleLastDriver","i",e),Ul=e=>samp.callNative("GetVehicleDriver","i",e),Wl=()=>samp.callNative("GetVehicleModelsUsed",""),Kl=e=>samp.callNative("GetVehicleSirenState","i",e),Zl=e=>samp.callNative("GetVehicleLandingGearState","i",e),jl=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Xl=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Yl=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,l=0,d=0,c=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:l,atY:d,atZ:c}},ve=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},zl=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),$l=(e,t,a,n,i,r,s,l,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,y(r),y(s),l,d),Jl=e=>samp.callNative("DestroyVehicle","i",e),Ql=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),ql=e=>{const t=samp.callNative("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},eo=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),to=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},ao=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),no=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),io=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),ro=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),so=()=>samp.callNative("ManualVehicleEngineAndLights",""),lo=(e,t,a,n,i,r,s,l)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,l),oo=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),co=e=>samp.callNative("GetVehicleParamsSirenState","i",e),_o=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),ho=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},uo=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),mo=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},po=e=>samp.callNative("SetVehicleToRespawn","i",e),go=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),So=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),yo=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),Io=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,y(t),y(a)),Po=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),fo=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Ao=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Co=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Eo=e=>samp.callNative("DetachTrailerFromVehicle","i",e),To=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),Do=e=>samp.callNative("GetVehicleTrailer","i",e),No=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Lo=e=>samp.callNative("GetVehicleModel","i",e),Ro=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),bo=e=>samp.callNative("GetVehicleComponentType","i",e),vo=e=>samp.callNative("RepairVehicle","i",e),wo=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Oo=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),Go=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Bo=e=>{const t=samp.callNative("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]}},Fo=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),ko=(e,t)=>{const a=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);if(a.length<3)throw new Error("ModelID "+e+" not found");return{x:a[0],y:a[1],z:a[2]}},Mo=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),xo=e=>samp.callNative("GetVehicleVirtualWorld","i",e),we=e=>!!samp.callNative("IsValidVehicle","i",e),Ho=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,y(r),y(s)),Vo=(e,t,a,n,i,r,s,l,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,y(r),y(s),l,d),Uo=e=>!!samp.callNative("ShowVehicle","i",e),Wo=e=>!!samp.callNative("HideVehicle","i",e),Ko=e=>!!samp.callNative("IsVehicleHidden","i",e),Zo=e=>!!samp.callNative("IsPlayerInModShop","i",e),jo=e=>samp.callNative("GetPlayerSirenState","i",e),Xo=e=>samp.callNative("GetPlayerLandingGearState","i",e),Yo=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),zo=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),$o=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Oe=e=>samp.callNative("GetVehicleMaxPassengers","i",e),Jo=e=>samp.callNative("CountVehicleOccupants","i",e),Qo=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),qo=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},ed=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),td=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,l=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:i,fNextY:r,fNextZ:s,fSize:l}},ad=e=>!!samp.callNative("IsMenuDisabled","i",e),nd=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),id=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),rd=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},sd=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},ld=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},od=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},dd=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),cd=e=>samp.callNative("DestroyMenu","i",e),_d=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),hd=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),ud=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),md=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),pd=e=>!!samp.callNative("IsValidMenu","i",e),gd=e=>samp.callNative("DisableMenu","i",e),Sd=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),yd=e=>samp.callNative("GetPlayerMenu","i",e),Id=e=>!!samp.callNative("IsValidGangZone","i",e),Pd=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),fd=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Ad=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Cd=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Ed=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Td=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},Dd=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Nd=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),Ld=e=>samp.callNative("GangZoneDestroy","i",e),Rd=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,y(a)),bd=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,y(t)),vd=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),wd=e=>samp.callNative("GangZoneHideForAll","i",e),Od=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,y(a)),Gd=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,y(t)),Bd=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Fd=e=>samp.callNative("GangZoneStopFlashForAll","i",e),kd=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),Md=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),xd=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),Hd=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Vd=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),Ud=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Wd=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),Kd=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),Zd=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),jd=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Xd=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),Yd=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),zd=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:i,fMaxY:r}},$d=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},Jd=e=>!!samp.callNative("IsValidTextDraw","i",e),Qd=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),qd=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},ec=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},tc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},ac=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},nc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},ic=e=>samp.callNative("TextDrawGetColor","i",e),rc=e=>samp.callNative("TextDrawGetBoxColor","i",e),sc=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),lc=e=>samp.callNative("TextDrawGetShadow","i",e),oc=e=>samp.callNative("TextDrawGetOutline","i",e),dc=e=>samp.callNative("TextDrawGetFont","i",e),cc=e=>!!samp.callNative("TextDrawIsBox","i",e),_c=e=>!!samp.callNative("TextDrawIsProportional","i",e),hc=e=>!!samp.callNative("TextDrawIsSelectable","i",e),uc=e=>samp.callNative("TextDrawGetAlignment","i",e),mc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),pc=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},gc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},Sc=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},yc=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),Ic=e=>samp.callNative("TextDrawDestroy","i",e),Pc=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),fc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Ac=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Cc=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,y(t)),Ec=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Tc=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,y(t)),Dc=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Nc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Lc=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,y(t)),Rc=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),bc=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),vc=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),wc=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Oc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Gc=e=>samp.callNative("TextDrawShowForAll","i",e),Bc=e=>samp.callNative("TextDrawHideForAll","i",e),Fc=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),kc=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Mc=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},xc=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,y(t),y(a)),Hc=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,y(t))},Vc=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Uc=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),Wc=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),Kc=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},Zc=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},jc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},Xc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},Yc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},zc=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),$c=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),Jc=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),Qc=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),qc=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),e_=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),t_=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),a_=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),n_=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),i_=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),r_=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),s_=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:i,fZoom:r}},l_=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},o_=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),d_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},c_=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),__=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),h_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),u_=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,y(a)),m_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),p_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,y(a)),g_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),S_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),y_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,y(a)),I_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),P_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),f_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),A_=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),C_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),E_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),T_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),D_=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),N_=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),L_=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),R_=e=>!!samp.callNative("BeginObjectSelecting","i",e),b_=e=>!!samp.callNative("EndObjectEditing","i",e),v_=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),w_=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),O_=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),G_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),B_=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},F_=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},k_=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,l=0,d=0,c=0,u=0,p=0,g=0,I=0,f=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:l,fRotY:d,fRotZ:c,fScaleX:u,fScaleY:p,fScaleZ:g,materialColor1:I,materialColor2:f}},M_=(e,t,a,n,i,r,s,l,d,c,u,p,g,I,f)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,l,d,c,u,p,g,y(I),y(f)),x_=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),H_=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Ge=e=>!!samp.callNative("IsValidCustomModel","i",e),V_=e=>{if(!Ge(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var Be=(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))(Be||{}),Fe=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Fe||{}),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||{}),ke=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(ke||{}),Me=(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))(Me||{}),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||{}),xe=(e=>(e[e.NONE=0]="NONE",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))(xe||{}),O=(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))(O||{}),He=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(He||{}),Ve=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Ve||{}),G=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(G||{}),Ue=(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))(Ue||{}),We=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(We||{}),Ke=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Ke||{}),Ze=(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))(Ze||{}),je=(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))(je||{}),ie=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ie||{}),Xe=(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))(Xe||{}),re=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(re||{}),$=(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))($||{}),Ye=(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))(Ye||{}),ze=(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))(ze||{}),$e=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))($e||{}),de=(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))(de||{}),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||{}),Je=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Je||{}),Qe=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=-1]="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[e.FRONT_BULLBAR=14]="FRONT_BULLBAR",e[e.REAR_BULLBAR=15]="REAR_BULLBAR",e))(Qe||{}),qe=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(qe||{}),et=(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))(et||{}),tt=(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.FIST=0]="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))(tt||{}),at=(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))(at||{}),nt=(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))(nt||{}),it=(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))(it||{}),ce=(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))(ce||{}),rt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(rt||{});class B{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static recordStatus;static connectNPC=qn;static startRecordingPlayerData(t,a,n){if(t.isRecording)return o.warn("[NpcFunc]: It should be stopped before recording");xs(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return o.warn("[NpcFunc]: It should be started before stop");Hs(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(B.recordStatus>=G.start)return o.warn("[NpcFunc]: The current status cannot be replayed");hl(t,a),B.recordStatus=G.start}static stopRecordingPlayback(){if(B.recordStatus<G.start)return o.warn("[NpcFunc]: The current status cannot be stopped");ul(),B.recordStatus=G.none}static pauseRecordingPlayback(){if(B.recordStatus!==G.start)return o.warn("[NpcFunc]: The current status cannot be paused");ml(),B.recordStatus=G.pause}static resumeRecordingPlayback(){if(B.recordStatus!==G.pause)return o.warn("[NpcFunc]: The current status cannot be paused");pl(),B.recordStatus=G.start}}const st=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}]]]),_e=e=>{const t=st.get(e);return t===void 0?!1:t},lt=(e,t)=>{const a=_e(e);if(a)return t==="null"?!0:a.some(n=>n.n===t)},ot=(e,t)=>{const a=_e(e);if(a)return a.find(n=>n.n===t)?.d},K=(e,t)=>{const a=t.replace("-","")==="utf8"?e:P.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},dt=(e,t,a)=>{const n=K(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,y(t),n[1])},U_=(e,t,a)=>(e.forEach(n=>dt(n,t,a)),1),ct=(e,t,a)=>{const n=K(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},W_=(e,t,a)=>(e.forEach(n=>{ct(n,t,a)}),1),K_=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:s,button1:l,button2:d}=a,[c,u]=K(r||"",n),[,p]=K(s||"",n),[,g]=K(l||"",n),[,I]=K(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${c.repeat(4)}`,e.id,t,i,u,p,g,I)},Z_=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,O.MAX_PLAYER_NAME);return P.decodeFromBuf(P.getValidStr(t),e.charset)},j_=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,P.encodeToBuf(t,e.charset)),X_=(e,t,a)=>{const n=P.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},Y_=(e,t="utf8")=>{const[a,n]=K(e,t);return samp.callNative("SendRconCommand",a,n)},z_=(e,t,a,n,i,r,s,l,d,c,u,p,g,I,f,v)=>{const V=P.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",V,a,n,i,r,s,l,d,c,u,p,g,I,f,v)},$_=(e,t,a,n,i,r,s,l,d,c,u,p,g,I,f,v)=>{const V=P.encodeToBuf(e,v);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",V,t,a,n,i,r,s,l,d,c,u,p,g,I,f,u.length,p.length,g.length,I.length)},J_=(e,t,a,n)=>{const i=P.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},Q_=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return P.decodeFromBuf(P.getValidStr(a),t)},q_=(e,t,a,n,i,r,s,l,d,c,u)=>{const p=P.encodeToBuf(n,e),g=P.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,p,i,g,s,l,d,c,u)},eh=(e,t,a)=>{const[n,i,r,s,l,d,c]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),u=P.decodeFromBuf(n,a),p=P.decodeFromBuf(r,a);return{text:u,materialSize:i,fontFace:p,bold:s,fontColor:l,backColor:d,textAlignment:c}},[_t]=_({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:m.getInstance(e),actionId:t,memAddr:a,data:n}}}),[th,ah]=_({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[nh,ih]=_({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class m{constructor(t){this.id=t;const a=m.getInstance(t);if(a)return a}static players=new Map;_charset="ISO-8859-1";_locale="en_US";lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;get charset(){return this._charset}set charset(t){const a=this._charset;this._charset=t,ih(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,ah(this,t,a)}sendClientMessage(t,a){return dt(this,t,a)}static sendClientMessageToAll(t,a){U_(m.getInstances(),t,a)}sendMessageToPlayer(t,a){return ct(t,this.id,a)}sendMessageToAll(t){return W_(m.getInstances(),this.id,t)}isNpc(){return pr(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return kr(this.id)}setDrunkLevel(t){return t<0||t>5e4?(o.error(new Error("[Player]: player's drunk level ranges from 0 to 50000")),!1):Mr(this.id,t)}allowTeleport(t){return lr(this.id,t)}isTeleportAllowed(){return or(this.id)}enableCameraTarget(t){return nl(this.id,t)}enableStuntBonus(t){return Fs(this.id,t)}getInterior(){return Er(this.id)}setInterior(t){return Cr(this.id,t)}showNameTag(t,a){return $s(this.id,t.id,a)}setColor(t){return xr(this.id,t)}getColor(){return Hr(this.id)}setMarker(t,a){Ys(this.id,t.id,a)}getMarker(t){return zs(this.id,t.id)}resetMoney(){return Yr(this.id)}getMoney(){return zr(this.id)}giveMoney(t){return Xr(this.id,t)}resetWeapons(){return Kr(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):ui(this.id)}setHealth(t){return Tr(this.id,t)}getHealth(){return Dr(this.id)}toggleClock(t){return as(this.id,t)}toggleControllable(t){return Ds(this.id,t)}toggleSpectating(t){return Vs(this.id,t)}spectatePlayer(t,a=re.NORMAL){return Us(this.id,t.id,a)}spectateVehicle(t,a=re.NORMAL){return Ws(this.id,t.id,a)}forceClassSelection(){return is(this.id)}kick(){return Di(this.id)}ban(){return Ni(this.id)}banEx(t,a){return X_(this.id,t,a)}isAdmin(){return Ei(this.id)}isInRangeOfPoint(t,a,n,i){return Pr(this.id,t,a,n,i)}isStreamedIn(t){return Ar(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===de.DUCK?!1:Vr(this.id,t)}getSkin(){return Ur(this.id)}isInAnyVehicle(){return Zs(this.id)}getSpecialAction(){return vs(this.id)}setSpecialAction(t){return ws(this.id,t)}setScore(t){return Br(this.id,t)}getScore(){return Fr(this.id)}getPing(){return Jr(this.id)||0}setPos(t,a,n){return Re(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===$.NONE)return;const[t,a,n]=Sr(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===$.SPECTATING}isWasted(){return this.getState()===$.WASTED}getState(){return $r(this.id)}getVersion(){return this.isNpc()?"":Mi(this.id)}setVirtualWorld(t){return Gs(this.id,t)}getVirtualWorld(){return Bs(this.id)}removeFromVehicle(){return Ts(this.id)}setWantedLevel(t){return t<0||t>6?(o.error("[Player]: player's wanted level ranges from 0 to 6"),!1):rs(this.id,t)}getWantedLevel(){return ss(this.id)}setFacingAngle(t){return yr(this.id,t)}getFacingAngle(){return Ir(this.id)}setWeather(t){return t<0||t>255?(o.warn("[Player]: The valid weather value is only 0 to 255"),!1):ns(this.id,t)}getWeather(){return Ui(this.id)}setTime(t,a){return t<0||t>23?(o.warn("[Player]: The valid hour value is only 0 to 23"),!1):a<0||a>59?(o.warn("[Player]: The valid minute value is only 0 to 59"),!1):es(this.id,t,a)}getTime(){const[t,a]=ts(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){return Is(this.id,t,a,n,i,r)}setTeam(t){t<0||t>T.NO_TEAM||Or(this.id,t)}getTeam(){return Gr(this.id)}setSkillLevel(t,a){return a<0||a>999?(o.warn("[Player]: The valid skill level is only 0 to 999"),!1):ps(this.id,t,a)}getName(){return Z_(this)}setName(t){return j_(this,t)}setVelocity(t,a,n){return ds(this.id,t,a,n)}getVelocity(){const[t,a,n]=cs(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return le(a,n,i)*t}getKeys(){const[t,a,n]=qr(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return ki(this.id)}getFightingStyle(){return os(this.id)}setFightingStyle(t){return ls(this.id,t)}setArmour(t){return Nr(this.id,t)}getArmour(){return Lr(this.id)}setCameraBehind(){return qs(this.id)}setCameraPos(t,a,n){return Js(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return Qs(this.id,t,a,n,i)}getCameraAspectRatio(){return sl(this.id)}getCameraFrontVector(){const[t,a,n]=tl(this.id);return{x:t,y:a,z:n}}getCameraMode(){return al(this.id)}getCameraPos(){const[t,a,n]=el(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=rl(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=il(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return ll(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),hs(this.id,t,a,n,i,r,s)}stopAudioStream(){return us(this.id)}playSound(t,a=0,n=0,i=0){return Ns(this.id,t,a,n,i)}static getMaxPlayers(){return Bn()}playCrimeReport(t,a){return a<3||a>22?(o.warn("[Player]: Available crime ids range from 3 to 22"),!1):_s(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,l,d=ie.CUT){return ol(this.id,t,a,n,i,r,s,l,d)}interpolateCameraLookAt(t,a,n,i,r,s,l,d=ie.CUT){return dl(this.id,t,a,n,i,r,s,l,d)}createExplosion(t,a,n,i,r){return i<0||i>13?(o.error("[Player]: The valid explosion type value is only 0 to 13"),!1):Ms(this.id,t,a,n,i,r)}static isConnected(t){return be(t)}isConnected(){return be(this.id)}disableRemoteVehicleCollisions(t){return Os(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=Cs(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return Es(this.id)}getSurfingVehicle(t){const a=gs(this.id);if(a!==T.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=4.1,i=!1,r=!0,s=!0,l=!1,d=0,c=!1){return lt(t,a)?Ls(this.id,t,a,n,i,r,s,l,d,+c):(o.error("[Player]: Invalid anim library or name"),!1)}clearAnimations(t=!1){return Rs(this.id,t)}getAnimationIndex(){return bs(this.id)}getAnimationName(){const[t,a]=ti(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){return ms(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{Re(this.id,t,a,n),setTimeout(()=>i(gr(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){return js(this.id,t,a,n,i)}clearWorldBounds(){return Xs(this.id)}setChatBubble(t,a,n,i){return fs(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return fr(this.id,t,a,n)}getCustomSkin(){return ks(this.id)}getTargetPlayer(t){const a=wr(this.id);if(a!==T.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,s]=Ps(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return Qr(this.id)}getWeaponData(t){if(t<0||t>12){o.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=jr(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return vr(this.id)}giveWeapon(t,a){return Wr(this.id,t,a)}setAmmo(t,a){return Rr(this.id,t,a)}getAmmo(){return br(this.id)}setArmedWeapon(t){return Zr(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(T.PLAYER_ID,T.PLAYER_ID,ce.CONNECT)}sendDeathMessage(t,a){return Gn(t===T.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){return ur(this.id,t===T.PLAYER_ID?t:t.id,a===T.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,l,d,c,u,p,g){return t<0||t>T.NO_TEAM||a<0||a>311||a==74||d<0||u<0||g<0?!1:hi(this.id,t,a,n,i,r,s,l,d,c,u,p,g)}redirectDownload(t){return G_(this.id,t)}sendClientCheck(t,a,n,i){const r=[2,5,69,70,71,72];return r.includes(t)?new Promise((s,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const d="[Player]: An attempt to check the player client response timed out",c=this.getPing(),u=(c>=200?0:c)+200;let p=null;const g=_t(({player:I,actionId:f,memAddr:v,data:V,next:ae})=>{if(I!==this)return ae();p?(clearTimeout(p),p=null,l(d)):s({actionId:f,memAddr:v,data:V});const It=ae();return g(),It});p=setTimeout(()=>{g(),l(d)},u),Oi(this.id,t,a,n,i)}):o.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){Hc(this.id,t)}cancelSelectTextDraw(){Vc(this.id)}beginObjectSelecting(){return R_(this.id)}endObjectEditing(){return b_(this.id)}getSurfingObject(t){const a=Ss(this.id);if(a!==T.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=ys(this.id);if(a!==T.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return H_(this.id,t)}editAttachedObject(t){return L_(this.id,t)}setAttachedObject(t,a,n,i=0,r=0,s=0,l=0,d=0,c=0,u=1,p=1,g=1,I=0,f=0){return this.isAttachedObjectSlotUsed(t)?0:M_(this.id,t,a,n,i,r,s,l,d,c,u,p,g,I,f)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?x_(this.id,t):0}getAnimationFlags(){return samp.callNative("GetPlayerAnimationFlags","i",this.id)}getLastSyncedTrailerID(){return samp.callNative("GetPlayerLastSyncedTrailerID","i",this.id)}getLastSyncedVehicleID(){return samp.callNative("GetPlayerLastSyncedVehicleID","i",this.id)}toggleWidescreen(t){return xi(this.id,t)}isWidescreenToggled(){return Hi(this.id)}getSpawnInfo(){return mi(this.id)}getSkillLevel(t){return Vi(this.id,t)}isCheckpointActive(){return Qo(this.id)}getCheckpoint(){return qo(this.id)}isRaceCheckpointActive(){return ed(this.id)}getRaceCheckpoint(){return td(this.id)}getWorldBounds(){Wi(this.id)}isInModShop(){return Zo(this.id)}getSirenState(){return jo(this.id)}getLandingGearState(){return Xo(this.id)}getHydraReactorAngle(){return Yo(this.id)}getTrainSpeed(){return zo(this.id)}getZAim(){return Ki(this.id)}getSurfingOffsets(){return Zi(this.id)}getRotationQuat(){return ji(this.id)}getDialogID(){return Xi(this.id)}getSpectateID(){return Yi(this.id)}getSpectateType(){return zi(this.id)}getRawIp(){return Fi(this.id)}setGravity(t){return $i(this.id,t)}getGravity(){return Ji(this.id)}setAdmin(t){return Ti(this.id,t)}isSpawned(){return Qi(this.id)}isControllable(){return qi(this.id)}isCameraTargetEnabled(){return er(this.id)}toggleGhostMode(t){return tr(this.id,t)}getGhostMode(){return ar(this.id)}getBuildingsRemoved(){return nr(this.id)}getAttachedObject(t){return k_(this.id,t)}removeWeapon(t){return ir(this.id,t)}isUsingOfficialClient(){return sr(this.id)}allowWeapons(t){return dr(this.id,t)}areWeaponsAllowed(){return cr(this.id)}gpci(t=this.charset){return wi(this.id,t)}isCuffed(){return cl(this.id)}isInDriveByMode(){return _l(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[ht]=_({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});ht(({next:e,player:t,dialogId:a,response:n,listItem:i,buffer:r})=>{const s=N.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:i,buffer:r})),e()});class N{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;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,a=!1){const n=N.waitingQueue.get(t);if(!n)return!1;a&&n.reject("[Dialog]: player timeout does not respond or second request show dialog"),N.waitingQueue.delete(t);const i=N.showingIds.indexOf(n.showId);return i>-1&&N.showingIds.splice(i,1),!0}show(t){return new Promise((a,n)=>{for(N.close(t);(this.id===-1||N.showingIds.includes(this.id))&&N.showingIds.length!==N.maxDialogId;)this.id=Math.floor(Math.random()*(N.maxDialogId+1));if(this.id===-1){n("[Dialog]: The maximum number of dialogs is reached");return}N.showingIds.push(this.id),N.waitingQueue.set(t,{resolve:a,reject:n,showId:this.id}),K_(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=P.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:i,inputText:r})}).catch(a=>Promise.reject(a)).finally(()=>N.delDialogTask(t))}static close(t){N.delDialogTask(t,!0),rr(t.id)}}const[ut]=_({name:"OnPlayerConnect",beforeEach(e){const t=new m(e);return m.players.set(e,t),N.close(t),{player:t}}}),[mt]=_({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:m.players.get(e),reason:t}},afterEach({player:e}){m.players.delete(e.id)}}),[pt]=_({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[rh]=_({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e);return{player:a,text:P.decodeFromBuf(t,a.charset),buffer:t}}}),[sh]=_({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:m.getInstance(e),enterExit:!!t,interior:a}}}),[lh]=_({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:m.getInstance(e),fX:t,fY:a,fZ:n}}}),[oh]=_({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:a}}}),[dh]=_({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:m.getInstance(e),killer:m.getInstance(t)||T.PLAYER_ID,reason:a}}}),[ch]=_({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[_h]=_({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newKeys:t,oldKeys:a}}}),[hh]=_({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[uh]=_({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[mh]=_({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[ph]=_({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newState:t,oldState:a}}}),[gh]=_({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[Sh]=_({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[yh]=_({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t)||T.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[Ih]=_({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Ph]=_({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:m.getInstance(e),type:t,crc:a}}}),[fh]=_({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}});let te=null;const[Ah,Ch]=_({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Eh,Th]=_({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[Dh,Nh]=_({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}});ut(({next:e})=>(!te&&m.getInstances().length&&(te=setInterval(()=>{m.getInstances().filter(t=>{const a=t.getState()!==$.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,Ch(t,t.lastUpdateTick))})},500)),e())),mt(({next:e})=>(te&&m.getInstances().length<=1&&(clearInterval(te),te=null),e()));function Lh(e){if(!m.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const a=e.getDrunkLevel();if(a<100){e.setDrunkLevel(2e3),e.lastDrunkLevel=2e3,e.lastFps=0;return}e.lastUpdateFpsTick=t;const n=e.lastFps,i=e.lastDrunkLevel-a-1;e.lastFps=i,e.lastDrunkLevel=a,Nh(e,i,n)}}pt(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Th(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,Lh(e)}return t()});const J=new Map,Q=new Map,gt=/[^/\s]+/gi,he={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"}},[Rh,bh]=_({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[vh,wh]=_({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Oh,ue]=_({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[Gh]=_({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e),n=P.decodeFromBuf(t,a.charset);return{player:a,buffer:t,cmdText:n}}});function Bh(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Gh(({player:e,cmdText:t,next:a})=>{const n=t.match(gt),i=Bh(n),r=i.find(u=>J.has(u)),s=i.map(u=>u.toLowerCase()).find(u=>Q.has(u)),l=n.join(" ");if(!r&&!s)return ue(e,l,he.NOT_EXIST);const d=bh(e,l);if(!d)return d;const c=[[r,J],[s,Q]];for(const[u,p]of c){if(!u)continue;const g=p.get(u),[,I]=g,f=l.replace(u,"").trim().split(" ");if(!I(e,f))return ue(e,l,he.REJECTED)}return wh(e,l)?a():ue(e,l,he.PERFORMED)});function Fh(e,t){return{player:e,subcommand:t}}class M{static caseSensitive=!1;constructor(){}static on(t,a){let n=M.caseSensitive,i,r;typeof t=="string"||t instanceof Array?(i=t,r=a):(i=t.command,r=t.run,typeof t.caseSensitive<"u"&&(n=t.caseSensitive));const s=Array.isArray(i)?i:[i],l=s.find(u=>!u.match(gt));if(l)return console.log(`error command ${l} format`),()=>{};const d=n?J:Q,c=s.map(u=>{const p=u.replaceAll("/",""),g=n?p:p.toLowerCase();if(!d.has(g)){const f=_({name:n?"$"+g:g,isNative:!1,beforeEach:Fh});d.set(g,f)}const[I]=d.get(g);return[g,I(r)]});return()=>{c.forEach(u=>{const[p,g]=u;g()===0&&d.delete(p)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(a=>{let n=a.replaceAll("/","");J.has(n)&&(H.has(n)&&H.delete(n),J.has(n)&&J.delete(n)),n=n.toLowerCase(),Q.has(n)&&(H.has(n)&&H.delete(n),Q.has(n)&&Q.delete(n))})}static enableCaseSensitive(){M.caseSensitive=!0}static disableCaseSensitive(){M.caseSensitive=!1}static isCaseSensitive(){return M.caseSensitive}}const me=Object.freeze({onConnect:ut,onDisconnect:mt,onPause:Ah,onResume:Eh,onUpdate:pt,onText:rh,onEnterExitModShop:sh,onClickMap:lh,onClickPlayer:oh,onDeath:dh,onGiveDamage:ch,onKeyStateChange:_h,onRequestClass:hh,onRequestSpawn:uh,onSpawn:mh,onStateChange:ph,onStreamIn:gh,onStreamOut:Sh,onTakeDamage:yh,onInteriorChange:Ih,onRequestDownload:Ph,onFinishedDownloading:fh,onCheckResponse:_t,onCommandReceived:Rh,onCommandPerformed:vh,onCommandError:Oh,onCommandText:M.on,offCommandText:M.off,onDialogResponse:ht,onLocaleChange:th,onCharsetChange:nh,onFpsUpdate:Dh}),kh=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Mh=[[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],[],[],[],[],[],[],[],[]],xh=(e,t)=>{if(!pe(e))return o.error("[vehicleUtils]: Invalid model id"),!1;const a=Mh[e-400];if(a===null)return!1;const n=t-1e3;return kh.includes(n)||a.includes(n)},pe=e=>e>=400&&e<=611,Hh=(e,t)=>{if(t<0||t>2)return!1;const a=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 a===void 0?!1:t<=a};class C{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,a=!1){this.sourceInfo=t,this.isStatic=a}create(t=!1){if(this.id!==-1)return o.warn("[Vehicle]: Unable to create the vehicle again");if(C.createdCount===O.MAX_VEHICLES)return o.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:i,z:r,zAngle:s,color:l,respawnDelay:d,addSiren:c}=this.sourceInfo;if(!(!t&&!pe(a))){if(this.isStatic){if(d===void 0){this._id=Ho(a,n,i,r,s,l[0],l[1]);return}this._id=Vo(a,n,i,r,s,l[0],l[1],d||-1,c||!1)}else this._id=$l(a,n,i,r,s,l[0],l[1],d||-1,c||!1);C.createdCount++,C.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return o.warn("[Vehicle]: Unable to destroy the vehicle before create");Jl(this.id),C.createdCount--,C.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:xh(this.getModel(),t)?So(this.id,t):(o.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(C.getComponentType(t))===0?(o.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):yo(this.id,t)}getComponentInSlot(t){return Ro(this.id,t)}linkToInterior(t){return this.id===-1?0:go(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Mo(this.id,t)}getVirtualWorld(){return this.id===-1?0:xo(this.id)}repair(){return this.id===-1?0:vo(this.id)}setPos(t,a,n){return this.id===-1?0:eo(this.id,t,a,n)}getPos(){if(this.id!==-1)return ql(this.id)}getHealth(){return this.id===-1?0:Ao(this.id)}setHealth(t){return this.id===-1?0:fo(this.id,t)}isPlayerIn(t){return this.id===-1?!1:Ks(t.id,this.id)}putPlayerIn(t,a){return this.id===-1||a<0?0:(a>4&&o.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),As(t.id,this.id,a))}getZAngle(){return this.id===-1?0:to(this.id)}setZAngle(t){return this.id===-1?0:io(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(o.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?No(this.id,t):(o.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:Io(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Oo(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=wo(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return le(a,n,i)*t}setAngularVelocity(t,a,n){return this.id===-1?0:Go(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Bo(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Fo(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return no(this.id,t,a,n)}getModel(){return Lo(this.id)}static getModelInfo(t,a){return ko(t,a)}getModelInfo(t){if(this.id!==-1)return C.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=ao(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:po(this.id)}isStreamedIn(t){return this.id===-1?!1:Ql(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:_o(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:uo(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return ho(this.id)}getParamsCarWindows(){if(this.id!==-1)return mo(this.id)}setParamsEx(t,a,n,i,r,s,l){return this.id===-1?0:lo(this.id,t,a,n,i,r,s,l)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,s,l]=oo(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:l}}getParamsSirenState(){return this.id===-1?-2:co(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:ro(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:To(this.id)}changePaintjob(t){return this.id===-1||!Hh(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),Po(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Co(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Eo(this.id)}getTrailer(){if(this.id!==-1)return C.getInstances().find(t=>t.id===Do(this.id))}isValid(){return we(this.id)}getMatrix(){if(this.id!==-1)return Yl(this.id)}getTrainSpeed(){return this.id===-1?0:Xl(this.id)}getHydraReactorAngle(){return this.id===-1?0:jl(this.id)}getLandingGearState(){return this.id===-1?0:Zl(this.id)}getSirenState(){return this.id===-1?0:Kl(this.id)}getDriver(t){if(this.id!==-1)return t.get(Ul(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(Vl(this.id))}isSirenEnabled(){return xl(this.id)}toggleSirenEnabled(t){return this.id===-1?0:kl(this.id,t)}setParamsSirenState(t){return this.id===-1?0:Ml(this.id,t)}isDead(){return this.id===-1?!0:Gl(this.id)}setDead(t){return this.id===-1?!1:Bl(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Fl(this.id,t)}getRespawnTick(){return this.id===-1?0:wl(this.id)}setRespawnTick(t){return this.id===-1?!1:Ol(this.id,t)}isOccupied(){return this.id===-1?!1:vl(this.id)}hasBeenOccupied(){return this.id===-1?!1:bl(this.id)}getOccupiedTick(){return this.id===-1?0:Ll(this.id)}setOccupiedTick(t){return this.id===-1?0:Rl(this.id,t)}getCab(){return this.id===-1?0:Nl(this.id)}getRespawnDelay(){return this.id===-1?0:Dl(this.id)}setRespawnDelay(t){return this.id===-1?0:Tl(this.id,t)}getNumberPlate(){return this.id===-1?"":El(this.id)}getInterior(){return this.id===-1?0:Cl(this.id)}getPaintjob(){return this.id===-1?-1:Al(this.id)}getColors(){if(this.id!==-1)return fl(this.id)}setSpawnInfo(t,a,n,i,r,s,l,d=-2,c=-2,u=!1){return this.id===-1||!u&&!pe(t)?0:Pl(this.id,t,a,n,i,r,y(s),y(l),d,c)}getSpawnInfo(){if(this.id!==-1)return Il(this.id)}getRandomColorPair(){if(this.id!==-1)return ve(this.getModel())}show(){return this.id===-1?!1:Uo(this.id)}hide(){return this.id===-1?!1:Wo(this.id)}isHidden(){return this.id===-1?!1:Ko(this.id)}getVehicleOccupant(t){return $o(this.id,t)}getVehicleMaxPassengers(){return Oe(this.getModel())}countVehicleOccupants(){return Jo(this.getModel())}static getVehicleMaxPassengers=Oe;static getRandomColorPair=ve;static getComponentType=bo;static colorIndexToColor=zl;static isValid=we;static getModelsUsed=Wl;static getModelCount=Hl;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[St]=_({name:"OnGameModeInit"}),[yt]=_({name:"OnGameModeExit"}),[Vh]=_({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[Uh]=_({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:P.decodeFromBuf(e)}}}),[Wh]=_({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:P.decodeFromBuf(e),password:P.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),Z=[],q=[],ge=new Map,Se=async e=>{try{return await new Promise((t,a)=>{const n=Z.findIndex(l=>l.name===e);if(n===-1)return;const i=Z[n];function r(l){l.length&&ge.set(e,l),Z.splice(n,1),q.push(i),setTimeout(t)}const s=i.load();s instanceof Promise?s.then(r).catch(a):r(s)})}catch(t){o.error(`[GameMode]: script ${e} load fail`),o.warn(t)}},ye=async e=>{try{return await new Promise((t,a)=>{const n=q.findIndex(d=>d.name===e);if(n===-1)return;const i=q[n],r=ge.get(e);r&&(r.forEach(d=>d()),ge.delete(e));function s(){q.splice(n,1),Z.push(i),setTimeout(t)}const l=i.unload();l instanceof Promise?l.then(s).catch(a):s()})}catch(t){o.error(`[GameMode]: script ${e} unload fail`),o.warn(t)}},Kh=async e=>{await ye(e),await Se(e)};St(async({next:e})=>{const t=Z.map(a=>a.name);for(const a of t)await Se(a);return e()}),yt(async({next:e})=>{const t=q.map(a=>a.name);for(const a of t)await ye(a);return e()});const Zh=function(e,...t){if(Z.some(a=>a.name===e.name)||q.some(a=>a.name===e.name)){o.warn(`[GameMode]: script ${e.name} has already been applied`);return}e.load=e.load.bind(e,...t),Z.push(e)};class R{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=St;static onExit=yt;static onIncomingConnection=Vh;static onRconCommand=Uh;static onRconLoginAttempt=Wh;static use(t,...a){return Zh(t,...a),this}static loadUseScript=Se;static reloadUseScript=Kh;static unloadUseScript=ye;static enableCmdCaseSensitive=M.enableCaseSensitive;static disableCmdCaseSensitive=M.disableCaseSensitive;static isCmdCaseSensitive=M.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){return t<0||t>255?(o.error("[GameMode]: The valid weather value is only 0 to 255"),0):Un(t)}static setWorldTime(t){return t<0||t>23?(o.error("[GameMode]: The valid hour value is only 0 to 23"),0):xn(t)}static getWorldTime=Hn;static setTeamCount=di;static sendRconCommand=Y_;static addPlayerClass=ci;static addPlayerClassEx=_i;static createExplosion(t,a,n,i,r){return i<0||i>13?(o.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Zn(t,a,n,i,r)}static manualVehicleEngineAndLights=so;static blockIpAddress=bi;static unBlockIpAddress=vi;static getServerTickRate=ei;static addSimpleModel(t,a,n,i,r){return this.checkSimpleModel(t,a,n,i,r)?w_(t,a,n,i,r):0}static addSimpleModelTimed(t,a,n,i,r,s,l){return this.checkSimpleModel(t,a,n,i,r,s,l)?O_(t,a,n,i,r,s,l):0}static checkSimpleModel(t,a,n,i,r,s,l){return t<-1?(o.error("[GameMode]: AddSimpleModel - Error virtual world"),0):a<0?(o.error("[GameMode]: AddSimpleModel - Error baseId"),0):n>-1e3||n<-3e4?(o.error("[GameMode]: AddSimpleModel - Error newId range"),0):i.trim().length<0?(o.error("[GameMode]: AddSimpleModel - Empty dffName"),0):r.trim().length<0?(o.error("[GameMode]: AddSimpleModel - Empty txdName"),0):s!==void 0&&(s<0||s>23)?(o.error("[GameMode]: AddSimpleModel - Error time on range"),0):l!==void 0&&(l<0||l>23)?(o.error("[GameMode]: AddSimpleModel - Error time off range"),0):1}static isValidCustomModel=Ge;static getCustomModePath=V_;static getConsoleVarAsString(t,a="utf8"){const n=En(t);return P.decodeFromBuf(P.getValidStr(n),a)}static getRestartTime=vn;static setRestartTime=bn;static allowAdminTeleport=yn;static isAdminTeleportAllowed=In;static allowInteriorWeapons=Pn;static areInteriorWeaponsAllowed=fn;static areAllAnimationsEnabled=An;static enableAllAnimations=Cn;static enableStuntBonusForAll=ai;static enableVehicleFriendlyFire=Vn;static enableZoneNames=jn;static disableInteriorEnterExits=Yn;static setGameModeText=Fn;static getGravity=Wn;static setGravity=Kn;static showNameTags=kn;static disableNameTagLOS=$n;static usePlayerPedAnims=Xn;static showPlayerMarkers=Mn;static limitPlayerMarkerRadius=Qn;static limitGlobalChatRadius=Jn;static setNameTagDrawDistance=zn;static findModelFileNameFromCRC=B_;static findTextureFileNameFromCRC=F_;static getWeaponName=si;static setObjectsDefaultCameraCollision=v_;static vectorSize=le;static clearBanList=Gi;static isBanned=Bi;static isValidNickName=_n;static allowNickNameCharacter=hn;static isNickNameCharacterAllowed=un;static addServerRule=mn;static setServerRule=pn;static isValidServerRule=gn;static removeServerRule=Sn;static getWeaponSlot=ri;static getAvailableClasses=Le;static getPlayerClass=li;static editPlayerClass=oi;static toggleChatTextReplacement=ni;static chatTextReplacementToggled=ii;static getConsoleVarAsInt=Tn;static getConsoleVarAsBool=Dn;static getWeather=Nn;static getServerRuleFlag=Ln;static setServerRuleFlags=Rn}R.onExit(({next:e})=>(C.getInstances().forEach(t=>t.destroy()),e()));const[jh]=_({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:C.getInstance(e),player:m.getInstance(t)}}}),[Xh]=_({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:C.getInstance(e),killer:m.getInstance(t)}}}),[Yh]=_({name:"OnVehicleMod",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),componentId:a}}}),[zh]=_({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),paintjobId:a}}}),[$h]=_({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:m.getInstance(e),vehicle:C.getInstance(t),color:[a,n]}}}),[Jh]=_({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),state:!!a}}}),[Qh]=_({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:C.getInstance(e)}}}),[qh]=_({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:C.getInstance(e),forPlayer:m.getInstance(t)}}}),[eu]=_({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:C.getInstance(e),forPlayer:m.getInstance(t)}}}),[tu]=_({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:C.getInstance(t),isPassenger:!!a}}}),[au]=_({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:C.getInstance(t)}}}),[nu]=_({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:C.getInstance(e),seatId:t}}}),[iu]=_({name:"OnNpcExitVehicle"}),[ru]=_({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:C.getInstance(t)}}}),su=Object.freeze({onDamageStatusUpdate:jh,onDeath:Xh,onMod:Yh,onPaintjob:zh,onRespray:$h,onSirenStateChange:Jh,onSpawn:Qh,onStreamIn:qh,onStreamOut:eu,onPlayerEnter:tu,onPlayerExit:au,onNpcEnter:nu,onNpcExit:iu,onTrailerUpdate:ru});class lu{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return Ri()}static getPlayerNetworkStats(t){return Li(t.id)}static getBytesReceived(t){return Si(t.id)}static getBytesSent(t){return Ii(t.id)}static getConnectionStatus(t){return Ai(t.id)}static getConnectedTime(t){return pi(t.id)}static getIpPort(t){return Ci(t.id)}static getMessagesReceived(t){return gi(t.id)}static getMessagesRecvPerSecond(t){return Pi(t.id)}static getMessagesSent(t){return yi(t.id)}static getPacketLossPercent(t){return fi(t.id)}}class ou{_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,a,n){this._text=t,this._time=a,this._style=n}static hideForAll(t){On(t)}static has(t,a){return hr(t.id,a)}forAll(){wn(this.text,this.time,this.style)}forPlayer(t){_r(t.id,this.text,this.time,this.style)}hideForPlayer(t){return mr(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){o.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,a,n,i,r,s){this._title=t,this.columns=a,this._x=n,this._y=i,this._col1width=r,this._col2width=s}create(){return this._id!==-1?o.error("[Menu]: Cannot be created twice"):z.getInstances().length===O.MAX_MENUS?o.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=dd(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),z.menus.set(this._id,this),this)}destroy(){return this._id===-1?o.error("[Menu]: Cannot destroy before create"):(cd(this.id),z.menus.delete(this._id),this._id=-1,this)}addItem(t,a){return this._id===-1?o.error("[Menu]: Cannot addItem before create"):this._itemCount===O.MAX_MENU_ROW?o.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?o.error("[Menu]: Wrong number of columns"):(_d(this.id,t,a),this._itemCount++,this)}setColumnHeader(t,a){return this._id===-1?o.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?o.error("[Menu]: Wrong number of columns"):(hd(this.id,t,a),this)}disable(){return this._id===-1?o.error("[Menu]: Cannot disable menu before create"):(gd(this.id),this)}disableRow(t){if(this._id===-1)return o.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return o.error("[Menu]: Wrong number of rows");Sd(this.id,t)}isValid(){return pd(this.id)}showForPlayer(t){return this._id===-1?o.error("[Menu]: Cannot show menu before create"):ud(this.id,t.id)}hideForPlayer(t){return this._id===-1?o.error("[Menu]: Cannot hide menu before create"):md(this.id,t.id)}isDisabled(){return this._id===-1?!1:ad(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:nd(this.id,t)}getItems(t){return this._id===-1?0:id(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:rd(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:sd(this.id)}getColumnHeader(t){return this._id===-1?o.error("[Menu]: Cannot get column header before create"):ld(this.id,t)}getItem(t,a){if(this._id===-1)return o.error("[Menu]: Cannot get item before create");if(!(a<0||a>this.getItems(t)-1))return od(this.id,t,a)}static getInstance(t){return this.menus.get(t)}static getInstances(){return[...this.menus.values()]}static getInstanceByPlayer(t){return this.getInstances().find(a=>a.id===yd(t.id))}}R.onExit(({next:e})=>(z.getInstances().forEach(t=>t.destroy()),e()));const[du]=_({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[cu]=_({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=m.getInstance(e),n=z.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),_u=Object.freeze({onPlayerExited:du,onPlayerSelectedRow:cu});class L{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 o.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(L.getInstances(!1).length===O.MAX_GANG_ZONES)return o.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=kd(t.id,a,n,i,r);const s=me.onDisconnect(({player:l,next:d})=>{d(),l===this.sourceInfo.player&&(this.destroy(),s())});L.playerGangZones.set(this.id,this)}else{if(L.getInstances(!0).length===O.MAX_GANG_ZONES)return o.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=Nd(a,n,i,r),L.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)return o.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(Md(t.id,this.id),L.playerGangZones.delete(this.id)):(Ld(this.id),L.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){return this.id===-1?(o.warn("[GangZone]: Unable to show the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be show for all."),this):(bd(this.id,t),this)}showForPlayer(t,a){if(this.id===-1)return o.warn("[GangZone]: Unable to show the gangzone before create"),this;const n=this.sourceInfo.player;if(n)xd(n.id,this.id,y(t));else if(a)Rd(a.id,this.id,t);else return o.warn("[GangZone]: invalid player for show"),this;return this}hideForAll(){return this.id===-1?(o.warn("[GangZone]: Unable to hide the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be hide for all."),this):(wd(this.id),this)}hideForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to hide the gangzone before create"),this;const a=this.sourceInfo.player;if(a)Hd(a.id,this.id);else if(t)vd(t.id,this.id);else return o.warn("[GangZone]: invalid player for hide"),this;return this}flashForAll(t){return this.id===-1?(o.warn("[GangZone]: Unable to flash the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be flash for all."),this):(Gd(this.id,t),this)}flashForPlayer(t,a){if(this.id===-1)return o.warn("[GangZone]: Unable to flash the gangzone before create"),this;const n=this.sourceInfo.player;if(n)Vd(n.id,this.id,y(a));else if(t)Od(t.id,this.id,a);else return o.warn("[GangZone]: invalid player for flash"),this;return this}stopFlashForAll(){return this.id===-1?(o.warn("[GangZone]: Unable to stop flash the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be stop flash for all."),this):(Fd(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to stop flash the gangzone before create"),this;const a=this.sourceInfo.player;if(a)Ud(a.id,this.id);else if(t)Bd(t.id,this.id);else return o.warn("[GangZone]: invalid player for flash"),this;return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Wd(t.id,this.id):Id(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Kd(a.id,this.id):Pd(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Zd(a.id,this.id):fd(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?jd(a.id,this.id):Ad(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?Xd(a.id,this.id):Cd(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Yd(a.id,this.id):Ed(t.id,this.id)}getPos(){if(this.id===-1)return o.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?zd(t.id,this.id):Td(this.id)}useCheck(t){if(this.id===-1)return o.warn("[GangZone]: Unable to use check before create"),this;const a=this.sourceInfo.player;return a?$d(a.id,this.id,t):Dd(this.id,t),this}static getInstance(t,a){return a?this.globalGangZones.get(t):this.playerGangZones.get(t)}static getInstances(t){return t?[...this.globalGangZones.values()]:[...this.playerGangZones.values()]}}R.onExit(({next:e})=>(L.getInstances(!0).forEach(t=>t.destroy()),L.getInstances(!1).forEach(t=>t.destroy()),e()));const[hu]=_({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:L.getInstance(t,!0)}}}),[uu]=_({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:L.getInstance(t,!0)}}}),[mu]=_({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:L.getInstance(t,!1)}}}),[pu]=_({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:L.getInstance(t,!1)}}}),[gu]=_({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:L.getInstance(t,!0)}}}),[Su]=_({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:L.getInstance(t,!1)}}}),yu=Object.freeze({onPlayerEnterGlobal:hu,onPlayerLeaveGlobal:uu,onPlayerEnterPlayer:mu,onPlayerLeavePlayer:pu,onPlayerClickGlobal:gu,onPlayerClickPlayer:Su}),A={skip:!1};R.onInit(({next:e})=>(A.skip=!1,e())),R.onExit(({next:e})=>(A.skip=!0,e()));const[j]=_({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[X]=_({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[Iu]=_({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class D{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=Nt;static setTickRate=Lt;static getPlayerTickRate(t){return Rt(t.id)}static setPlayerTickRate(t,a=50){return bt(t.id,a)}static toggleChunkStream=vt;static isToggleChunkStream=wt;static getChunkTickRate(t,a=-1){return a instanceof m?Pe(t,a.id):Pe(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof m?fe(t,a,n.id):fe(t,a,n)}static getChunkSize=Ot;static setChunkSize=Gt;static getMaxItems=Bt;static setMaxItems=Ft;static getVisibleItems(t,a=-1){return a instanceof m?Ae(t,a.id):Ae(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof m?Ce(t,a,n.id):Ce(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof m?Ee(t,a.id):Ee(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof m?Te(t,n.id):Te(t,a,n)}static getTypePriority=kt;static setTypePriority=Mt;static getCellDistance=xt;static setCellDistance=Ht;static getCellSize=Vt;static setCellSize=Ut;static toggleItemStatic=Wt;static isToggleItemStatic=Kt;static toggleItemInvAreas=Zt;static isToggleItemInvAreas=jt;static toggleItemCallbacks=Xt;static isToggleItemCallbacks=Yt;static toggleErrorCallback=zt;static isToggleErrorCallback=$t;static amxUnloadDestroyItems=Jt;static processActiveItems=Qt;static toggleIdleUpdate(t,a){return qt(t.id,a)}static isToggleIdleUpdate(t){return ea(t.id)}static toggleCameraUpdate(t,a){return ta(t.id,a)}static isToggleCameraUpdate(t){return aa(t.id)}static toggleItemUpdate(t,a,n){return na(t.id,a,n)}static isToggleItemUpdate(t,a){return ia(t.id,a)}static getLastUpdateTime(){return ra()}static update(t,a=-1){return sa(t.id,a)}static updateEx(t,a,n,i,r,s,l,d,c){return la(t.id,a,n,i,r,s,l,d,c)}static getDistanceToItem=oa;static toggleItem(t,a,n,i){return da(t.id,a,n,i)}static isToggleItem(t,a,n){return ca(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return _a(t.id,a,n,i)}static getItemInternalID(t,a,n){return ha(t.id,a,n)}static getItemStreamerID(t,a,n){return ua(t.id,a,n)}static isItemVisible(t,a,n){return ma(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return pa(t.id,a,n)}static countVisibleItems(t,a,n=1){return ga(t.id,a,n)}static destroyAllItems=Sa;static countItems=ya;static getNearbyItems=Ia;static getAllVisibleItems(t,a,n){return Pa(t.id,a,n)}static getItemPos=fa;static setItemPos=Aa;static getItemOffset=Ca;static setItemOffset=Ea;static getFloatData=Ta;static setFloatData=Da;static getIntData=Na;static setIntData=La;static getArrayData=Ra;static setArrayData=ba;static isInArrayData=va;static appendArrayData=wa;static removeArrayData=Oa;static getArrayDataLength=Ga;static getUpperBound=Ba;static onPluginError=Iu}class W{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{x:d,y:c,z:u,type:p,color:g,extended:I}=this.sourceInfo;return p<0||p>63?o.error("[StreamerMapIcon]: Invalid map icon type"):(t??=Fa.LOCAL,a??=ne.MAP_ICON_SD,l??=0,I?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=ka(d,c,u,p,y(g),t,a,n,i,r,s,l),W.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=Ma(d,c,u,p,y(g),n,i,r,a,t,s,l),W.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(!A.skip&&xa(this.id),W.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:Ha(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):D.toggleItemCallbacks(E.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,D.isToggleItemCallbacks(E.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}R.onExit(({next:e})=>(W.getInstances().forEach(t=>t.destroy()),e()));const[Pu,fu]=_({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Au,Cu]=_({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?fu(a,W.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?Cu(a,W.getInstance(t)):n());const Eu=Object.freeze({onStreamIn:Pu,onStreamOut:Au});class U{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:l,modelId:d,x:c,y:u,z:p,extended:g}=this.sourceInfo;return l<0?o.error("[StreamerPickup]: Invalid pickup type"):(t??=h.StreamerDistances.PICKUP_SD,s??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=h.CreateDynamicPickupEx(d,l,c,u,p,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=h.CreateDynamicPickup(d,l,c,u,p,a,n,i,t,r,s)),U.pickups.set(this._id,this),this)}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(!A.skip&&h.DestroyDynamicPickup(this.id),U.pickups.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:h.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerPickup]: Unable to toggle callbacks before create"):D.toggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,D.isToggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}R.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[Tu,Du]=_({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Nu,Lu]=_({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Du(a,U.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?Lu(a,U.getInstance(t)):n());const[Ru]=_({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:U.getInstance(t)}}}),bu=Object.freeze({onPlayerPickUp:Ru,onStreamIn:Tu,onStreamOut:Nu});class F{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{size:l,x:d,y:c,z:u,extended:p}=this.sourceInfo;return l<0?o.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=ne.CP_SD,s??=0,p?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=Va(d,c,u,l,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=Ua(d,c,u,l,a,n,i,t,r,s)),F.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(!A.skip&&De(this.id),F.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:Ne(this.id)}togglePlayer(t,a){return this.id===-1?o.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(Wa(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Ka(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Za(t.id,this.id)}static getPlayerVisible(t){return F.checkpoints.get(ja(t.id))}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):D.toggleItemCallbacks(E.CP,this.id,t)}isToggleCallbacks(){return this.id,D.isToggleItemCallbacks(E.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}R.onExit(({next:e})=>(F.checkpoints.forEach(t=>t.destroy()),e()));const[vu,wu]=_({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ou,Gu]=_({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?wu(a,F.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?Gu(a,F.getInstance(t)):n());const[Bu]=_({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:F.getInstance(t)}}}),[Fu]=_({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:F.getInstance(t)}}}),ku=Object.freeze({onPlayerEnter:Bu,onPlayerLeave:Fu,onStreamIn:vu,onStreamOut:Ou});class k{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:l,size:d,x:c,y:u,z:p,nextX:g,nextY:I,nextZ:f,extended:v}=this.sourceInfo;return l<0||l>8?o.error("[StreamerRaceCP]: Invalid type"):d<0?o.error("[StreamerRaceCP]: Invalid size"):(t??=ne.RACE_CP_SD,s??=0,v?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=Xa(l,c,u,p,g,I,f,d,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=Ya(l,c,u,p,g,I,f,d,a,n,i,t,r,s)),k.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(!A.skip&&De(this.id),k.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:Ne(this.id)}togglePlayer(t,a){return this.id===-1?o.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(za(t.id,this.id,a),this)}static togglePlayerAll(t,a){return $a(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Ja(t.id,this.id)}static getPlayerVisible(t){return k.checkpoints.get(Qa(t.id))}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):D.toggleItemCallbacks(E.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,D.isToggleItemCallbacks(E.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}R.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),e()));const[Mu,xu]=_({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Hu,Vu]=_({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?xu(a,k.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?Vu(a,k.getInstance(t)):n());const[Uu]=_({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCP:k.getInstance(t)}}}),[Wu]=_({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCp:k.getInstance(t)}}}),Ku=Object.freeze({onPlayerEnter:Uu,onPlayerLeave:Wu,onStreamIn:Mu,onStreamOut:Hu});class x{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{modelId:l,x:d,y:c,z:u,r:p,invulnerable:g,health:I,extended:f}=this.sourceInfo;return t??=h.StreamerDistances.ACTOR_SD,s??=0,f?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=h.CreateDynamicActorEx(l,d,c,u,p,g,I,t,a,n,i,r,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=h.CreateDynamicActor(l,d,c,u,p,g,I,a,n,i,t,r,s)),x.actors.set(this.id,this),this}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerActor]: Unable to destroy the actor before create"):(!A.skip&&h.DestroyDynamicActor(this.id),x.actors.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:h.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:h.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?o.warn("[StreamerActor]: Unable to get virtual world before create"):h.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?o.warn("[StreamerActor]: Unable to set virtual world before create"):h.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1){if(this.id===-1)return o.warn("[StreamerActor]: Unable to apply animation before create");const l=ot(t,a);return l===void 0?o.error("[StreamerActor]: Invalid anim library or name"):h.ApplyDynamicActorAnimation(this.id,t,a,4.1,n,i,r,s,n?0:l)}clearAnimations(){return this.id===-1?o.warn("[StreamerActor]: Unable to clear animation before create"):h.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?o.warn("[StreamerActor]: Unable to get facing angle before create"):h.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?o.warn("[StreamerActor]: Unable to set facing angle before create"):h.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?o.warn("[StreamerActor]: Unable to get pos before create"):h.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?o.warn("[StreamerActor]: Unable to set pos before create"):h.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?o.warn("[StreamerActor]: Unable to get health before create"):h.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?o.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?o.warn("[StreamerActor]: Unable to set invulnerable before create"):h.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=h.GetPlayerTargetDynamicActor(t.id);return x.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=h.GetPlayerCameraTargetDynActor(t.id);return x.actors.get(a)}getSkin(){return this.id===-1?o.warn("[StreamerActor]: Unable to get skin before create"):gl(this.id)}setSkin(t,a=!1){return this.id===-1?o.warn("[StreamerActor]: Unable to set skin before create"):!a&&(t<0||t>311||t==74)?0:Sl(this.id,t)}getSpawnInfo(){return this.id===-1?o.warn("[StreamerActor]: Unable to get spawn info before create"):yl(this.id)}getAnimation(){return this.id===-1?o.warn("[StreamerActor]: Unable to get animation before create"):h.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerActor]: Unable to toggle callbacks before create"):D.toggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,D.isToggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}R.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),e()));const[Zu]=_({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:x.getInstance(e),forPlayer:m.getInstance(t)}}}),[ju]=_({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:x.getInstance(e),forPlayer:m.getInstance(t)}}}),[Xu]=_({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),actor:x.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),Yu=Object.freeze({onStreamIn:Zu,onStreamOut:ju,onPlayerGiveDamage:Xu});class Y{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:i,worldId:r,interiorId:s,playerId:l,areaId:d,priority:c}=this.sourceInfo;const{charset:u,text:p,color:g,drawDistance:I,x:f,y:v,z:V,extended:ae}=this.sourceInfo;return t??=T.PLAYER_ID,a??=T.VEHICLE_ID,i??=ne.TEXT_3D_LABEL_SD,n??=!1,c??=0,ae?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=$_(p,y(g),f,v,V,I,t,a,n,i,r,s,l,d,c,u||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=z_(u||"utf8",p,y(g),f,v,V,I,t,a,n,r,s,l,i,d,c)),Y.texts.set(this.id,this),this}destroy(){return this.id===-1&&!A.skip?o.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(!A.skip&&qa(this.id),Y.texts.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:en(this.id)}getColor(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to get text before create"):Q_(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=n,J_(this.id,y(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):D.toggleItemCallbacks(E.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,D.isToggleItemCallbacks(E.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}R.onExit(({next:e})=>(Y.getInstances().forEach(t=>t.destroy()),e()));const[zu,$u]=_({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ju,Qu]=_({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?$u(a,Y.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?Qu(a,Y.getInstance(t)):n());const qu=Object.freeze({onStreamIn:zu,onStreamOut:Ju});class w{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{modelId:d,x:c,y:u,z:p,rx:g,ry:I,rz:f,extended:v}=this.sourceInfo;return t??=h.StreamerDistances.OBJECT_SD,a??=h.StreamerDistances.OBJECT_DD,l??=0,v?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=h.CreateDynamicObjectEx(d,c,u,p,g,I,f,t,a,n,i,r,s,l)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=h.CreateDynamicObject(d,c,u,p,g,I,f,n,i,r,t,a,s,l)),w.objects.set(this._id,this),this}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerObject]: Unable to destroy the object before create"):(!A.skip&&h.DestroyDynamicObject(this.id),w.objects.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:h.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?o.warn("[StreamerObject]: Cannot get position before create"):h.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?o.warn("[StreamerObject]: Cannot set position before create"):h.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?o.warn("[StreamerObject]: Cannot get rotation before create"):h.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?o.warn("[StreamerObject]: Cannot set rotation before create"):h.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,i,r=-1e3,s=-1e3,l=-1e3){return this.id===-1?o.warn("[StreamerObject]: Cannot start moving before create"):i<0?o.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&o.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),h.MoveDynamicObject(this.id,t,a,n,i,r,s,l))}stop(){return this.id===-1?o.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?o.warn("[StreamerObject]: Cannot attachCamera before both are created"):h.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,i,r,s,l,d=!0){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachToObject before both are created"):h.AttachDynamicObjectToObject(this.id,t.id,a,n,i,r,s,l,d)}attachToPlayer(t,a,n,i,r,s,l){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToPlayer(this.id,t.id,a,n,i,r,s,l)}attachToVehicle(t,a,n,i,r,s,l){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToVehicle(this.id,t.id,a,n,i,r,s,l)}edit(t){return this.id===-1?o.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,a,n){return this.id===-1?o.warn("[StreamerObject]: Unable to get material before create"):h.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,i,r="#000"){return this.id===-1?o.warn("[StreamerObject]: Unable to set material before create"):h.SetDynamicObjectMaterial(this.id,t,a,n,i,y(r))}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?o.warn("[StreamerObject]: Unable to get material text before create"):eh(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=h.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,l=1,d="#fff",c="#000",u=0){return this.id===-1?o.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,q_(t||"utf8",this.id,a,n,i,r,s,l,y(d),y(c),u))}getPlayerCameraTarget(t){const a=h.GetPlayerCameraTargetDynObject(t.id);if(a!==T.OBJECT_ID)return w.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerObject]: Unable to toggle callbacks before create"):D.toggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,D.isToggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return h.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return h.GetDynamicObjectNoCameraCol(this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}R.onExit(({next:e})=>(w.getInstances().forEach(t=>t.destroy()),e()));const[em,tm]=_({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[am,nm]=_({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?tm(a,w.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?nm(a,w.getInstance(t)):n());const[im]=_({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:w.getInstance(e)}}}),[rm]=_({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,s,l,d){return{player:m.getInstance(e),object:w.getInstance(t),response:a,x:n,y:i,z:r,rX:s,rY:l,rZ:d}}}),[sm]=_({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:w.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[lm]=_({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:w.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[om]=_({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,l,d,c,u,p,g,I){return{player:m.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:l,fRotX:d,fRotY:c,fRotZ:u,fScaleX:p,fScaleY:g,fScaleZ:I}}}),dm=Object.freeze({onMoved:im,onPlayerEdit:rm,onPlayerSelect:sm,onPlayerShoot:lm,onPlayerEditAttached:om,onStreamIn:em,onStreamOut:am});class b{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 o.warn("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:n}=this.sourceInfo;const{type:i,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],i==="circle"){const{x:s,y:l,size:d}=this.sourceInfo;if(d<0)return o.error("[StreamerArea]: Invalid circle extend size");this._id=h.CreateDynamicCircleEx(s,l,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:l,minZ:d,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=h.CreateDynamicCuboidEx(s,l,d,c,u,p,t,a,n)}else if(i==="cylinder"){const{x:s,y:l,minZ:d,maxZ:c,size:u}=this.sourceInfo;if(u<0)return o.error("[StreamerArea]: Invalid cylinder extend size");this._id=h.CreateDynamicCylinderEx(s,l,d,c,u,t,a,n)}else if(i==="polygon"){const{points:s,minZ:l,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return o.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=h.CreateDynamicPolygonEx(s,l,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:l,maxX:d,maxY:c}=this.sourceInfo;this._id=h.CreateDynamicRectangleEx(s,l,d,c,t,a,n)}else{const{x:s,y:l,z:d,size:c}=this.sourceInfo;if(c<0)return o.error("[StreamerArea]: Invalid sphere extended size");this._id=h.CreateDynamicSphereEx(s,l,d,c,t,a,n)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,i==="circle"){const{x:s,y:l,size:d}=this.sourceInfo;if(d<0)return o.error("[StreamerArea]: Invalid circle size");this._id=h.CreateDynamicCircle(s,l,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:l,minZ:d,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=h.CreateDynamicCuboid(s,l,d,c,u,p,t,a,n)}else if(i==="cylinder"){const{x:s,y:l,minZ:d,maxZ:c,size:u}=this.sourceInfo;if(u<0)return o.error("[StreamerArea]: Invalid cylinder size");this._id=h.CreateDynamicCylinder(s,l,d,c,u,t,a,n)}else if(i==="polygon"){const{points:s,minZ:l,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return o.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=h.CreateDynamicPolygon(s,l,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:l,maxX:d,maxY:c}=this.sourceInfo;this._id=h.CreateDynamicRectangle(s,l,d,c,t,a,n)}else{const{x:s,y:l,z:d,size:c}=this.sourceInfo;if(c<0)return o.error("[StreamerArea]: Invalid sphere size");this._id=h.CreateDynamicSphere(s,l,d,c,t,a,n)}return b.areas.set(this._id,this),this}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerArea]: Unable to destroy the area before create"):(!A.skip&&h.DestroyDynamicArea(this.id),b.areas.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:h.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?o.warn("[StreamerArea]: Unable to get type before create"):h.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return o.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return h.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return o.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return h.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:h.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return h.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:h.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return h.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return b.getPlayerAreasNumber(t)?h.GetPlayerDynamicAreas(t.id).map(a=>b.areas.get(a)):[]}static getPlayerAreasNumber(t){return h.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:h.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return h.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,s){return this.id===-1?!1:h.IsLineInDynamicArea(this.id,t,a,n,i,r,s)}static isLineInAny(t,a,n,i,r,s){return h.IsLineInAnyDynamicArea(t,a,n,i,r,s)}static getForPoint(t,a,n){return b.getNumberForPoint(t,a,n)?h.GetDynamicAreasForPoint(t,a,n).map(i=>b.getInstance(i)):[]}static getNumberForPoint(t,a,n){return h.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return b.getNumberForLine(t,a,n,i,r,s)?h.GetDynamicAreasForLine(t,a,n,i,r,s).map(l=>b.areas.get(l)):[]}static getNumberForLine(t,a,n,i,r,s){return h.GetNumberDynamicAreasForLine(t,a,n,i,r,s)}attachToObject(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?o.warn("[StreamerArea]: Unable to toggle attach to object before create"):h.AttachDynamicAreaToObject(this.id,t.id,h.StreamerObjectTypes.DYNAMIC,T.PLAYER_ID,a,n,i)}attachToPlayer(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?o.warn("[StreamerArea]: Unable to toggle attach to player before create"):h.AttachDynamicAreaToPlayer(this.id,t.id,a,n,i)}attachToVehicle(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?o.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):h.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?o.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?o.warn("[StreamerArea]: Unable to toggle callbacks before create"):D.toggleItemCallbacks(h.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,D.isToggleItemCallbacks(h.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}R.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),e()));const[cm,_m]=_({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[hm,um]=_({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?_m(a,b.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?um(a,b.getInstance(t)):n());const[mm]=_({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:b.getInstance(t)}}}),[pm]=_({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:b.getInstance(t)}}}),gm=Object.freeze({onStreamIn:cm,onStreamOut:hm,onPlayerEnter:mm,onPlayerLeave:pm});class S{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 o.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:i}=this.sourceInfo;if(i){if(S.getInstances(!1).length===O.MAX_TEXT_DRAWS)return o.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=o_(i.id,t,a,n);const r=me.onDisconnect(({player:s,next:l})=>{const d=l();return s===i&&(this.destroy(),r()),d});S.playerTextDraws.set(this.id,this)}else{if(S.getInstances(!0).length===O.MAX_TEXT_DRAWS)return o.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=yc(t,a,n),S.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return S.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(d_(t.id,this.id),S.playerTextDraws.delete(this.id)):(Ic(this.id),S.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return S.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?I_(a.id,this.id,t):Rc(this.id,t),this}setColor(t){if(this.id===-1)return S.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?u_(a.id,this.id,t):Cc(this.id,t),this}setBoxColors(t){if(this.id===-1)return S.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?p_(a.id,this.id,t):Tc(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return S.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?y_(a.id,this.id,t):Lc(this.id,t),this}setAlignment(t){if(this.id===-1)return S.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?h_(a.id,this.id,t):Ac(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set letter size"),this;const{player:n}=this.sourceInfo;return n?c_(n.id,this.id,t,a):Pc(this.id,t,a),this}setOutline(t){if(this.id===-1)return S.beforeCreateWarn("set outline model"),this;if(t<0)return o.warn("[TextDraw]: Invalid outline value"),this;const{player:a}=this.sourceInfo;return a?S_(a.id,this.id,t):Nc(this.id,t),this}setPreviewModel(t){if(this.id===-1)return S.beforeCreateWarn("set preview model"),this;this.setFont(ee.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?T_(a.id,this.id,t):kc(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return S.beforeCreateWarn("set preview rot"),this;this.setFont(ee.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?D_(r.id,this.id,t,a,n,i):Mc(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return S.beforeCreateWarn("set preview veh col"),this;this.setFont(ee.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?N_(n.id,this.id,t,a):xc(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return S.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?P_(a.id,this.id,t):bc(this.id,t),this}setSelectable(t){if(this.id===-1)return S.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?f_(a.id,this.id,t):vc(this.id,t),this}setShadow(t){if(this.id===-1)return S.beforeCreateWarn("set shadow"),this;if(t<0)return o.warn("[TextDraw]: Invalid shadow value"),this;const{player:a}=this.sourceInfo;return a?g_(a.id,this.id,t):Dc(this.id,t),this}setString(t,a){if(this.id===-1)return S.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)return o.warn("[TextDraw]: Invalid text length"),this;const{player:n}=this.sourceInfo;return n?E_(n.id,this.id,t):a?Sc(this.id,a.id,t):Fc(this.id,t),this}setTextSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?__(n.id,this.id,t,a):fc(this.id,t,a),this}useBox(t){if(this.id===-1)return S.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?m_(a.id,this.id,t):Ec(this.id,t),this}static beforeCreateWarn(t){o.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return S.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)A_(a.id,this.id);else if(t)wc(t.id,this.id);else return o.warn("[TextDraw]: invalid player for show"),this;return this}hide(t){if(this.id===-1)return S.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)C_(a.id,this.id);else if(t)Oc(t.id,this.id);else return o.warn("[TextDraw]: invalid player for hide"),this;return this}showAll(){return this.id===-1?(S.beforeCreateWarn("show"),this):this.sourceInfo.player?(o.warn("[TextDraw]: player's textdraw should not be show for all."),this):(Gc(this.id),this)}hideAll(){return this.id===-1?(S.beforeCreateWarn("hideAll"),this):this.sourceInfo.player?(o.warn("[TextDraw]: player's textdraw should not be hide for all."),this):(Bc(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?Uc(t.id,this.id):Jd(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?Wc(a.id,this.id):t?Qd(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?Kc(t.id,this.id):qd(this.id)}setPos(t,a){if(this.id===-1)return S.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?Zc(n.id,this.id,t,a):ec(this.id,t,a),this}getLetterSize(){if(this.id===-1)return S.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?jc(t.id,this.id):tc(this.id)}getTextSize(){if(this.id===-1)return S.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?Xc(t.id,this.id):ac(this.id)}getPos(){if(this.id===-1)return S.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?Yc(t.id,this.id):nc(this.id)}getColor(){if(this.id===-1)return S.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?zc(t.id,this.id):ic(this.id)}getBoxColor(){if(this.id===-1)return S.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?$c(t.id,this.id):rc(this.id)}getBackgroundColor(){if(this.id===-1)return S.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?Jc(t.id,this.id):sc(this.id)}getShadow(){if(this.id===-1)return S.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?Qc(t.id,this.id):lc(this.id)}getOutline(){if(this.id===-1)return S.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?qc(t.id,this.id):oc(this.id)}getFont(){if(this.id===-1)return S.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?e_(t.id,this.id):dc(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?t_(t.id,this.id):cc(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?a_(t.id,this.id):_c(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?n_(t.id,this.id):hc(this.id)}getAlignment(){if(this.id===-1)return S.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?i_(t.id,this.id):uc(this.id)}getPreviewModel(){if(this.id===-1)return S.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?r_(t.id,this.id):mc(this.id)}getPreviewRot(){if(this.id===-1)return S.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?s_(t.id,this.id):pc(this.id)}getPreviewVehColors(){if(this.id===-1)return S.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?l_(t.id,this.id):gc(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t,a){return a?this.globalTextDraws.get(t):this.playerTextDraws.get(t)}static getInstances(t){return t?[...this.globalTextDraws.values()]:[...this.playerTextDraws.values()]}}R.onExit(({next:e})=>(S.getInstances(!0).forEach(t=>t.destroy()),S.getInstances(!1).forEach(t=>t.destroy()),e()));const[Sm]=_({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===T.TEXT_DRAW?t:S.getInstance(t,!0)}}}),[ym]=_({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===T.TEXT_DRAW?t:S.getInstance(t,!1)}}}),Im=Object.freeze({onPlayerClickGlobal:Sm,onPlayerClickPlayer:ym});function Pm(e,t){return(e&t)===t}function fm(e,t,a){return(e&a)===a&&(t&a)!==a}function Am(e,t){return!!(e&t)}function Cm(e,t,a){return(e&a)!==a&&(t&a)===a}export{Be as ArtworkEnum,Ye as BodyPartsEnum,ze as BoneIdsEnum,nt as BulletHitTypesEnum,ie as CameraCutStylesEnum,Xe as CameraModesEnum,Qe as CarModTypeEnum,Fe as ClickSourcesEnum,Me as ConnectionStatusEnum,ce as DamageDeathReasonEnum,N as Dialog,oe as DialogStylesEnum,Y as Dynamic3DTextLabel,qu as Dynamic3DTextLabelEvent,x as DynamicActor,Yu as DynamicActorEvent,b as DynamicArea,gm as DynamicAreaEvent,ku as DynamicCheckPointEvent,F as DynamicCheckpoint,W as DynamicMapIcon,Eu as DynamicMapIconEvent,w as DynamicObject,dm as DynamicObjectEvent,U as DynamicPickup,bu as DynamicPickupEvent,k as DynamicRaceCP,Ku as DynamicRaceCPEvent,G as ERecordStatus,bm as E_STREAMER,ke as EditResponseTypesEnum,Ze as FightingStylesEnum,$e as ForceSyncEnum,R as GameMode,ou as GameText,L as GangZone,yu as GangZoneEvent,P as I18n,T as InvalidEnum,xe as KeysEnum,O as LimitsEnum,vm as MapIconStyles,je as MapIconStylesEnum,He as MarkerModesEnum,wm as MaterialTextSizes,z as Menu,_u as MenuEvent,Ve as NPCPlaybackEnum,lu as NetStats,B as Npc,cn as NpcEvent,We as ObjectMaterialAlignmmentEnum,Ue as ObjectMaterialTextSizeEnum,m as Player,me as PlayerEvent,$ as PlayerStateEnum,rt as RecordTypesEnum,Ke as SelectObjectTypesEnum,de as SpecialActionsEnum,re as SpectateModesEnum,D as Streamer,Om as StreamerAreaTypes,Gm as StreamerDistances,Bm as StreamerItemTypes,Fm as StreamerMiscellaneous,km as StreamerObjectTypes,S as TextDraw,Je as TextDrawAlignEnum,Im as TextDrawEvent,ee as TextDrawFontsEnum,C as Vehicle,su as VehicleEvent,et as VehicleModelInfoEnum,qe as VehicleParamsEnum,tt as WeaponEnum,at as WeaponSkillsEnum,it as WeaponStatesEnum,st as animateLib,_ as defineEvent,ot as getAnimateDurationByLibName,Pm as isHolding,fm as isPressed,Am as isPressing,Cm as isReleased,_e as isValidAnimateLib,lt as isValidAnimateName,y as rgba};
|