@infernus/core 0.11.2 → 0.11.4

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.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{encodingExists as yt,encode as ft,decode as It}from"iconv-lite";import{snakeCase as re,merge as Pt,omit as Et,get as fe,mapKeys as At}from"lodash-unified";import*as _ from"@infernus/streamer";import{Streamer_GetTickRate as Ct,Streamer_SetTickRate as Tt,Streamer_GetPlayerTickRate as Dt,Streamer_SetPlayerTickRate as wt,Streamer_ToggleChunkStream as Nt,Streamer_IsToggleChunkStream as Lt,Streamer_GetChunkTickRate as Ie,Streamer_SetChunkTickRate as Pe,Streamer_GetChunkSize as Rt,Streamer_SetChunkSize as bt,Streamer_GetMaxItems as vt,Streamer_SetMaxItems as Ot,Streamer_GetVisibleItems as Ee,Streamer_SetVisibleItems as Ae,Streamer_GetRadiusMultiplier as Ce,Streamer_SetRadiusMultiplier as Te,Streamer_GetTypePriority as Gt,Streamer_SetTypePriority as Bt,Streamer_GetCellDistance as Ft,Streamer_SetCellDistance as kt,Streamer_GetCellSize as Mt,Streamer_SetCellSize as xt,Streamer_ToggleItemStatic as Ht,Streamer_IsToggleItemStatic as Vt,Streamer_ToggleItemInvAreas as Ut,Streamer_IsToggleItemInvAreas as Wt,Streamer_ToggleItemCallbacks as Kt,Streamer_IsToggleItemCallbacks as Zt,Streamer_ToggleErrorCallback as jt,Streamer_IsToggleErrorCallback as Xt,Streamer_AmxUnloadDestroyItems as Yt,Streamer_ProcessActiveItems as zt,Streamer_ToggleIdleUpdate as $t,Streamer_IsToggleIdleUpdate as Jt,Streamer_ToggleCameraUpdate as Qt,Streamer_IsToggleCameraUpdate as qt,Streamer_ToggleItemUpdate as ea,Streamer_IsToggleItemUpdate as ta,Streamer_GetLastUpdateTime as aa,Streamer_Update as na,Streamer_UpdateEx as ia,Streamer_GetDistanceToItem as ra,Streamer_ToggleItem as sa,Streamer_IsToggleItem as oa,Streamer_ToggleAllItems as la,Streamer_GetItemInternalID as da,Streamer_GetItemStreamerID as ca,Streamer_IsItemVisible as _a,Streamer_DestroyAllVisibleItems as ha,Streamer_CountVisibleItems as ua,Streamer_DestroyAllItems as ma,Streamer_CountItems as pa,Streamer_GetNearbyItems as ga,Streamer_GetAllVisibleItems as Sa,Streamer_GetItemPos as ya,Streamer_SetItemPos as fa,Streamer_GetItemOffset as Ia,Streamer_SetItemOffset as Pa,Streamer_GetFloatData as Ea,Streamer_SetFloatData as Aa,Streamer_GetIntData as Ca,Streamer_SetIntData as Ta,Streamer_GetArrayData as Da,Streamer_SetArrayData as wa,Streamer_IsInArrayData as Na,Streamer_AppendArrayData as La,Streamer_RemoveArrayData as Ra,Streamer_GetArrayDataLength as ba,Streamer_GetUpperBound as va,MapIconStyles as Oa,StreamerDistances as ne,CreateDynamicMapIconEx as Ga,CreateDynamicMapIcon as Ba,DestroyDynamicMapIcon as Fa,IsValidDynamicMapIcon as ka,StreamerItemTypes as A,CreateDynamicCPEx as Ma,CreateDynamicCP as xa,DestroyDynamicCP as De,IsValidDynamicCP as we,TogglePlayerDynamicCP as Ha,TogglePlayerAllDynamicCPs as Va,IsPlayerInDynamicCP as Ua,GetPlayerVisibleDynamicCP as Wa,CreateDynamicRaceCPEx as Ka,CreateDynamicRaceCP as Za,TogglePlayerDynamicRaceCP as ja,TogglePlayerAllDynamicRaceCPs as Xa,IsPlayerInDynamicRaceCP as Ya,GetPlayerVisibleDynamicRaceCP as za,DestroyDynamic3DTextLabel as $a,IsValidDynamic3DTextLabel as Ja}from"@infernus/streamer";import{E_STREAMER as Rm,MapIconStyles as bm,MaterialTextAlign as vm,MaterialTextSizes as Om,StreamerAreaTypes as Gm,StreamerDistances as Bm,StreamerItemTypes as Fm,StreamerMiscellaneous as km,StreamerObjectTypes as Mm}from"@infernus/streamer";function Qa(e){return e instanceof Buffer}class f{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=re(t),this.locales=f.snakeLocaleKeys(a)}addLocales=t=>{Pt(this.locales,f.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=Et(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[re(n)],r=fe(this.locales[this.defaultLocale],t),s=fe(i,t,r);if(s===void 0)throw new Error(`[i18n]: cannot find ${n}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let o=s;if(a&&a.length){const l=/%s/i;for(let d=0;d<a.length&&o.match(l)!==null;d++)o=o.replace(l,a[d])}return o};static isValidate(t){if(!yt(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,a){return f.isValidate(a),[...ft(t,a),0]}static decodeFromBuf(t,a="utf8"){f.isValidate(a);const n=Qa(t)?t:Buffer.from(f.getValidStr(t));return It(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return At(t,(a,n)=>re(n))}static convertSpecialChar(t){const a={\u00E0:"\x97",\u00E1:"\x98",\u00E2:"\x99",\u00E4:"\x9A",\u00C0:"\x80",\u00C1:"\x81",\u00C2:"\x82",\u00C4:"\x83",\u00E8:"\x9D",\u00E9:"\x9E",\u00EA:"\x9F",\u00EB:"\xA0",\u00C8:"\x86",\u00C9:"\x87",\u00CA:"\x88",\u00CB:"\x89",\u00EC:"\xA1",\u00ED:"\xA2",\u00EE:"\xA3",\u00EF:"\xA4",\u00CC:"\x8A",\u00CD:"\x8B",\u00CE:"\x8C",\u00CF:"\x8D",\u00F2:"\xA5",\u00F3:"\xA6",\u00F4:"\xA7",\u00F6:"\xA8",\u00D2:"\x8E",\u00D3:"\x8F",\u00D4:"\x90",\u00D6:"\x91",\u00F9:"\xA9",\u00FA:"\xAA",\u00FB:"\xAB",\u00FC:"\xAC",\u00D9:"\x92",\u00DA:"\x93",\u00DB:"\x94",\u00DC:"\x95",\u00F1:"\xAE",\u00D1:"\xAD","\xA1":"@","\xBF":"\xAF","`":"\xB1"};return t.split("").map(n=>n in a?a[n]:n).join("")}}const v=new Map;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=v.get(n);if(!s||!s.length)return+a;const o=i?i(...t):{},l=[];let d=-1;const h=()=>{if(d++,d<s.length){try{const m=s[d]({next:h,...o});return m instanceof Promise&&l.push(m),m}catch(m){const p=`executing event [name:${n},index:${d}] error:
2
- ${m}`;console.log(p)}return a}return r&&(l.length?Promise.allSettled(l).then(()=>r(o)):r(o)),a};return qa(h(),a)}function c(e){const{name:t,identifier:a,isNative:n=!0}=e;if(v.has(t)){const o=`event [name:${t}] error: already defined.`;throw new Error(o)}v.set(t,[]);function i(...o){return en(e,...o)}function r(o){const l=v.get(t).push(o)-1;return()=>{const d=v.get(t);if(!d)return;const h=d.length-1,m=h<l?h:l;for(let p=m;p>=0;p--)if(d[p]===o){d.splice(p,1);break}return d.length===0&&v.delete(t),d.length}}const s=[r,i];return n&&(typeof a<"u"&&samp.registerEvent(t,a),samp.on(t,i)),s}const[tn]=c({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[an]=c({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[nn]=c({name:"OnNpcModeInit"}),[rn]=c({name:"OnNpcModeExit"}),[sn]=c({name:"OnNpcSpawn"}),[on]=c({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:f.decodeFromBuf(t)}}}),ln=Object.freeze({onConnect:tn,onDisconnect:an,onModeInit:nn,onModeExit:rn,onSpawn:sn,onClientMessage:on}),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)},fn=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),In=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Pn=e=>{samp.callNative("EnableAllAnimations","i",e)},En=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},An=e=>samp.callNative("GetConsoleVarAsInt","s",e),Cn=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Tn=()=>samp.callNative("GetWeather",""),Dn=e=>samp.callNative("GetServerRuleFlags","s",e),wn=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Nn=e=>!!samp.callNative("SetModeRestartTime","f",e),Ln=()=>samp.callNativeFloat("GetModeRestartTime",""),Rn=(e,t,a)=>samp.callNative("GameTextForAll","aii",e,t,a),bn=e=>{samp.callNative("HideGameTextForAll","i",e)},vn=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),On=()=>samp.callNative("GetMaxPlayers",""),se=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Gn=e=>samp.callNative("SetGameModeText","s",e),Bn=e=>samp.callNative("ShowNameTags","i",e),Fn=e=>samp.callNative("ShowPlayerMarkers","i",e),kn=e=>samp.callNative("SetWorldTime","i",e),Mn=()=>samp.callNative("GetWorldTime",""),xn=()=>samp.callNative("EnableVehicleFriendlyFire",""),Hn=e=>samp.callNative("SetWeather","i",e),Vn=()=>samp.callNativeFloat("GetGravity",""),Un=e=>samp.callNative("SetGravity","f",e),Wn=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),Kn=e=>samp.callNative("EnableZoneNames","i",e),Zn=()=>samp.callNative("UsePlayerPedAnims",""),jn=()=>samp.callNative("DisableInteriorEnterExits",""),Xn=e=>samp.callNative("SetNameTagDrawDistance","f",e),Yn=()=>samp.callNative("DisableNameTagLOS",""),zn=e=>samp.callNative("LimitGlobalChatRadius","f",e),$n=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),Jn=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),Qn=()=>samp.callNative("GetServerTickRate",""),qn=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),ei=e=>samp.callNative("EnableStuntBonusForAll","i",e),ti=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},ai=()=>!!samp.callNative("ChatTextReplacementToggled",""),ni=e=>samp.callNative("GetWeaponSlot","i",e),ii=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},Ne=()=>samp.callNative("GetAvailableClasses",""),ri=e=>{if(e<Ne()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,o=0,l=0,d=0,h=0,m=0,p=0,y=0]=t;return{teamId:a,modelId:n,spawnX:i,spawnY:r,spawnZ:s,zAngle:o,weapon1:l,weapon1Ammo:d,weapon2:h,weapon2Ammo:m,weapon3:p,weapon3Ammo:y}},si=(e,t,a,n,i,r,s,o,l,d,h,m,p)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,o,l,d,h,m,p),oi=e=>samp.callNative("SetTeamCount","i",e),li=(e,t,a,n,i,r,s,o,l,d,h)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,o,l,d,h),di=(e,t,a,n,i,r,s,o,l,d,h,m)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,o,l,d,h,m),ci=(e,t,a,n,i,r,s,o,l,d,h,m,p)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,o,l,d,h,m,p),_i=e=>samp.callNative("SpawnPlayer","i",e),hi=e=>{const[t,a=0,n=0,i=0,r=0,s=0,o=0,l=0,d=0,h=0,m=0,p=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:n,spawnY:i,spawnZ:r,zAngle:s,weapon1:o,weapon1Ammo:l,weapon2:d,weapon2Ammo:h,weapon3:m,weapon3Ammo:p}},ui=e=>samp.callNative("NetStats_GetConnectedTime","i",e),mi=e=>samp.callNative("NetStats_MessagesReceived","i",e),pi=e=>samp.callNative("NetStats_BytesReceived","i",e),gi=e=>samp.callNative("NetStats_MessagesSent","i",e),Si=e=>samp.callNative("NetStats_BytesSent","i",e),yi=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),fi=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Ii=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Pi=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Ei=e=>!!samp.callNative("IsPlayerAdmin","i",e),Ai=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),Ci=e=>!!samp.callNative("Kick","i",e),Ti=e=>!!samp.callNative("Ban","i",e),Di=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},wi=()=>samp.callNative("GetNetworkStats","Si",1024),Ni=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Li=e=>samp.callNative("UnBlockIpAddress","s",e),Ri=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return f.decodeFromBuf(f.getValidStr(a),t)},bi=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),vi=()=>{samp.callNative("ClearBanList","")},Oi=e=>!!samp.callNative("IsBanned","s",e),Gi=e=>samp.callNative("GetPlayerRawIp","i",e),Bi=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},Fi=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},S=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},ki=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Mi=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),xi=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Hi=e=>samp.callNative("GetPlayerWeather","i",e),Vi=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:n,yMin:i}},Ui=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Wi=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},Ki=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},Zi=e=>samp.callNative("GetPlayerDialogID","i",e),ji=e=>samp.callNative("GetPlayerSpectateID","i",e),Xi=e=>samp.callNative("GetPlayerSpectateType","i",e),Yi=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),zi=e=>samp.callNativeFloat("GetPlayerGravity","i",e),$i=e=>!!samp.callNative("IsPlayerSpawned","i",e),Ji=e=>!!samp.callNative("IsPlayerControllable","i",e),Qi=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),qi=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),er=e=>!!samp.callNative("GetPlayerGhostMode","i",e),tr=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),ar=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),nr=e=>!!samp.callNative("HidePlayerDialog","i",e),ir=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),rr=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),sr=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),or=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),lr=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),dr=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,a,n),cr=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),_r=(e,t,a,n)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),hr=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),ur=e=>!!samp.callNative("IsPlayerNPC","i",e),Le=(e,t,a,n)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,n),mr=(e,t,a,n)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),pr=e=>samp.callNative("GetPlayerPos","iFFF",e),gr=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),Sr=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},yr=(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),Ir=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Pr=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Er=e=>samp.callNative("GetPlayerInterior","i",e),Ar=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Cr=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Tr=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Dr=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},wr=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),Nr=e=>samp.callNative("GetPlayerAmmo","i",e),Lr=e=>samp.callNative("GetPlayerWeaponState","i",e),Rr=e=>samp.callNative("GetPlayerTargetPlayer","i",e),br=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},vr=e=>samp.callNative("GetPlayerTeam","i",e),Or=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),Gr=e=>samp.callNative("GetPlayerScore","i",e),Br=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Fr=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),kr=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,S(t)),Mr=e=>samp.callNative("GetPlayerColor","i",e),xr=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Hr=e=>samp.callNative("GetPlayerSkin","i",e),Vr=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),Ur=e=>!!samp.callNative("ResetPlayerWeapons","i",e),Wr=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),Kr=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),Zr=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),jr=e=>!!samp.callNative("ResetPlayerMoney","i",e),Xr=e=>samp.callNative("GetPlayerMoney","i",e),Yr=e=>samp.callNative("GetPlayerState","i",e),zr=e=>samp.callNative("GetPlayerPing","i",e),$r=e=>samp.callNative("GetPlayerWeapon","i",e),Jr=e=>samp.callNative("GetPlayerKeys","iIII",e),Qr=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),qr=e=>samp.callNative("GetPlayerTime","iII",e),es=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),ts=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),as=e=>!!samp.callNative("ForceClassSelection","i",e),ns=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),is=e=>samp.callNative("GetPlayerWantedLevel","i",e),rs=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),ss=e=>samp.callNative("GetPlayerFightingStyle","i",e),os=(e,t,a,n)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),ls=e=>samp.callNative("GetPlayerVelocity","iFFF",e),ds=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),cs=(e,t,a,n,i,r,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),_s=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),hs=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),us=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),ms=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),ps=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),gs=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),Ss=(e,t,a,n,i,r)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),ys=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),fs=(e,t,a,n,i)=>!!samp.callNative("SetPlayerChatBubble","isifi",e,t,S(a),n,i),Is=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),Ps=e=>samp.callNative("GetPlayerVehicleID","i",e),Es=e=>samp.callNative("GetPlayerVehicleSeat","i",e),As=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),Cs=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),Ts=(e,t,a,n,i)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),Ds=(e,t,a,n,i,r,s,o,l,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,o,l,d),ws=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),Ns=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Ls=e=>samp.callNative("GetPlayerSpecialAction","i",e),Rs=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),bs=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),vs=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),Os=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Gs=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),Bs=e=>samp.callNative("GetPlayerCustomSkin","i",e),Fs=(e,t,a,n,i,r)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),ks=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),Ms=e=>!!samp.callNative("StopRecordingPlayerData","i",e),xs=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),Hs=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),Vs=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Re=e=>!!samp.callNative("IsPlayerConnected","i",e),Us=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),Ws=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),Ks=(e,t,a,n,i)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),Zs=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),js=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,S(a));function Xs(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const Ys=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),zs=(e,t,a,n)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),$s=(e,t,a,n,i)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),Js=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),Qs=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),qs=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),eo=e=>samp.callNative("GetPlayerCameraMode","i",e),to=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),ao=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),no=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),io=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),ro=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),so=(e,t,a,n,i,r,s,o,l)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,o,l),oo=(e,t,a,n,i,r,s,o,l)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,o,l),lo=e=>!!samp.callNative("IsPlayerCuffed","i",e),co=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),_o=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),ho=()=>samp.callNative("StopRecordingPlayback",""),uo=()=>samp.callNative("PauseRecordingPlayback",""),mo=()=>samp.callNative("ResumeRecordingPlayback",""),po=e=>samp.callNative("GetActorSkin","i",e),go=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),So=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}},yo=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}},fo=(e,t,a,n,i,r,s,o,l=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,o,l,d),Io=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:a}},Po=e=>samp.callNative("GetVehiclePaintjob","i",e),Eo=e=>samp.callNative("GetVehicleInterior","i",e),Ao=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},Co=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),To=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Do=e=>samp.callNative("GetVehicleCab","i",e),wo=e=>samp.callNative("GetVehicleOccupiedTick","i",e),No=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Lo=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Ro=e=>!!samp.callNative("IsVehicleOccupied","i",e),bo=e=>samp.callNative("GetVehicleRespawnTick","i",e),vo=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Oo=e=>!!samp.callNative("IsVehicleDead","i",e),Go=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Bo=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Fo=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),ko=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Mo=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),xo=e=>samp.callNative("GetVehicleModelCount","i",e),Ho=e=>samp.callNative("GetVehicleLastDriver","i",e),Vo=e=>samp.callNative("GetVehicleDriver","i",e),Uo=()=>samp.callNative("GetVehicleModelsUsed",""),Wo=e=>samp.callNative("GetVehicleSirenState","i",e),Ko=e=>samp.callNative("GetVehicleLandingGearState","i",e),Zo=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),jo=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Xo=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0,l=0,d=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:o,atY:l,atZ:d}},be=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},Yo=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),zo=(e,t,a,n,i,r,s,o,l)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,S(r),S(s),o,l),$o=e=>samp.callNative("DestroyVehicle","i",e),Jo=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),Qo=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]}},qo=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),el=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},tl=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),al=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),nl=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),il=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),rl=()=>samp.callNative("ManualVehicleEngineAndLights",""),sl=(e,t,a,n,i,r,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,o),ol=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),ll=e=>samp.callNative("GetVehicleParamsSirenState","i",e),dl=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),cl=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},_l=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),hl=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},ul=e=>samp.callNative("SetVehicleToRespawn","i",e),ml=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),pl=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),gl=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),Sl=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,S(t),S(a)),yl=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),fl=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Il=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Pl=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),El=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Al=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),Cl=e=>samp.callNative("GetVehicleTrailer","i",e),Tl=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Dl=e=>samp.callNative("GetVehicleModel","i",e),wl=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Nl=e=>samp.callNative("GetVehicleComponentType","i",e),Ll=e=>samp.callNative("RepairVehicle","i",e),Rl=e=>samp.callNative("GetVehicleVelocity","iFFF",e),bl=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),vl=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Ol=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]}},Gl=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),Bl=(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]}},Fl=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),kl=e=>samp.callNative("GetVehicleVirtualWorld","i",e),ve=e=>!!samp.callNative("IsValidVehicle","i",e),Ml=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,S(r),S(s)),xl=(e,t,a,n,i,r,s,o,l)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,S(r),S(s),o,l),Hl=e=>!!samp.callNative("ShowVehicle","i",e),Vl=e=>!!samp.callNative("HideVehicle","i",e),Ul=e=>!!samp.callNative("IsVehicleHidden","i",e),Wl=e=>!!samp.callNative("IsPlayerInModShop","i",e),Kl=e=>samp.callNative("GetPlayerSirenState","i",e),Zl=e=>samp.callNative("GetPlayerLandingGearState","i",e),jl=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Xl=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Yl=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Oe=e=>samp.callNative("GetVehicleMaxPassengers","i",e),zl=e=>samp.callNative("CountVehicleOccupants","i",e),$l=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),Jl=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},Ql=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),ql=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:i,fNextY:r,fNextZ:s,fSize:o}},ed=e=>!!samp.callNative("IsMenuDisabled","i",e),td=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),ad=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),nd=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},id=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},rd=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},sd=(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),ld=e=>samp.callNative("DestroyMenu","i",e),dd=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),cd=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),_d=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),hd=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),ud=e=>!!samp.callNative("IsValidMenu","i",e),md=e=>samp.callNative("DisableMenu","i",e),pd=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),gd=e=>samp.callNative("GetPlayerMenu","i",e),Sd=e=>!!samp.callNative("IsValidGangZone","i",e),yd=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),fd=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Id=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Pd=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Ed=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Ad=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},Cd=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Td=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),Dd=e=>samp.callNative("GangZoneDestroy","i",e),wd=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,S(a)),Nd=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,S(t)),Ld=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Rd=e=>samp.callNative("GangZoneHideForAll","i",e),bd=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,S(a)),vd=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,S(t)),Od=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Gd=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Bd=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),Fd=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),kd=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),Md=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),xd=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),Hd=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Vd=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),Ud=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),Wd=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),Kd=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Zd=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),jd=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),Xd=(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}},Yd=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},zd=e=>!!samp.callNative("IsValidTextDraw","i",e),$d=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),Jd=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},Qd=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},qd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},ec=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},tc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},ac=e=>samp.callNative("TextDrawGetColor","i",e),nc=e=>samp.callNative("TextDrawGetBoxColor","i",e),ic=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),rc=e=>samp.callNative("TextDrawGetShadow","i",e),sc=e=>samp.callNative("TextDrawGetOutline","i",e),oc=e=>samp.callNative("TextDrawGetFont","i",e),lc=e=>!!samp.callNative("TextDrawIsBox","i",e),dc=e=>!!samp.callNative("TextDrawIsProportional","i",e),cc=e=>!!samp.callNative("TextDrawIsSelectable","i",e),_c=e=>samp.callNative("TextDrawGetAlignment","i",e),hc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),uc=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},mc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},pc=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},gc=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),Sc=e=>samp.callNative("TextDrawDestroy","i",e),yc=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),fc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Ic=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Pc=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,S(t)),Ec=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Ac=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,S(t)),Cc=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Tc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Dc=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,S(t)),wc=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Nc=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Lc=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Rc=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),bc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),vc=e=>samp.callNative("TextDrawShowForAll","i",e),Oc=e=>samp.callNative("TextDrawHideForAll","i",e),Gc=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),Bc=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Fc=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},kc=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,S(t),S(a)),Mc=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,S(t))},xc=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Hc=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),Vc=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),Uc=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},Wc=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},Kc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},Zc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},jc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},Xc=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),Yc=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),zc=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),$c=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),Jc=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),Qc=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),qc=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),e_=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),t_=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),a_=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),n_=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),i_=(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}},r_=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},s_=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),o_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},l_=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),d_=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),c_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),__=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,S(a)),h_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),u_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,S(a)),m_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),p_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),g_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,S(a)),S_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),y_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),f_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),I_=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),P_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),E_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),A_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),C_=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),T_=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),D_=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),w_=e=>!!samp.callNative("BeginObjectSelecting","i",e),N_=e=>!!samp.callNative("EndObjectEditing","i",e),L_=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),R_=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),b_=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),v_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),O_=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},G_=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},B_=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,o=0,l=0,d=0,h=0,m=0,p=0,y=0,P=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:o,fRotY:l,fRotZ:d,fScaleX:h,fScaleY:m,fScaleZ:p,materialColor1:y,materialColor2:P}},F_=(e,t,a,n,i,r,s,o,l,d,h,m,p,y,P)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,o,l,d,h,m,p,S(y),S(P)),k_=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),M_=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Ge=e=>!!samp.callNative("IsValidCustomModel","i",e),x_=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||{}),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||{}),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||{}),q=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(q||{}),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||{}),ie=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ie||{}),z=(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))(z||{}),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||{}),le=(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))(le||{}),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=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="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||{}),de=(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))(de||{}),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 connect=Jn;static startRecordingPlayerData(t,a,n){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");ks(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");Ms(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(B.recordStatus>=G.start)throw new Error("[NpcFunc]: The current status cannot be replayed");_o(t,a),B.recordStatus=G.start}static stopRecordingPlayback(){if(B.recordStatus<G.start)throw new Error("[NpcFunc]: The current status cannot be stopped");ho(),B.recordStatus=G.none}static pauseRecordingPlayback(){if(B.recordStatus!==G.start)throw new Error("[NpcFunc]: The current status cannot be paused");uo(),B.recordStatus=G.pause}static resumeRecordingPlayback(){if(B.recordStatus!==G.pause)throw new Error("[NpcFunc]: The current status cannot be paused");mo(),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}]]]),ce=e=>{const t=st.get(e);return t===void 0?!1:t},_e=(e,t)=>{const a=ce(e);if(a)return t==="null"?!0:a.some(n=>n.n===t)},H_=(e,t)=>{const a=ce(e);if(a)return a.find(n=>n.n===t)?.d},W=(e,t)=>{const a=t.replace("-","")==="utf8"?e:f.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},ot=(e,t,a)=>{const n=W(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,S(t),n[1])},V_=(e,t,a)=>(e.forEach(n=>ot(n,t,a)),1),lt=(e,t,a)=>{const n=W(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:o,button2:l}=a,[d,h]=W(r||"",n),[,m]=W(s||"",n),[,p]=W(o||"",n),[,y]=W(l||"",n);return samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,i,h,m,p,y)},K_=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,O.MAX_PLAYER_NAME);return f.decodeFromBuf(f.getValidStr(t),e.charset)},Z_=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,f.encodeToBuf(t,e.charset)),j_=(e,t,a)=>{const n=f.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},X_=(e,t="utf8")=>{const[a,n]=W(e,t);return samp.callNative("SendRconCommand",a,n)},Y_=(e,t,a,n,i,r,s,o,l,d,h,m,p,y,P,R)=>{const H=f.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",H,a,n,i,r,s,o,l,d,h,m,p,y,P,R)},z_=(e,t,a,n,i,r,s,o,l,d,h,m,p,y,P,R)=>{const H=f.encodeToBuf(e,R);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",H,t,a,n,i,r,s,o,l,d,h,m,p,y,P,h.length,m.length,p.length,y.length)},$_=(e,t,a,n)=>{const i=f.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},J_=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return f.decodeFromBuf(f.getValidStr(a),t)},Q_=(e,t,a,n,i,r,s,o,l,d,h)=>{const m=f.encodeToBuf(n,e),p=f.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,m,i,p,s,o,l,d,h)},q_=(e,t,a)=>{const[n,i,r,s,o,l,d]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),h=f.decodeFromBuf(n,a),m=f.decodeFromBuf(r,a);return{text:h,materialSize:i,fontFace:m,bold:s,fontColor:o,backColor:l,textAlignment:d}},eh=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],th=[[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],[],[],[],[],[],[],[],[]],ah=(e,t)=>{if(!he(e))return!1;const a=th[e-400];if(a===null)return!1;const n=t-1e3;return eh.includes(n)||a.includes(n)},he=e=>e>=400&&e<=611,nh=(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 I{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)throw new Error("[Vehicle]: Unable to create the vehicle again");if(I.createdCount===O.MAX_VEHICLES)throw new Error("[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:o,respawnDelay:l,addSiren:d}=this.sourceInfo;if(!(!t&&!he(a))){if(this.isStatic){if(l===void 0){this._id=Ml(a,n,i,r,s,o[0],o[1]);return}this._id=xl(a,n,i,r,s,o[0],o[1],l||-1,d||!1)}else this._id=zo(a,n,i,r,s,o[0],o[1],l||-1,d||!1);I.createdCount++,I.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");$o(this.id),I.createdCount--,I.vehicles.delete(this._id),this._id=-1}addComponent(t){if(this.id===-1)return 0;if(!ah(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return pl(this.id,t)}removeComponent(t){if(this.getComponentInSlot(I.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return gl(this.id,t)}getComponentInSlot(t){return wl(this.id,t)}linkToInterior(t){return this.id===-1?0:ml(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Fl(this.id,t)}getVirtualWorld(){return this.id===-1?0:kl(this.id)}repair(){return this.id===-1?0:Ll(this.id)}setPos(t,a,n){return this.id===-1?0:qo(this.id,t,a,n)}getPos(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getPos before create");return Qo(this.id)}getHealth(){return this.id===-1?0:Il(this.id)}setHealth(t){return this.id===-1?0:fl(this.id,t)}isPlayerIn(t){return this.id===-1?!1:Us(t.id,this.id)}putPlayerIn(t,a){if(this.id===-1||a<0)return 0;if(a>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return Is(t.id,this.id,a)}getZAngle(){return this.id===-1?0:el(this.id)}setZAngle(t){return this.id===-1?0:nl(this.id,t)}setNumberPlate(t){if(this.id===-1)return 0;if(t.length<1||t.length>32)throw new Error("[Vehicle]: The length of the number plate ranges from 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return Tl(this.id,t)}changeColors(t,a){return this.id===-1?0:Sl(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:bl(this.id,t,a,n)}getVelocity(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getVelocity before create");const[t,a,n]=Rl(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 se(a,n,i)*t}setAngularVelocity(t,a,n){return this.id===-1?0:vl(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Ol(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Gl(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return al(this.id,t,a,n)}getModel(){return Dl(this.id)}static getModelInfo(t,a){return Bl(t,a)}getModelInfo(t){if(this.id===-1)throw new Error("[Vehicle]: Unable to getModelInfo before create");return I.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=tl(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:ul(this.id)}isStreamedIn(t){return this.id===-1?!1:Jo(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:dl(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:_l(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return cl(this.id)}getParamsCarWindows(){if(this.id!==-1)return hl(this.id)}setParamsEx(t,a,n,i,r,s,o){return this.id===-1?0:sl(this.id,t,a,n,i,r,s,o)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,s,o]=ol(this.id);return{engine:t===1,lights:a===1,alarm:n===1,doors:i===1,bonnet:r===1,boot:s===1,objective:o===1}}getParamsSirenState(){return this.id===-1?-2:ll(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:il(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:Al(this.id)}changePaintjob(t){return this.id===-1||!nh(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),yl(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Pl(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&El(this.id)}getTrailer(){if(this.id!==-1)return I.getInstances().find(t=>t.id===Cl(this.id))}isValid(){return ve(this.id)}getMatrix(){if(this.id!==-1)return Xo(this.id)}getTrainSpeed(){return this.id===-1?0:jo(this.id)}getHydraReactorAngle(){return this.id===-1?0:Zo(this.id)}getLandingGearState(){return this.id===-1?0:Ko(this.id)}getSirenState(){return this.id===-1?0:Wo(this.id)}getDriver(t){if(this.id!==-1)return t.get(Vo(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(Ho(this.id))}isSirenEnabled(){return Mo(this.id)}toggleSirenEnabled(t){return this.id===-1?0:Fo(this.id,t)}setParamsSirenState(t){return this.id===-1?0:ko(this.id,t)}isDead(){return this.id===-1?!0:Oo(this.id)}setDead(t){return this.id===-1?!1:Go(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Bo(this.id,t)}getRespawnTick(){return this.id===-1?0:bo(this.id)}setRespawnTick(t){return this.id===-1?!1:vo(this.id,t)}isOccupied(){return this.id===-1?!1:Ro(this.id)}hasBeenOccupied(){return this.id===-1?!1:Lo(this.id)}getOccupiedTick(){return this.id===-1?0:wo(this.id)}setOccupiedTick(t){return this.id===-1?0:No(this.id,t)}getCab(){return this.id===-1?0:Do(this.id)}getRespawnDelay(){return this.id===-1?0:To(this.id)}setRespawnDelay(t){return this.id===-1?0:Co(this.id,t)}getNumberPlate(){return this.id===-1?"":Ao(this.id)}getInterior(){return this.id===-1?0:Eo(this.id)}getPaintjob(){return this.id===-1?-1:Po(this.id)}getColors(){if(this.id!==-1)return Io(this.id)}setSpawnInfo(t,a,n,i,r,s,o,l=-2,d=-2,h=!1){return this.id===-1||!h&&!he(t)?0:fo(this.id,t,a,n,i,r,S(s),S(o),l,d)}getSpawnInfo(){if(this.id!==-1)return yo(this.id)}getRandomColorPair(){if(this.id!==-1)return be(this.getModel())}show(){return this.id===-1?!1:Hl(this.id)}hide(){return this.id===-1?!1:Vl(this.id)}isHidden(){return this.id===-1?!1:Ul(this.id)}getVehicleOccupant(t){return Yl(this.id,t)}getVehicleMaxPassengers(){return Oe(this.getModel())}countVehicleOccupants(){return zl(this.getModel())}static getVehicleMaxPassengers=Oe;static getRandomColorPair=be;static getComponentType=Nl;static colorIndexToColor=Yo;static isValid=ve;static getModelsUsed=Uo;static getModelCount=xo;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[dt]=c({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:u.getInstance(e),actionId:t,memAddr:a,data:n}}}),[ih,rh]=c({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[sh,oh]=c({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class u{constructor(t){this.id=t;const a=u.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,oh(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,rh(this,t,a)}sendClientMessage(t,a){return ot(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 ur(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Br(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return Fr(this.id,t)}allowTeleport(t){return rr(this.id,t)}isTeleportAllowed(){return sr(this.id)}enableCameraTarget(t){return to(this.id,t)}enableStuntBonus(t){return Gs(this.id,t)}getInterior(){return Er(this.id)}setInterior(t){return Pr(this.id,t)}showNameTag(t,a){return Ys(this.id,t.id,a)}setColor(t){return kr(this.id,t)}getColor(){return Mr(this.id)}setMarker(t,a){js(this.id,t.id,a)}getMarker(t){return Xs(this.id,t.id)}resetMoney(){return jr(this.id)}getMoney(){return Xr(this.id)}giveMoney(t){return Zr(this.id,t)}resetWeapons(){return Ur(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):_i(this.id)}setHealth(t){return Ar(this.id,t)}getHealth(){return Cr(this.id)}toggleClock(t){return es(this.id,t)}toggleControllable(t){return Cs(this.id,t)}toggleSpectating(t){return xs(this.id,t)}spectatePlayer(t,a=ie.NORMAL){return Hs(this.id,t.id,a)}spectateVehicle(t,a=ie.NORMAL){return Vs(this.id,t.id,a)}forceClassSelection(){return as(this.id)}kick(){return Ci(this.id)}ban(){return Ti(this.id)}banEx(t,a){return j_(this.id,t,a)}isAdmin(){return Ei(this.id)}isInRangeOfPoint(t,a,n,i){return yr(this.id,t,a,n,i)}isStreamedIn(t){return Ir(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t===74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===le.DUCK?!1:xr(this.id,t)}getSkin(){return Hr(this.id)}isInAnyVehicle(){return Ws(this.id)}getSpecialAction(){return Ls(this.id)}setSpecialAction(t){return Rs(this.id,t)}setScore(t){return Or(this.id,t)}getScore(){return Gr(this.id)}getPing(){return zr(this.id)||0}setPos(t,a,n){return Le(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===z.NONE)return;const[t,a,n]=pr(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===z.SPECTATING}isWasted(){return this.getState()===z.WASTED}getState(){return Yr(this.id)}getVersion(){return this.isNpc()?"":Fi(this.id)}setVirtualWorld(t){return vs(this.id,t)}getVirtualWorld(){return Os(this.id)}removeFromVehicle(){return As(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return ns(this.id,t)}getWantedLevel(){return is(this.id)}setFacingAngle(t){return gr(this.id,t)}getFacingAngle(){return Sr(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return ts(this.id,t)}getWeather(){return Hi(this.id)}setTime(t,a){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(a<0||a>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return Qr(this.id,t,a)}getTime(){const[t,a]=qr(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){return Ss(this.id,t,a,n,i,r)}setTeam(t){t<0||t>C.NO_TEAM||br(this.id,t)}getTeam(){return vr(this.id)}setSkillLevel(t,a){if(a<0||a>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return us(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]=ls(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 se(a,n,i)*t}getKeys(){const[t,a,n]=Jr(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return Bi(this.id)}getFightingStyle(){return ss(this.id)}setFightingStyle(t){return rs(this.id,t)}setArmour(t){return Tr(this.id,t)}getArmour(){return Dr(this.id)}setCameraBehind(){return Js(this.id)}setCameraPos(t,a,n){return zs(this.id,t,a,n)}setCameraLookAt(t,a,n,i=q.CUT){return $s(this.id,t,a,n,i)}getCameraAspectRatio(){return io(this.id)}getCameraFrontVector(){const[t,a,n]=qs(this.id);return{x:t,y:a,z:n}}getCameraMode(){return eo(this.id)}getCameraPos(){const[t,a,n]=Qs(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(){const t=no(this.id);return u.getInstances().find(a=>a.id===t)}getCameraTargetVehicle(){const t=ao(this.id);return I.getInstances().find(a=>a.id===t)}getCameraZoom(){return ro(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),cs(this.id,t,a,n,i,r,s)}stopAudioStream(){return _s(this.id)}playSound(t,a=0,n=0,i=0){return Ts(this.id,t,a,n,i)}static getMaxPlayers(){return On()}playCrimeReport(t,a){if(a<3||a>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return ds(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,o,l=q.CUT){return so(this.id,t,a,n,i,r,s,o,l)}interpolateCameraLookAt(t,a,n,i,r,s,o,l=q.CUT){return oo(this.id,t,a,n,i,r,s,o,l)}createExplosion(t,a,n,i,r){if(i<0||i>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return Fs(this.id,t,a,n,i,r)}static isConnected(t){return Re(t)}isConnected(){return Re(this.id)}disableRemoteVehicleCollisions(t){return bs(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=Ps(this.id);return I.getInstances().find(a=>a.id===t)}getVehicleSeat(){return Es(this.id)}getSurfingVehicle(){const t=ms(this.id);if(t!==C.VEHICLE_ID)return I.getInstances().find(a=>a.id===t)}applyAnimation(t,a,n=4.1,i=!1,r=!0,s=!0,o=!1,l=0,d=!1){if(!_e(t,a))throw new Error("[Player]: Invalid anim library or name");return Ds(this.id,t,a,n,i,r,s,o,l,+d)}clearAnimations(t=!1){return ws(this.id,t)}getAnimationIndex(){return Ns(this.id)}getAnimationName(t=this.getAnimationIndex()){const[a,n]=qn(t);return{index:t,animLib:a,animName:n}}setShopName(t){return hs(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{Le(this.id,t,a,n),setTimeout(()=>i(mr(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){return Ks(this.id,t,a,n,i)}clearWorldBounds(){return Zs(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 Bs(this.id)}getTargetPlayer(){const t=Rr(this.id);if(t!==C.PLAYER_ID)return u.getInstances().find(a=>a.id===t)}getLastShotVectors(){const[t,a,n,i,r,s]=ys(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return $r(this.id)}getWeaponData(t){if(t<0||t>12)throw new Error("[Player]: weapon slots range from 0 to 12");const[a,n]=Kr(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Lr(this.id)}giveWeapon(t,a){return Vr(this.id,t,a)}setAmmo(t,a){return wr(this.id,t,a)}getAmmo(){return Nr(this.id)}setArmedWeapon(t){return Wr(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,de.CONNECT)}sendDeathMessage(t,a){return vn(t===C.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){return _r(this.id,t===C.PLAYER_ID?t:t.id,a===C.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,o,l,d,h,m,p){return t<0||t>C.NO_TEAM||a<0||a>311||a===74||l<0||h<0||p<0?!1:ci(this.id,t,a,n,i,r,s,o,l,d,h,m,p)}redirectDownload(t){return v_(this.id,t)}sendClientCheck(t,a,n,i){const r=[2,5,69,70,71,72];if(!r.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${r.toString()}`);return new Promise((s,o)=>{if(this.isPaused)return o("[Player]: An attempt to check the player client response, but the player paused the game");const l="[Player]: An attempt to check the player client response timed out",d=this.getPing(),h=(d>=200?0:d)+200;let m=null;const p=dt(({player:y,actionId:P,memAddr:R,data:H,next:ae})=>{if(y!==this)return ae();m?(clearTimeout(m),m=null,o(l)):s({actionId:P,memAddr:R,data:H});const St=ae();return p(),St});m=setTimeout(()=>{p(),o(l)},h),bi(this.id,t,a,n,i)})}selectTextDraw(t){Mc(this.id,t)}cancelSelectTextDraw(){xc(this.id)}beginObjectSelecting(){return w_(this.id)}endObjectEditing(){return N_(this.id)}getSurfingObject(t){const a=ps(this.id);if(a!==C.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=gs(this.id);if(a!==C.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return M_(this.id,t)}editAttachedObject(t){return D_(this.id,t)}setAttachedObject(t,a,n,i=0,r=0,s=0,o=0,l=0,d=0,h=1,m=1,p=1,y=0,P=0){return this.isAttachedObjectSlotUsed(t)?0:F_(this.id,t,a,n,i,r,s,o,l,d,h,m,p,y,P)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?k_(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 ki(this.id,t)}isWidescreenToggled(){return Mi(this.id)}getSpawnInfo(){return hi(this.id)}getSkillLevel(t){return xi(this.id,t)}isCheckpointActive(){return $l(this.id)}getCheckpoint(){return Jl(this.id)}isRaceCheckpointActive(){return Ql(this.id)}getRaceCheckpoint(){return ql(this.id)}getWorldBounds(){Vi(this.id)}isInModShop(){return Wl(this.id)}getSirenState(){return Kl(this.id)}getLandingGearState(){return Zl(this.id)}getHydraReactorAngle(){return jl(this.id)}getTrainSpeed(){return Xl(this.id)}getZAim(){return Ui(this.id)}getSurfingOffsets(){return Wi(this.id)}getRotationQuat(){return Ki(this.id)}getDialogID(){return Zi(this.id)}getSpectateID(){return ji(this.id)}getSpectateType(){return Xi(this.id)}getRawIp(){return Gi(this.id)}setGravity(t){return Yi(this.id,t)}getGravity(){return zi(this.id)}setAdmin(t){return Ai(this.id,t)}isSpawned(){return $i(this.id)}isControllable(){return Ji(this.id)}isCameraTargetEnabled(){return Qi(this.id)}toggleGhostMode(t){return qi(this.id,t)}getGhostMode(){return er(this.id)}getBuildingsRemoved(){return tr(this.id)}getAttachedObject(t){return B_(this.id,t)}removeWeapon(t){return ar(this.id,t)}isUsingOfficialClient(){return ir(this.id)}allowWeapons(t){return or(this.id,t)}areWeaponsAllowed(){return lr(this.id)}gpci(t=this.charset){return Ri(this.id,t)}isCuffed(){return lo(this.id)}isInDriveByMode(){return co(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[ct]=c({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});ct(({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 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=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=f.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),nr(t.id)}}const[_t]=c({name:"OnPlayerConnect",beforeEach(e){const t=new u(e);return u.players.set(e,t),D.close(t),{player:t}}}),[ht]=c({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:u.players.get(e),reason:t}},afterEach({player:e}){u.players.delete(e.id)}}),[ut]=c({name:"OnPlayerUpdate",beforeEach(e){return{player:u.getInstance(e)}}}),[lh]=c({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e);return{player:a,text:f.decodeFromBuf(t,a.charset),buffer:t}}}),[dh]=c({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:u.getInstance(e),enterExit:!!t,interior:a}}}),[ch]=c({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:u.getInstance(e),fX:t,fY:a,fZ:n}}}),[_h]=c({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:u.getInstance(e),clickedPlayer:u.getInstance(t),source:a}}}),[hh]=c({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:u.getInstance(e),killer:u.getInstance(t)||C.PLAYER_ID,reason:a}}}),[uh]=c({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[mh]=c({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newKeys:t,oldKeys:a}}}),[ph]=c({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:u.getInstance(e),classId:t}}}),[gh]=c({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[Sh]=c({name:"OnPlayerSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[yh]=c({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newState:t,oldState:a}}}),[fh]=c({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[Ih]=c({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[Ph]=c({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]=c({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:u.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Ah]=c({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:u.getInstance(e),type:t,crc:a}}}),[Ch]=c({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:u.getInstance(e),virtualWorld:t}}}),[Th]=c({name:"OnPlayerWeaponShot",beforeEach(e,t,a,n,i,r,s){return{player:u.getInstance(e),weapon:t,hitType:a,hitId:n,fX:i,fY:r,fZ:s}}});let te=null;const[Dh,wh]=c({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Nh,Lh]=c({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[Rh,bh]=c({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}});_t(({next:e})=>(!te&&u.getInstances().length&&(te=setInterval(()=>{u.getInstances().filter(t=>{const a=t.getState()!==z.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,wh(t,t.lastUpdateTick))})},500)),e())),ht(({next:e})=>(te&&u.getInstances().length<=1&&(clearInterval(te),te=null),e()));function vh(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,bh(e,i,n)}}ut(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Lh(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,vh(e)}return t()});const $=new Map,J=new Map,mt=/[^/\s]+/gi,ue={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]=c({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Bh,Fh]=c({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[kh,me]=c({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[Mh]=c({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e),n=f.decodeFromBuf(t,a.charset);return{player:a,buffer:t,cmdText:n}}});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,cmdText:t,next:a})=>{const n=t.match(mt),i=xh(n),r=i.find(h=>$.has(h)),s=i.map(h=>h.toLowerCase()).find(h=>J.has(h)),o=n.join(" ");if(!r&&!s)return me(e,o,ue.NOT_EXIST);const l=Gh(e,o);if(!l)return l;const d=[[r,$],[s,J]];for(const[h,m]of d){if(!h)continue;const p=m.get(h),[,y]=p,P=o.replace(h,"").trim().split(" ");if(!y(e,P))return me(e,o,ue.REJECTED)}return Fh(e,o)?a():me(e,o,ue.PERFORMED)});function Hh(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],o=s.find(h=>!h.match(mt));if(o)return console.log(`error command ${o} format`),()=>{};const l=n?$:J,d=s.map(h=>{const m=h.replaceAll("/",""),p=n?m:m.toLowerCase();if(!l.has(p)){const P=c({name:n?"$"+p:p,isNative:!1,beforeEach:Hh});l.set(p,P)}const[y]=l.get(p);return[p,y(r)]});return()=>{d.forEach(h=>{const[m,p]=h;p()===0&&l.delete(m)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(a=>{let n=a.replaceAll("/","");$.has(n)&&(v.has(n)&&v.delete(n),$.has(n)&&$.delete(n)),n=n.toLowerCase(),J.has(n)&&(v.has(n)&&v.delete(n),J.has(n)&&J.delete(n))})}static enableCaseSensitive(){M.caseSensitive=!0}static disableCaseSensitive(){M.caseSensitive=!1}static isCaseSensitive(){return M.caseSensitive}}const pe=Object.freeze({onConnect:_t,onDisconnect:ht,onPause:Dh,onResume:Nh,onUpdate:ut,onText:lh,onEnterExitModShop:dh,onClickMap:ch,onClickPlayer:_h,onDeath:hh,onGiveDamage:uh,onKeyStateChange:mh,onRequestClass:ph,onRequestSpawn:gh,onSpawn:Sh,onStateChange:yh,onStreamIn:fh,onStreamOut:Ih,onTakeDamage:Ph,onInteriorChange:Eh,onRequestDownload:Ah,onFinishedDownloading:Ch,onCheckResponse:dt,onCommandReceived:Oh,onCommandPerformed:Bh,onCommandError:kh,onCommandText:M.on,offCommandText:M.off,onDialogResponse:ct,onLocaleChange:ih,onCharsetChange:sh,onFpsUpdate:Rh,onWeaponShot:Th}),[pt]=c({name:"OnGameModeInit"}),[gt]=c({name:"OnGameModeExit"}),[Vh]=c({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[Uh]=c({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:f.decodeFromBuf(e)}}}),[Wh]=c({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:f.decodeFromBuf(e),password:f.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),K=[],Q=[],ge=new Map,Se=async e=>{try{return await new Promise((t,a)=>{const n=K.findIndex(o=>o.name===e);if(n===-1)return;const i=K[n];function r(o){o.length&&ge.set(e,o),K.splice(n,1),Q.push(i),setTimeout(t)}const s=i.load();s instanceof Promise?s.then(r).catch(a):r(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
3
- err:${t}`)}},ye=async e=>{try{return await new Promise((t,a)=>{const n=Q.findIndex(l=>l.name===e);if(n===-1)return;const i=Q[n],r=ge.get(e);r&&(r.forEach(l=>l()),ge.delete(e));function s(){Q.splice(n,1),K.push(i),setTimeout(t)}const o=i.unload();o instanceof Promise?o.then(s).catch(a):s()})}catch(t){throw new Error(`[GameMode]: script ${e} unload fail
4
- ${t}`)}},Kh=async e=>{await ye(e),await Se(e)};pt(async({next:e})=>{const t=K.map(a=>a.name);for(const a of t)await Se(a);return e()}),gt(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(K.some(a=>a.name===e.name)||Q.some(a=>a.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),K.push(e)};class N{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=pt;static onExit=gt;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){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return Hn(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return kn(t)}static getWorldTime=Mn;static setTeamCount=oi;static sendRconCommand=X_;static addPlayerClass=li;static addPlayerClassEx=di;static createExplosion(t,a,n,i,r){if(i<0||i>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return Wn(t,a,n,i,r)}static manualVehicleEngineAndLights=rl;static blockIpAddress=Ni;static unBlockIpAddress=Li;static getServerTickRate=Qn;static addSimpleModel(t,a,n,i,r){return this.checkSimpleModel(t,a,n,i,r)?R_(t,a,n,i,r):0}static addSimpleModelTimed(t,a,n,i,r,s,o){return this.checkSimpleModel(t,a,n,i,r,s,o)?b_(t,a,n,i,r,s,o):0}static checkSimpleModel(t,a,n,i,r,s,o){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(a<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(n>-1e3||n<-3e4)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(i.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(r.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(o!==void 0&&(o<0||o>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return 1}static isValidCustomModel=Ge;static getCustomModePath=x_;static getConsoleVarAsString(t,a="utf8"){const n=En(t);return f.decodeFromBuf(f.getValidStr(n),a)}static getRestartTime=Ln;static setRestartTime=Nn;static allowAdminTeleport=gn;static isAdminTeleportAllowed=Sn;static allowInteriorWeapons=yn;static areInteriorWeaponsAllowed=fn;static areAllAnimationsEnabled=In;static enableAllAnimations=Pn;static enableStuntBonusForAll=ei;static enableVehicleFriendlyFire=xn;static enableZoneNames=Kn;static disableInteriorEnterExits=jn;static setGameModeText=Gn;static getGravity=Vn;static setGravity=Un;static showNameTags=Bn;static disableNameTagLOS=Yn;static usePlayerPedAnims=Zn;static showPlayerMarkers=Fn;static limitPlayerMarkerRadius=$n;static limitGlobalChatRadius=zn;static setNameTagDrawDistance=Xn;static findModelFileNameFromCRC=O_;static findTextureFileNameFromCRC=G_;static getWeaponName=ii;static setObjectsDefaultCameraCollision=L_;static vectorSize=se;static clearBanList=vi;static isBanned=Oi;static isValidNickName=dn;static allowNickNameCharacter=cn;static isNickNameCharacterAllowed=_n;static addServerRule=hn;static setServerRule=un;static isValidServerRule=mn;static removeServerRule=pn;static getWeaponSlot=ni;static getAvailableClasses=Ne;static getPlayerClass=ri;static editPlayerClass=si;static toggleChatTextReplacement=ti;static chatTextReplacementToggled=ai;static getConsoleVarAsInt=An;static getConsoleVarAsBool=Cn;static getWeather=Tn;static getServerRuleFlag=Dn;static setServerRuleFlags=wn}N.onExit(({next:e})=>(I.getInstances().forEach(t=>t.destroy()),e()));const[jh]=c({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:I.getInstance(e),player:u.getInstance(t)}}}),[Xh]=c({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:I.getInstance(e),killer:u.getInstance(t)}}}),[Yh]=c({name:"OnVehicleMod",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:I.getInstance(t),componentId:a}}}),[zh]=c({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:I.getInstance(t),paintjobId:a}}}),[$h]=c({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:u.getInstance(e),vehicle:I.getInstance(t),color:[a,n]}}}),[Jh]=c({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:I.getInstance(t),state:!!a}}}),[Qh]=c({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:I.getInstance(e)}}}),[qh]=c({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:I.getInstance(e),forPlayer:u.getInstance(t)}}}),[eu]=c({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:I.getInstance(e),forPlayer:u.getInstance(t)}}}),[tu]=c({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:I.getInstance(t),isPassenger:!!a}}}),[au]=c({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:u.getInstance(e),vehicle:I.getInstance(t)}}}),[nu]=c({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:I.getInstance(e),seatId:t}}}),[iu]=c({name:"OnNpcExitVehicle"}),[ru]=c({name:"OnTrailerUpdate",beforeEach(e,t){return{player:u.getInstance(e),vehicle:I.getInstance(t)}}}),[su]=c({name:"OnUnoccupiedVehicleUpdate",beforeEach(e,t,a,n,i,r,s,o,l){return{vehicle:I.getInstance(e),player:u.getInstance(t),passengerSeat:a,newX:n,newY:i,newZ:r,velX:s,velY:o,velZ:l}}}),ou=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,onUnoccupiedUpdate:su});class lu{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return wi()}static getPlayerNetworkStats(t){return Di(t.id)}static getBytesReceived(t){return pi(t.id)}static getBytesSent(t){return Si(t.id)}static getConnectionStatus(t){return Ii(t.id)}static getConnectedTime(t){return ui(t.id)}static getIpPort(t){return Pi(t.id)}static getMessagesReceived(t){return mi(t.id)}static getMessagesRecvPerSecond(t){return yi(t.id)}static getMessagesSent(t){return gi(t.id)}static getPacketLossPercent(t){return fi(t.id)}}class du{_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){bn(t)}static has(t,a){return cr(t.id,a)}forAll(t="win1252"){Rn(f.encodeToBuf(f.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,a="win1252"){dr(t.id,f.encodeToBuf(f.convertSpecialChar(this.text),a),this.time,this.style)}hideForPlayer(t){return hr(t.id,this.style)}}class Y{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)throw new Error("[Menu]: The menu column number interval is between 1 and 2");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(){if(this._id!==-1)throw new Error("[Menu]: Cannot be created twice");if(Y.getInstances().length===O.MAX_MENUS)throw new Error("[Menu]: The maximum number of menus allowed to be created has been reached 128");return this._id=od(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),Y.menus.set(this._id,this),this}destroy(){if(this._id===-1)throw new Error("[Menu]: Cannot destroy before create");return ld(this.id),Y.menus.delete(this._id),this._id=-1,this}addItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot addItem before create");if(this._itemCount===O.MAX_MENU_ROW)throw new Error("[Menu]: The maximum number of items allowed to be added has been reached 12");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return dd(this.id,t,a),this._itemCount++,this}setColumnHeader(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot setColumnHeader before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return cd(this.id,t,a),this}disable(){if(this._id===-1)throw new Error("[Menu]: Cannot disable menu before create");return md(this.id),this}disableRow(t){if(this._id===-1)throw new Error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)throw new Error("[Menu]: Wrong number of rows");pd(this.id,t)}isValid(){return ud(this.id)}showForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot show menu before create");return _d(this.id,t.id)}hideForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot hide menu before create");return hd(this.id,t.id)}isDisabled(){return this._id===-1?!1:ed(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:td(this.id,t)}getItems(t){return this._id===-1?0:ad(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:nd(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:id(this.id)}getColumnHeader(t){if(this._id===-1)throw new Error("[Menu]: Cannot get column header before create");return rd(this.id,t)}getItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot get item before create");if(a<0||a>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return sd(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===gd(t.id))}}N.onExit(({next:e})=>(Y.getInstances().forEach(t=>t.destroy()),e()));const[cu]=c({name:"OnPlayerExitedMenu",beforeEach(e){return{player:u.getInstance(e)}}}),[_u]=c({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=u.getInstance(e),n=Y.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),hu=Object.freeze({onPlayerExited:cu,onPlayerSelectedRow:_u});class w{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)throw new Error("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(w.getInstances(!1).length===O.MAX_GANG_ZONES)throw new Error("[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=Bd(t.id,a,n,i,r);const s=pe.onDisconnect(({player:o,next:l})=>{l(),o===this.sourceInfo.player&&(this.destroy(),s())});w.playerGangZones.set(this.id,this)}else{if(w.getInstances(!0).length===O.MAX_GANG_ZONES)throw new Error("[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=Td(a,n,i,r),w.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)throw new Error("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(Fd(t.id,this.id),w.playerGangZones.delete(this.id)):(Dd(this.id),w.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");if(!this.sourceInfo.player)return Nd(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");const n=this.sourceInfo.player;if(n)kd(n.id,this.id,S(t));else if(a)wd(a.id,this.id,t);else throw new Error("[GangZone]: invalid player for show");return this}hideForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");if(!this.sourceInfo.player)return Rd(this.id),this;throw new Error("[GangZone]: player's gangzone should not be hide for all.")}hideForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");const a=this.sourceInfo.player;if(a)Md(a.id,this.id);else if(t)Ld(t.id,this.id);else throw new Error("[GangZone]: invalid player for hide");return this}flashForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");if(!this.sourceInfo.player)return vd(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");const n=this.sourceInfo.player;if(n)xd(n.id,this.id,S(a));else if(t)bd(t.id,this.id,a);else throw new Error("[GangZone]: invalid player for flash");return this}stopFlashForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");if(!this.sourceInfo.player)return Gd(this.id),this;throw new Error("[GangZone]: player's gangzone should not be stop flash for all.")}stopFlashForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");const a=this.sourceInfo.player;if(a)Hd(a.id,this.id);else if(t)Od(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Vd(t.id,this.id):Sd(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Ud(a.id,this.id):yd(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Wd(a.id,this.id):fd(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?Kd(a.id,this.id):Id(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?Zd(a.id,this.id):Pd(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?jd(a.id,this.id):Ed(t.id,this.id)}getPos(){if(this.id===-1)throw new Error("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?Xd(t.id,this.id):Ad(this.id)}useCheck(t){if(this.id===-1)throw new Error("[GangZone]: Unable to use check before create");const a=this.sourceInfo.player;return a?Yd(a.id,this.id,t):Cd(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()]}}N.onExit(({next:e})=>(w.getInstances(!0).forEach(t=>t.destroy()),w.getInstances(!1).forEach(t=>t.destroy()),e()));const[uu]=c({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[mu]=c({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[pu]=c({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!1)}}}),[gu]=c({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!1)}}}),[Su]=c({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[yu]=c({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!1)}}}),fu=Object.freeze({onPlayerEnterGlobal:uu,onPlayerLeaveGlobal:mu,onPlayerEnterPlayer:pu,onPlayerLeavePlayer:gu,onPlayerClickGlobal:Su,onPlayerClickPlayer:yu}),E={skip:!1};N.onInit(({next:e})=>(E.skip=!1,e())),N.onExit(({next:e})=>(E.skip=!0,e()));const[Z]=c({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[j]=c({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[Iu]=c({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=Ct;static setTickRate=Tt;static getPlayerTickRate(t){return Dt(t.id)}static setPlayerTickRate(t,a=50){return wt(t.id,a)}static toggleChunkStream=Nt;static isToggleChunkStream=Lt;static getChunkTickRate(t,a=-1){return a instanceof u?Ie(t,a.id):Ie(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof u?Pe(t,a,n.id):Pe(t,a,n)}static getChunkSize=Rt;static setChunkSize=bt;static getMaxItems=vt;static setMaxItems=Ot;static getVisibleItems(t,a=-1){return a instanceof u?Ee(t,a.id):Ee(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof u?Ae(t,a,n.id):Ae(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof u?Ce(t,a.id):Ce(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof u?Te(t,n.id):Te(t,a,n)}static getTypePriority=Gt;static setTypePriority=Bt;static getCellDistance=Ft;static setCellDistance=kt;static getCellSize=Mt;static setCellSize=xt;static toggleItemStatic=Ht;static isToggleItemStatic=Vt;static toggleItemInvAreas=Ut;static isToggleItemInvAreas=Wt;static toggleItemCallbacks=Kt;static isToggleItemCallbacks=Zt;static toggleErrorCallback=jt;static isToggleErrorCallback=Xt;static amxUnloadDestroyItems=Yt;static processActiveItems=zt;static toggleIdleUpdate(t,a){return $t(t.id,a)}static isToggleIdleUpdate(t){return Jt(t.id)}static toggleCameraUpdate(t,a){return Qt(t.id,a)}static isToggleCameraUpdate(t){return qt(t.id)}static toggleItemUpdate(t,a,n){return ea(t.id,a,n)}static isToggleItemUpdate(t,a){return ta(t.id,a)}static getLastUpdateTime(){return aa()}static update(t,a=-1){return na(t.id,a)}static updateEx(t,a,n,i,r,s,o,l,d){return ia(t.id,a,n,i,r,s,o,l,d)}static getDistanceToItem=ra;static toggleItem(t,a,n,i){return sa(t.id,a,n,i)}static isToggleItem(t,a,n){return oa(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return la(t.id,a,n,i)}static getItemInternalID(t,a,n){return da(t.id,a,n)}static getItemStreamerID(t,a,n){return ca(t.id,a,n)}static isItemVisible(t,a,n){return _a(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return ha(t.id,a,n)}static countVisibleItems(t,a,n=1){return ua(t.id,a,n)}static destroyAllItems=ma;static countItems=pa;static getNearbyItems=ga;static getAllVisibleItems(t,a,n){return Sa(t.id,a,n)}static getItemPos=ya;static setItemPos=fa;static getItemOffset=Ia;static setItemOffset=Pa;static getFloatData=Ea;static setFloatData=Aa;static getIntData=Ca;static setIntData=Ta;static getArrayData=Da;static setArrayData=wa;static isInArrayData=Na;static appendArrayData=La;static removeArrayData=Ra;static getArrayDataLength=ba;static getUpperBound=va;static onPluginError=Iu}class U{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:o}=this.sourceInfo;const{x:l,y:d,z:h,type:m,color:p,extended:y}=this.sourceInfo;if(m<0||m>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=Oa.LOCAL,a??=ne.MAP_ICON_SD,o??=0,y?(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=Ga(l,d,h,m,S(p),t,a,n,i,r,s,o),U.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=Ba(l,d,h,m,S(p),n,i,r,a,t,s,o),U.mapIcons.set(this._id,this),this)}destroy(){if(this.id===-1&&!E.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return E.skip||Fa(this.id),U.mapIcons.delete(this._id),this._id=-1,this}isValid(){return E.skip&&this.id!==-1?!0:ka(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return T.toggleItemCallbacks(A.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:T.isToggleItemCallbacks(A.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}N.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[Pu,Eu]=c({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Au,Cu]=c({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===A.MAP_ICON?Eu(a,U.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===A.MAP_ICON?Cu(a,U.getInstance(t)):n());const Tu=Object.freeze({onStreamIn:Pu,onStreamOut:Au});class V{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:o,modelId:l,x:d,y:h,z:m,extended:p}=this.sourceInfo;if(o<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=_.StreamerDistances.PICKUP_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=_.CreateDynamicPickupEx(l,o,d,h,m,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=_.CreateDynamicPickup(l,o,d,h,m,a,n,i,t,r,s)),V.pickups.set(this._id,this),this}destroy(){if(this.id===-1&&!E.skip)throw new Error("[StreamerPickup]: Unable to destroy the pickup before create");return E.skip||_.DestroyDynamicPickup(this.id),V.pickups.delete(this.id),this._id=-1,this}isValid(){return E.skip&&this.id!==-1?!0:_.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return T.toggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:T.isToggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}N.onExit(({next:e})=>(V.getInstances().forEach(t=>t.destroy()),e()));const[Du,wu]=c({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Nu,Lu]=c({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===A.PICKUP?wu(a,V.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===A.PICKUP?Lu(a,V.getInstance(t)):n());const[Ru]=c({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:V.getInstance(t)}}}),bu=Object.freeze({onPlayerPickUp:Ru,onStreamIn:Du,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)throw new Error("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{size:o,x:l,y:d,z:h,extended:m}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=ne.CP_SD,s??=0,m?(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=Ma(l,d,h,o,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=xa(l,d,h,o,a,n,i,t,r,s)),F.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!E.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return E.skip||De(this.id),F.checkpoints.delete(this.id),this._id=-1,this}isValid(){return E.skip&&this.id!==-1?!0:we(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return Ha(t.id,this.id,a),this}static togglePlayerAll(t,a){return Va(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Ua(t.id,this.id)}static getPlayerVisible(t){return F.checkpoints.get(Wa(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return T.toggleItemCallbacks(A.CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:T.isToggleItemCallbacks(A.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}N.onExit(({next:e})=>(F.checkpoints.forEach(t=>t.destroy()),e()));const[vu,Ou]=c({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Gu,Bu]=c({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===A.CP?Ou(a,F.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===A.CP?Bu(a,F.getInstance(t)):n());const[Fu]=c({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),cp:F.getInstance(t)}}}),[ku]=c({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),cp:F.getInstance(t)}}}),Mu=Object.freeze({onPlayerEnter:Fu,onPlayerLeave:ku,onStreamIn:vu,onStreamOut:Gu});class k{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:o,size:l,x:d,y:h,z:m,nextX:p,nextY:y,nextZ:P,extended:R}=this.sourceInfo;if(o<0||o>8)throw new Error("[StreamerRaceCP]: Invalid type");if(l<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=ne.RACE_CP_SD,s??=0,R?(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=Ka(o,d,h,m,p,y,P,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=Za(o,d,h,m,p,y,P,l,a,n,i,t,r,s)),k.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!E.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return E.skip||De(this.id),k.checkpoints.delete(this.id),this._id=-1,this}isValid(){return E.skip&&this.id!==-1?!0:we(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle the player before create");return ja(t.id,this.id,a),this}static togglePlayerAll(t,a){return Xa(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Ya(t.id,this.id)}static getPlayerVisible(t){return k.checkpoints.get(za(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return T.toggleItemCallbacks(A.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:T.isToggleItemCallbacks(A.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}N.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),e()));const[xu,Hu]=c({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Vu,Uu]=c({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===A.RACE_CP?Hu(a,k.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===A.RACE_CP?Uu(a,k.getInstance(t)):n());const[Wu]=c({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),raceCP:k.getInstance(t)}}}),[Ku]=c({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),raceCp:k.getInstance(t)}}}),Zu=Object.freeze({onPlayerEnter:Wu,onPlayerLeave:Ku,onStreamIn:xu,onStreamOut:Vu});class x{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{modelId:o,x:l,y:d,z:h,r:m,invulnerable:p,health:y,extended:P}=this.sourceInfo;return t??=_.StreamerDistances.ACTOR_SD,s??=0,P?(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=_.CreateDynamicActorEx(o,l,d,h,m,p,y,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=_.CreateDynamicActor(o,l,d,h,m,p,y,a,n,i,t,r,s)),x.actors.set(this.id,this),this}destroy(){if(this.id===-1&&!E.skip)throw new Error("[StreamerActor]: Unable to destroy the actor before create");return E.skip||_.DestroyDynamicActor(this.id),x.actors.delete(this.id),this._id=-1,this}isValid(){return E.skip&&this.id!==-1?!0:_.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:_.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get virtual world before create");return _.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set virtual world before create");return _.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=4.1,i=!1,r=!0,s=!0,o=!1,l=0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!_e(t,a))throw new Error("[StreamerActor]: Invalid anim library or name");return _.ApplyDynamicActorAnimation(this.id,t,a,n,i,r,s,o,l)}clearAnimations(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to clear animation before create");return _.ClearDynamicActorAnimations(this.id)}getFacingAngle(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get facing angle before create");return _.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set facing angle before create");return _.SetDynamicActorFacingAngle(this.id,t)}getPos(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get pos before create");return _.GetDynamicActorPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set pos before create");return _.SetDynamicActorPos(this.id,t,a,n)}getHealth(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get health before create");return _.GetDynamicActorHealth(this.id)}setHealth(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set health before create");return _.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:_.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return _.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=_.GetPlayerTargetDynamicActor(t.id);return x.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=_.GetPlayerCameraTargetDynActor(t.id);return x.actors.get(a)}getSkin(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get skin before create");return po(this.id)}setSkin(t,a=!1){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set skin before create");return!a&&(t<0||t>311||t===74)?0:go(this.id,t)}getSpawnInfo(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get spawn info before create");return So(this.id)}getAnimation(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get animation before create");return _.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return T.toggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:T.isToggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}N.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),e()));const[ju]=c({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:x.getInstance(e),forPlayer:u.getInstance(t)}}}),[Xu]=c({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:x.getInstance(e),forPlayer:u.getInstance(t)}}}),[Yu]=c({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),actor:x.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),zu=Object.freeze({onStreamIn:ju,onStreamOut:Xu,onPlayerGiveDamage:Yu});class X{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:i,worldId:r,interiorId:s,playerId:o,areaId:l,priority:d}=this.sourceInfo;const{charset:h,text:m,color:p,drawDistance:y,x:P,y:R,z:H,extended:ae}=this.sourceInfo;return t??=C.PLAYER_ID,a??=C.VEHICLE_ID,i??=ne.TEXT_3D_LABEL_SD,n??=!1,d??=0,ae?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof l=="number"?l=[-1]:l??=[-1],this._id=z_(m,S(p),P,R,H,y,t,a,n,i,r,s,o,l,d,h||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(l)?l=-1:l??=-1,this._id=Y_(h||"utf8",m,S(p),P,R,H,y,t,a,n,r,s,o,i,l,d)),X.texts.set(this.id,this),this}destroy(){if(this.id===-1&&!E.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return E.skip||$a(this.id),X.texts.delete(this.id),this._id=-1,this}isValid(){return E.skip&&this.id!==-1?!0:Ja(this.id)}getColor(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo.color}getCharset(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo.charset}getText(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get text before create");return J_(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");return this.sourceInfo.charset=n,$_(this.id,S(t),a,n||"utf8")}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return T.toggleItemCallbacks(A.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:T.isToggleItemCallbacks(A.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}N.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),e()));const[$u,Ju]=c({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Qu,qu]=c({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===A.TEXT_3D_LABEL?Ju(a,X.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===A.TEXT_3D_LABEL?qu(a,X.getInstance(t)):n());const em=Object.freeze({onStreamIn:$u,onStreamOut:Qu});class b{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:o}=this.sourceInfo;const{modelId:l,x:d,y:h,z:m,rx:p,ry:y,rz:P,extended:R}=this.sourceInfo;return t??=_.StreamerDistances.OBJECT_SD,a??=_.StreamerDistances.OBJECT_DD,o??=0,R?(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=_.CreateDynamicObjectEx(l,d,h,m,p,y,P,t,a,n,i,r,s,o)):(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=_.CreateDynamicObject(l,d,h,m,p,y,P,n,i,r,t,a,s,o)),b.objects.set(this._id,this),this}destroy(){if(this.id===-1&&!E.skip)throw new Error("[StreamerObject]: Unable to destroy the object before create");return E.skip||_.DestroyDynamicObject(this.id),b.objects.delete(this.id),this._id=-1,this}isValid(){return E.skip&&this.id!==-1?!0:_.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get position before create");return _.GetDynamicObjectPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set position before create");return _.SetDynamicObjectPos(this.id,t,a,n)}getRot(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get rotation before create");return _.GetDynamicObjectRot(this.id)}setRot(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set rotation before create");return _.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,i,r=-1e3,s=-1e3,o=-1e3){if(this.id===-1)throw new Error("[StreamerObject]: Cannot start moving before create");if(i<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(i>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),_.MoveDynamicObject(this.id,t,a,n,i,r,s,o)}stop(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot stop moving before create");return _.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:_.IsDynamicObjectMoving(this.id)}attachCamera(t){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return _.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,i,r,s,o,l=!0){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return _.AttachDynamicObjectToObject(this.id,t.id,a,n,i,r,s,o,l)}attachToPlayer(t,a,n,i,r,s,o){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return _.AttachDynamicObjectToPlayer(this.id,t.id,a,n,i,r,s,o)}attachToVehicle(t,a,n,i,r,s,o){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return _.AttachDynamicObjectToVehicle(this.id,t.id,a,n,i,r,s,o)}edit(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to edit before create");return t.endObjectEditing(),_.EditDynamicObject(t.id,this.id)}isMaterialUsed(t){return this.id===-1?!1:_.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:_.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material before create");return _.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,i,r="#000"){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material before create");return _.SetDynamicObjectMaterial(this.id,t,a,n,i,S(r))}isMaterialTextUsed(t){return this.id===-1?!1:_.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?_.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material text before create");return q_(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=_.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,o=1,l="#fff",d="#000",h=0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo.charset=t,Q_(t||"utf8",this.id,a,n,i,r,s,o,S(l),S(d),h)}getPlayerCameraTarget(t){const a=_.GetPlayerCameraTargetDynObject(t.id);if(a!==C.OBJECT_ID)return b.objects.get(a)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return T.toggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:T.isToggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return _.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return _.GetDynamicObjectNoCameraCol(this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}N.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),e()));const[tm,am]=c({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[nm,im]=c({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===A.OBJECT?am(a,b.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===A.OBJECT?im(a,b.getInstance(t)):n());const[rm]=c({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:b.getInstance(e)}}}),[sm]=c({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,s,o,l){return{player:u.getInstance(e),object:b.getInstance(t),response:a,x:n,y:i,z:r,rX:s,rY:o,rZ:l}}}),[om]=c({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:u.getInstance(e),object:b.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[lm]=c({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:u.getInstance(e),object:b.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[dm]=c({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,o,l,d,h,m,p,y){return{player:u.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:o,fRotX:l,fRotY:d,fRotZ:h,fScaleX:m,fScaleY:p,fScaleZ:y}}}),cm=Object.freeze({onMoved:rm,onPlayerEdit:sm,onPlayerSelect:om,onPlayerShoot:lm,onPlayerEditAttached:dm,onStreamIn:tm,onStreamOut:nm});class L{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)throw new Error("[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:o,size:l}=this.sourceInfo;if(l<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=_.CreateDynamicCircleEx(s,o,l,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:l,maxX:d,maxY:h,maxZ:m}=this.sourceInfo;this._id=_.CreateDynamicCuboidEx(s,o,l,d,h,m,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:l,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=_.CreateDynamicCylinderEx(s,o,l,d,h,t,a,n)}else if(i==="polygon"){const{points:s,minZ:o,maxZ:l}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=_.CreateDynamicPolygonEx(s,o,l,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:l,maxY:d}=this.sourceInfo;this._id=_.CreateDynamicRectangleEx(s,o,l,d,t,a,n)}else{const{x:s,y:o,z:l,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=_.CreateDynamicSphereEx(s,o,l,d,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:o,size:l}=this.sourceInfo;if(l<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=_.CreateDynamicCircle(s,o,l,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:l,maxX:d,maxY:h,maxZ:m}=this.sourceInfo;this._id=_.CreateDynamicCuboid(s,o,l,d,h,m,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:l,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=_.CreateDynamicCylinder(s,o,l,d,h,t,a,n)}else if(i==="polygon"){const{points:s,minZ:o,maxZ:l}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=_.CreateDynamicPolygon(s,o,l,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:l,maxY:d}=this.sourceInfo;this._id=_.CreateDynamicRectangle(s,o,l,d,t,a,n)}else{const{x:s,y:o,z:l,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=_.CreateDynamicSphere(s,o,l,d,t,a,n)}return L.areas.set(this._id,this),this}destroy(){if(this.id===-1&&!E.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return E.skip||_.DestroyDynamicArea(this.id),L.areas.delete(this.id),this._id=-1,this}isValid(){return E.skip&&this.id!==-1?!0:_.IsValidDynamicArea(this.id)}getType(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to get type before create");return _.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonPoints before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonPoints invalid area type");return _.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonNumberPoints number before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonNumberPoints invalid area type");return _.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:_.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return _.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:_.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return _.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return L.getPlayerAreasNumber(t)?_.GetPlayerDynamicAreas(t.id).map(a=>L.areas.get(a)):[]}static getPlayerAreasNumber(t){return _.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:_.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return _.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,s){return this.id===-1?!1:_.IsLineInDynamicArea(this.id,t,a,n,i,r,s)}static isLineInAny(t,a,n,i,r,s){return _.IsLineInAnyDynamicArea(t,a,n,i,r,s)}static getForPoint(t,a,n){return L.getNumberForPoint(t,a,n)?_.GetDynamicAreasForPoint(t,a,n).map(i=>L.getInstance(i)):[]}static getNumberForPoint(t,a,n){return _.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return L.getNumberForLine(t,a,n,i,r,s)?_.GetDynamicAreasForLine(t,a,n,i,r,s).map(o=>L.areas.get(o)):[]}static getNumberForLine(t,a,n,i,r,s){return _.GetNumberDynamicAreasForLine(t,a,n,i,r,s)}attachToObject(t,a=0,n=0,i=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return _.AttachDynamicAreaToObject(this.id,t.id,_.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,a,n,i)}attachToPlayer(t,a=0,n=0,i=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return _.AttachDynamicAreaToPlayer(this.id,t.id,a,n,i)}attachToVehicle(t,a=0,n=0,i=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return _.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle specate mode before create");return _.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:_.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return T.toggleItemCallbacks(_.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:T.isToggleItemCallbacks(_.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}N.onExit(({next:e})=>(L.getInstances().forEach(t=>t.destroy()),e()));const[_m,hm]=c({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[um,mm]=c({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===A.AREA?hm(a,L.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===A.AREA?mm(a,L.getInstance(t)):n());const[pm]=c({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),area:L.getInstance(t)}}}),[gm]=c({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),area:L.getInstance(t)}}}),Sm=Object.freeze({onStreamIn:_m,onStreamOut:um,onPlayerEnter:pm,onPlayerLeave:gm});class g{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)throw new Error("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:i}=this.sourceInfo;if(i){if(g.getInstances(!1).length===O.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=s_(i.id,t,a,n);const r=pe.onDisconnect(({player:s,next:o})=>{const l=o();return s===i&&(this.destroy(),r()),l});g.playerTextDraws.set(this.id,this)}else{if(g.getInstances(!0).length===O.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=gc(t,a,n),g.globalTextDraws.set(this.id,this)}return this}destroy(){this.id===-1&&g.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(o_(t.id,this.id),g.playerTextDraws.delete(this.id)):(Sc(this.id),g.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return g.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?S_(a.id,this.id,t):wc(this.id,t),this}setColor(t){if(this.id===-1)return g.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?__(a.id,this.id,t):Pc(this.id,t),this}setBoxColors(t){if(this.id===-1)return g.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?u_(a.id,this.id,t):Ac(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return g.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?g_(a.id,this.id,t):Dc(this.id,t),this}setAlignment(t){if(this.id===-1)return g.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?c_(a.id,this.id,t):Ic(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return g.beforeCreateWarn("set letter size"),this;const{player:n}=this.sourceInfo;return n?l_(n.id,this.id,t,a):yc(this.id,t,a),this}setOutline(t){if(this.id===-1)return g.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?p_(a.id,this.id,t):Tc(this.id,t),this}setPreviewModel(t){if(this.id===-1)return g.beforeCreateWarn("set preview model"),this;this.setFont(ee.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?A_(a.id,this.id,t):Bc(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return g.beforeCreateWarn("set preview rot"),this;this.setFont(ee.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?C_(r.id,this.id,t,a,n,i):Fc(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return g.beforeCreateWarn("set preview veh col"),this;this.setFont(ee.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?T_(n.id,this.id,t,a):kc(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return g.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?y_(a.id,this.id,t):Nc(this.id,t),this}setSelectable(t){if(this.id===-1)return g.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?f_(a.id,this.id,t):Lc(this.id,t),this}setShadow(t){if(this.id===-1)return g.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?m_(a.id,this.id,t):Cc(this.id,t),this}setString(t,a){if(this.id===-1)return g.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?E_(n.id,this.id,t):a?pc(this.id,a.id,t):Gc(this.id,t),this}setTextSize(t,a){if(this.id===-1)return g.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?d_(n.id,this.id,t,a):fc(this.id,t,a),this}useBox(t){if(this.id===-1)return g.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?h_(a.id,this.id,t):Ec(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return g.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)I_(a.id,this.id);else if(t)Rc(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return g.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)P_(a.id,this.id);else if(t)bc(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===-1)return g.beforeCreateWarn("show"),this;if(!this.sourceInfo.player)return vc(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===-1)return g.beforeCreateWarn("hideAll"),this;if(!this.sourceInfo.player)return Oc(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){const t=this.sourceInfo.player;return t?Hc(t.id,this.id):zd(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?Vc(a.id,this.id):t?$d(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?Uc(t.id,this.id):Jd(this.id)}setPos(t,a){if(this.id===-1)return g.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?Wc(n.id,this.id,t,a):Qd(this.id,t,a),this}getLetterSize(){if(this.id===-1)return g.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?Kc(t.id,this.id):qd(this.id)}getTextSize(){if(this.id===-1)return g.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?Zc(t.id,this.id):ec(this.id)}getPos(){if(this.id===-1)return g.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?jc(t.id,this.id):tc(this.id)}getColor(){if(this.id===-1)return g.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?Xc(t.id,this.id):ac(this.id)}getBoxColor(){if(this.id===-1)return g.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?Yc(t.id,this.id):nc(this.id)}getBackgroundColor(){if(this.id===-1)return g.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?zc(t.id,this.id):ic(this.id)}getShadow(){if(this.id===-1)return g.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?$c(t.id,this.id):rc(this.id)}getOutline(){if(this.id===-1)return g.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?Jc(t.id,this.id):sc(this.id)}getFont(){if(this.id===-1)return g.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?qc(t.id,this.id):lc(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?e_(t.id,this.id):dc(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?t_(t.id,this.id):cc(this.id)}getAlignment(){if(this.id===-1)return g.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?a_(t.id,this.id):_c(this.id)}getPreviewModel(){if(this.id===-1)return g.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?n_(t.id,this.id):hc(this.id)}getPreviewRot(){if(this.id===-1)return g.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?i_(t.id,this.id):uc(this.id)}getPreviewVehColors(){if(this.id===-1)return g.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?r_(t.id,this.id):mc(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()]}}N.onExit(({next:e})=>(g.getInstances(!0).forEach(t=>t.destroy()),g.getInstances(!1).forEach(t=>t.destroy()),e()));const[ym]=c({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===C.TEXT_DRAW?t:g.getInstance(t,!0)}}}),[fm]=c({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===C.TEXT_DRAW?t:g.getInstance(t,!1)}}}),Im=Object.freeze({onPlayerClickGlobal:ym,onPlayerClickPlayer:fm});function Pm(e,t){return(e&t)===t}function Em(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,q as CameraCutStylesEnum,Xe as CameraModesEnum,Qe as CarModTypeEnum,Fe as ClickSourcesEnum,Me as ConnectionStatusEnum,de as DamageDeathReasonEnum,D as Dialog,oe as DialogStylesEnum,X as Dynamic3DTextLabel,em as Dynamic3DTextLabelEvent,x as DynamicActor,zu as DynamicActorEvent,L as DynamicArea,Sm as DynamicAreaEvent,Mu as DynamicCheckPointEvent,F as DynamicCheckpoint,U as DynamicMapIcon,Tu as DynamicMapIconEvent,b as DynamicObject,cm as DynamicObjectEvent,V as DynamicPickup,bu as DynamicPickupEvent,k as DynamicRaceCP,Zu as DynamicRaceCPEvent,G as ERecordStatus,Rm as E_STREAMER,ke as EditResponseTypesEnum,Ze as FightingStylesEnum,$e as ForceSyncEnum,N as GameMode,du as GameText,w as GangZone,fu as GangZoneEvent,f as I18n,C as InvalidEnum,xe as KeysEnum,O as LimitsEnum,bm as MapIconStyles,je as MapIconStylesEnum,He as MarkerModesEnum,vm as MaterialTextAlign,Om as MaterialTextSizes,Y as Menu,hu as MenuEvent,Ve as NPCPlaybackEnum,lu as NetStats,B as Npc,ln as NpcEvent,We as ObjectMaterialAlignmmentEnum,Ue as ObjectMaterialTextSizeEnum,u as Player,pe as PlayerEvent,z as PlayerStateEnum,rt as RecordTypesEnum,Ke as SelectObjectTypesEnum,le as SpecialActionsEnum,ie as SpectateModesEnum,T as Streamer,Gm as StreamerAreaTypes,Bm as StreamerDistances,Fm as StreamerItemTypes,km as StreamerMiscellaneous,Mm as StreamerObjectTypes,g as TextDraw,Je as TextDrawAlignEnum,Im as TextDrawEvent,ee as TextDrawFontsEnum,I as Vehicle,ou as VehicleEvent,et as VehicleModelInfoEnum,qe as VehicleParamsEnum,tt as WeaponEnum,at as WeaponSkillsEnum,it as WeaponStatesEnum,st as animateLib,c as defineEvent,H_ as getAnimateDurationByLibName,Pm as isHolding,Em as isPressed,Am as isPressing,Cm as isReleased,ce as isValidAnimateLib,_e as isValidAnimateName,S as rgba};
1
+ import{encodingExists as It,encode as Et,decode as At}from"iconv-lite";import{snakeCase as se,merge as Ct,omit as Tt,get as Ee,mapKeys as Dt}from"lodash-unified";import*as c from"@infernus/streamer";import{Streamer_GetTickRate as wt,Streamer_SetTickRate as Nt,Streamer_GetPlayerTickRate as Lt,Streamer_SetPlayerTickRate as Rt,Streamer_ToggleChunkStream as bt,Streamer_IsToggleChunkStream as vt,Streamer_GetChunkTickRate as Ae,Streamer_SetChunkTickRate as Ce,Streamer_GetChunkSize as Ot,Streamer_SetChunkSize as Gt,Streamer_GetMaxItems as Ft,Streamer_SetMaxItems as Bt,Streamer_GetVisibleItems as Te,Streamer_SetVisibleItems as De,Streamer_GetRadiusMultiplier as we,Streamer_SetRadiusMultiplier as Ne,Streamer_GetTypePriority as kt,Streamer_SetTypePriority as xt,Streamer_GetCellDistance as Mt,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 ra,Streamer_GetLastUpdateTime as ia,Streamer_Update as sa,Streamer_UpdateEx as oa,Streamer_GetDistanceToItem as la,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 Pa,Streamer_GetAllVisibleItems as fa,Streamer_GetItemPos as Ia,Streamer_SetItemPos as Ea,Streamer_GetItemOffset as Aa,Streamer_SetItemOffset as Ca,Streamer_GetFloatData as Ta,Streamer_SetFloatData as Da,Streamer_GetIntData as wa,Streamer_SetIntData as Na,Streamer_GetArrayData as La,Streamer_SetArrayData as Ra,Streamer_IsInArrayData as ba,Streamer_AppendArrayData as va,Streamer_RemoveArrayData as Oa,Streamer_GetArrayDataLength as Ga,Streamer_GetUpperBound as Fa,MapIconStyles as Ba,StreamerDistances as ne,CreateDynamicMapIconEx as ka,CreateDynamicMapIcon as xa,DestroyDynamicMapIcon as Ma,IsValidDynamicMapIcon as Ha,StreamerItemTypes as A,CreateDynamicCPEx as Va,CreateDynamicCP as Ua,DestroyDynamicCP as Le,IsValidDynamicCP as Re,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 Gm,MapIconStyles as Fm,MaterialTextAlign as Bm,MaterialTextSizes as km,StreamerAreaTypes as xm,StreamerDistances as Mm,StreamerItemTypes as Hm,StreamerMiscellaneous as Vm,StreamerObjectTypes as Um}from"@infernus/streamer";function tn(e){return e instanceof Buffer}class P{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=se(t),this.locales=P.snakeLocaleKeys(a)}addLocales=t=>{Ct(this.locales,P.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=Tt(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const r=this.locales[se(n)],i=Ee(this.locales[this.defaultLocale],t),s=Ee(r,t,i);if(s===void 0)throw new Error(`[i18n]: cannot find ${n}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let o=s;if(a&&a.length){const l=/%s/i;for(let d=0;d<a.length&&o.match(l)!==null;d++)o=o.replace(l,a[d])}return o};static isValidate(t){if(!It(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,a){return P.isValidate(a),[...Et(t,a),0]}static decodeFromBuf(t,a="utf8"){P.isValidate(a);const n=tn(t)?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))}static convertSpecialChar(t){const a={\u00E0:"\x97",\u00E1:"\x98",\u00E2:"\x99",\u00E4:"\x9A",\u00C0:"\x80",\u00C1:"\x81",\u00C2:"\x82",\u00C4:"\x83",\u00E8:"\x9D",\u00E9:"\x9E",\u00EA:"\x9F",\u00EB:"\xA0",\u00C8:"\x86",\u00C9:"\x87",\u00CA:"\x88",\u00CB:"\x89",\u00EC:"\xA1",\u00ED:"\xA2",\u00EE:"\xA3",\u00EF:"\xA4",\u00CC:"\x8A",\u00CD:"\x8B",\u00CE:"\x8C",\u00CF:"\x8D",\u00F2:"\xA5",\u00F3:"\xA6",\u00F4:"\xA7",\u00F6:"\xA8",\u00D2:"\x8E",\u00D3:"\x8F",\u00D4:"\x90",\u00D6:"\x91",\u00F9:"\xA9",\u00FA:"\xAA",\u00FB:"\xAB",\u00FC:"\xAC",\u00D9:"\x92",\u00DA:"\x93",\u00DB:"\x94",\u00DC:"\x95",\u00F1:"\xAE",\u00D1:"\xAD","\xA1":"@","\xBF":"\xAF","`":"\xB1"};return t.split("").map(n=>n in a?a[n]:n).join("")}}const v=new Map;function an(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function nn(e,...t){const{defaultValue:a=!0,name:n,beforeEach:r,afterEach:i}=e,s=v.get(n);if(!s||!s.length)return+a;const o=r?r(...t):{},l=[];let d=-1;const h=()=>{if(d++,d<s.length){try{const m=s[d]({next:h,...o});return m instanceof Promise&&l.push(m),m}catch(m){const p=`executing event [name:${n},index:${d}] error:
2
+ ${m}`;console.log(p)}return a}return i&&(l.length?Promise.allSettled(l).then(()=>i(o)):i(o)),a};return an(h(),a)}function _(e){const{name:t,identifier:a,isNative:n=!0}=e;if(v.has(t)){const o=`event [name:${t}] error: already defined.`;throw new Error(o)}function r(...o){return nn(e,...o)}function i(o){v.has(t)||v.set(t,[]);const l=v.get(t).push(o)-1;return()=>{const d=v.get(t);if(!d)return;const h=d.length-1,m=h<l?h:l;for(let p=m;p>=0;p--)if(d[p]===o){d.splice(p,1);break}return d.length===0&&v.delete(t),d.length}}const s=[i,r];return n&&(typeof a<"u"&&samp.registerEvent(t,a),samp.on(t,r)),s}const[rn]=_({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[sn]=_({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[on]=_({name:"OnNpcModeInit"}),[ln]=_({name:"OnNpcModeExit"}),[dn]=_({name:"OnNpcSpawn"}),[cn]=_({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:P.decodeFromBuf(t)}}}),_n=Object.freeze({onConnect:rn,onDisconnect:sn,onModeInit:on,onModeExit:ln,onSpawn:dn,onClientMessage:cn}),hn=e=>!!samp.callNative("IsValidNickName","s",e),un=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},mn=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),pn=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),gn=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Sn=e=>!!samp.callNative("IsValidServerRule","s",e),yn=e=>!!samp.callNative("RemoveServerRule","s",e),Pn=e=>{samp.callNative("AllowAdminTeleport","i",e)},fn=()=>!!samp.callNative("IsAdminTeleportAllowed",""),In=e=>{samp.callNative("AllowInteriorWeapons","i",e)},En=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),An=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Cn=e=>{samp.callNative("EnableAllAnimations","i",e)},Tn=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},Dn=e=>samp.callNative("GetConsoleVarAsInt","s",e),wn=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",""),On=(e,t,a)=>samp.callNative("GameTextForAll","aii",e,t,a),Gn=e=>{samp.callNative("HideGameTextForAll","i",e)},Fn=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Bn=()=>samp.callNative("GetMaxPlayers",""),oe=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),kn=e=>samp.callNative("SetGameModeText","s",e),xn=e=>samp.callNative("ShowNameTags","i",e),Mn=e=>samp.callNative("ShowPlayerMarkers","i",e),Hn=e=>samp.callNative("SetWorldTime","i",e),Vn=()=>samp.callNative("GetWorldTime",""),Un=()=>samp.callNative("EnableVehicleFriendlyFire",""),Wn=e=>samp.callNative("SetWeather","i",e),Kn=()=>samp.callNativeFloat("GetGravity",""),Zn=e=>samp.callNative("SetGravity","f",e),jn=(e,t,a,n,r)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,r),Xn=e=>samp.callNative("EnableZoneNames","i",e),Yn=()=>samp.callNative("UsePlayerPedAnims",""),zn=()=>samp.callNative("DisableInteriorEnterExits",""),$n=e=>samp.callNative("SetNameTagDrawDistance","f",e),Jn=()=>samp.callNative("DisableNameTagLOS",""),Qn=e=>samp.callNative("LimitGlobalChatRadius","f",e),qn=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),er=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),tr=()=>samp.callNative("GetServerTickRate",""),ar=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),nr=e=>samp.callNative("EnableStuntBonusForAll","i",e),rr=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},ir=()=>!!samp.callNative("ChatTextReplacementToggled",""),sr=e=>samp.callNative("GetWeaponSlot","i",e),or=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},be=()=>samp.callNative("GetAvailableClasses",""),lr=e=>{if(e<be()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,r=0,i=0,s=0,o=0,l=0,d=0,h=0,m=0,p=0,f=0]=t;return{teamId:a,modelId:n,spawnX:r,spawnY:i,spawnZ:s,zAngle:o,weapon1:l,weapon1Ammo:d,weapon2:h,weapon2Ammo:m,weapon3:p,weapon3Ammo:f}},dr=(e,t,a,n,r,i,s,o,l,d,h,m,p)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,r,i,s,o,l,d,h,m,p),cr=e=>samp.callNative("SetTeamCount","i",e),_r=(e,t,a,n,r,i,s,o,l,d,h)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,r,i,s,o,l,d,h),hr=(e,t,a,n,r,i,s,o,l,d,h,m)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,r,i,s,o,l,d,h,m),ur=(e,t,a,n,r,i,s,o,l,d,h,m,p)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,r,i,s,o,l,d,h,m,p),mr=e=>samp.callNative("SpawnPlayer","i",e),pr=e=>{const[t,a=0,n=0,r=0,i=0,s=0,o=0,l=0,d=0,h=0,m=0,p=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:n,spawnY:r,spawnZ:i,zAngle:s,weapon1:o,weapon1Ammo:l,weapon2:d,weapon2Ammo:h,weapon3:m,weapon3Ammo:p}},gr=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Sr=e=>samp.callNative("NetStats_MessagesReceived","i",e),yr=e=>samp.callNative("NetStats_BytesReceived","i",e),Pr=e=>samp.callNative("NetStats_MessagesSent","i",e),fr=e=>samp.callNative("NetStats_BytesSent","i",e),Ir=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Er=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Ar=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Cr=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Tr=e=>!!samp.callNative("IsPlayerAdmin","i",e),Dr=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),wr=e=>!!samp.callNative("Kick","i",e),Nr=e=>!!samp.callNative("Ban","i",e),Lr=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Rr=()=>samp.callNative("GetNetworkStats","Si",1024),br=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),vr=e=>samp.callNative("UnBlockIpAddress","s",e),Or=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return P.decodeFromBuf(P.getValidStr(a),t)},Gr=(e,t,a,n,r)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,r),Fr=()=>{samp.callNative("ClearBanList","")},Br=e=>!!samp.callNative("IsBanned","s",e),kr=e=>samp.callNative("GetPlayerRawIp","i",e),xr=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},Mr=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,r)=>{n!==0&&(a+=Math.pow(16,r*2)*n)}),a},Hr=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Vr=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Ur=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Wr=e=>samp.callNative("GetPlayerWeather","i",e),Kr=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:n,yMin:r}},Zr=e=>samp.callNativeFloat("GetPlayerZAim","i",e),jr=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},Xr=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:r}},Yr=e=>samp.callNative("GetPlayerDialogID","i",e),zr=e=>samp.callNative("GetPlayerSpectateID","i",e),$r=e=>samp.callNative("GetPlayerSpectateType","i",e),Jr=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),Qr=e=>samp.callNativeFloat("GetPlayerGravity","i",e),qr=e=>!!samp.callNative("IsPlayerSpawned","i",e),ei=e=>!!samp.callNative("IsPlayerControllable","i",e),ti=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),ai=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),ni=e=>!!samp.callNative("GetPlayerGhostMode","i",e),ri=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),ii=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),si=e=>!!samp.callNative("HidePlayerDialog","i",e),oi=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),li=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),di=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),ci=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),_i=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),hi=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,a,n),ui=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),mi=(e,t,a,n)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),pi=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),gi=e=>!!samp.callNative("IsPlayerNPC","i",e),ve=(e,t,a,n)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,n),Si=(e,t,a,n)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),yi=e=>samp.callNative("GetPlayerPos","iFFF",e),Pi=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),fi=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},Ii=(e,t,a,n,r)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,r),Ei=(e,t,a,n)=>!!samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),Ai=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Ci=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Ti=e=>samp.callNative("GetPlayerInterior","i",e),Di=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),wi=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Ni=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Li=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Ri=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),bi=e=>samp.callNative("GetPlayerAmmo","i",e),vi=e=>samp.callNative("GetPlayerWeaponState","i",e),Oi=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Gi=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Fi=e=>samp.callNative("GetPlayerTeam","i",e),Bi=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),ki=e=>samp.callNative("GetPlayerScore","i",e),xi=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Mi=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Hi=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,y(t)),Vi=e=>samp.callNative("GetPlayerColor","i",e),Ui=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),Wi=e=>samp.callNative("GetPlayerSkin","i",e),Ki=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),Zi=e=>!!samp.callNative("ResetPlayerWeapons","i",e),ji=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),Xi=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),Yi=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),zi=e=>!!samp.callNative("ResetPlayerMoney","i",e),$i=e=>samp.callNative("GetPlayerMoney","i",e),Ji=e=>samp.callNative("GetPlayerState","i",e),Qi=e=>samp.callNative("GetPlayerPing","i",e),qi=e=>samp.callNative("GetPlayerWeapon","i",e),es=e=>samp.callNative("GetPlayerKeys","iIII",e),ts=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),as=e=>samp.callNative("GetPlayerTime","iII",e),ns=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),rs=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),is=e=>!!samp.callNative("ForceClassSelection","i",e),ss=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),os=e=>samp.callNative("GetPlayerWantedLevel","i",e),ls=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),ds=e=>samp.callNative("GetPlayerFightingStyle","i",e),cs=(e,t,a,n)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),_s=e=>samp.callNative("GetPlayerVelocity","iFFF",e),hs=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),us=(e,t,a,n,r,i,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,r,i,s),ms=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),ps=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),gs=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),Ss=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),ys=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),Ps=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),fs=(e,t,a,n,r,i)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,r,i),Is=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Es=(e,t,a,n,r)=>!!samp.callNative("SetPlayerChatBubble","isifi",e,t,y(a),n,r),As=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),Cs=e=>samp.callNative("GetPlayerVehicleID","i",e),Ts=e=>samp.callNative("GetPlayerVehicleSeat","i",e),Ds=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),ws=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),Ns=(e,t,a,n,r)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,n,r),Ls=(e,t,a,n,r,i,s,o,l,d)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,r,i,s,o,l,d),Rs=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),bs=e=>samp.callNative("GetPlayerAnimationIndex","i",e),vs=e=>samp.callNative("GetPlayerSpecialAction","i",e),Os=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),Gs=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Fs=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),Bs=e=>samp.callNative("GetPlayerVirtualWorld","i",e),ks=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),xs=e=>samp.callNative("GetPlayerCustomSkin","i",e),Ms=(e,t,a,n,r,i)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,r,i),Hs=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),Vs=e=>!!samp.callNative("StopRecordingPlayerData","i",e),Us=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),Ws=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),Ks=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Oe=e=>!!samp.callNative("IsPlayerConnected","i",e),Zs=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),js=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),Xs=(e,t,a,n,r)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,r),Ys=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),zs=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,y(a));function $s(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const Js=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),Qs=(e,t,a,n)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),qs=(e,t,a,n,r)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,r),eo=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),to=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),ao=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),no=e=>samp.callNative("GetPlayerCameraMode","i",e),ro=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),io=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),so=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),oo=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),lo=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),co=(e,t,a,n,r,i,s,o,l)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,r,i,s,o,l),_o=(e,t,a,n,r,i,s,o,l)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,r,i,s,o,l),ho=e=>!!samp.callNative("IsPlayerCuffed","i",e),uo=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),mo=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),po=()=>samp.callNative("StopRecordingPlayback",""),go=()=>samp.callNative("PauseRecordingPlayback",""),So=()=>samp.callNative("ResumeRecordingPlayback",""),yo=e=>samp.callNative("GetActorSkin","i",e),Po=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),fo=e=>{const[t=0,a=0,n=0,r=0,i=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:r,fAngle:i}},Io=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:r,color1:i,color2:s}},Eo=(e,t,a,n,r,i,s,o,l=-2,d=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,r,i,s,o,l,d),Ao=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:a}},Co=e=>samp.callNative("GetVehiclePaintjob","i",e),To=e=>samp.callNative("GetVehicleInterior","i",e),Do=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},wo=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),No=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Lo=e=>samp.callNative("GetVehicleCab","i",e),Ro=e=>samp.callNative("GetVehicleOccupiedTick","i",e),bo=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),vo=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Oo=e=>!!samp.callNative("IsVehicleOccupied","i",e),Go=e=>samp.callNative("GetVehicleRespawnTick","i",e),Fo=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Bo=e=>!!samp.callNative("IsVehicleDead","i",e),ko=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),xo=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Mo=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),Ho=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Vo=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Uo=e=>samp.callNative("GetVehicleModelCount","i",e),Wo=e=>samp.callNative("GetVehicleLastDriver","i",e),Ko=e=>samp.callNative("GetVehicleDriver","i",e),Zo=()=>samp.callNative("GetVehicleModelsUsed",""),jo=e=>samp.callNative("GetVehicleSirenState","i",e),Xo=e=>samp.callNative("GetVehicleLandingGearState","i",e),Yo=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),zo=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),$o=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0,o=0,l=0,d=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:r,upY:i,upZ:s,atX:o,atY:l,atZ:d}},Ge=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,r]}},Jo=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Qo=(e,t,a,n,r,i,s,o,l)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,r,y(i),y(s),o,l),qo=e=>samp.callNative("DestroyVehicle","i",e),el=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),tl=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]}},al=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),nl=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},rl=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),il=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),sl=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),ol=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),ll=()=>samp.callNative("ManualVehicleEngineAndLights",""),dl=(e,t,a,n,r,i,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,r,i,s,o),cl=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),_l=e=>samp.callNative("GetVehicleParamsSirenState","i",e),hl=(e,t,a,n,r)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,r),ul=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},ml=(e,t,a,n,r)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,r),pl=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},gl=e=>samp.callNative("SetVehicleToRespawn","i",e),Sl=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),yl=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),Pl=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),fl=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,y(t),y(a)),Il=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),El=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Al=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Cl=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Tl=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Dl=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),wl=e=>samp.callNative("GetVehicleTrailer","i",e),Nl=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Ll=e=>samp.callNative("GetVehicleModel","i",e),Rl=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),bl=e=>samp.callNative("GetVehicleComponentType","i",e),vl=e=>samp.callNative("RepairVehicle","i",e),Ol=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Gl=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),Fl=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Bl=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]}},kl=(e,t,a,n,r)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,r),xl=(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]}},Ml=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Hl=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Fe=e=>!!samp.callNative("IsValidVehicle","i",e),Vl=(e,t,a,n,r,i,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,r,y(i),y(s)),Ul=(e,t,a,n,r,i,s,o,l)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,r,y(i),y(s),o,l),Wl=e=>!!samp.callNative("ShowVehicle","i",e),Kl=e=>!!samp.callNative("HideVehicle","i",e),Zl=e=>!!samp.callNative("IsVehicleHidden","i",e),jl=e=>!!samp.callNative("IsPlayerInModShop","i",e),Xl=e=>samp.callNative("GetPlayerSirenState","i",e),Yl=e=>samp.callNative("GetPlayerLandingGearState","i",e),zl=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),$l=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Jl=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Be=e=>samp.callNative("GetVehicleMaxPassengers","i",e),Ql=e=>samp.callNative("CountVehicleOccupants","i",e),ql=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),ed=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:r}},td=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),ad=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0,o=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:r,fNextY:i,fNextZ:s,fSize:o}},nd=e=>!!samp.callNative("IsMenuDisabled","i",e),rd=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),id=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),sd=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},od=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},dd=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},cd=(e,t,a,n,r,i)=>samp.callNative("CreateMenu","siffff",e,t,a,n,r,i),_d=e=>samp.callNative("DestroyMenu","i",e),hd=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),ud=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),md=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),pd=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),gd=e=>!!samp.callNative("IsValidMenu","i",e),Sd=e=>samp.callNative("DisableMenu","i",e),yd=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Pd=e=>samp.callNative("GetPlayerMenu","i",e),fd=e=>!!samp.callNative("IsValidGangZone","i",e),Id=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Ed=(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),Td=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Dd=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:r}},wd=(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),Od=e=>samp.callNative("GangZoneHideForAll","i",e),Gd=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,y(a)),Fd=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,y(t)),Bd=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),kd=e=>samp.callNative("GangZoneStopFlashForAll","i",e),xd=(e,t,a,n,r)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,r),Md=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),Hd=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),Vd=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Ud=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),Wd=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Kd=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),Zd=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),jd=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),Xd=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Yd=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),zd=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),$d=(e,t)=>{const[a=0,n=0,r=0,i=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:r,fMaxY:i}},Jd=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},Qd=e=>!!samp.callNative("IsValidTextDraw","i",e),qd=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),ec=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},tc=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},ac=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},nc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},rc=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},ic=e=>samp.callNative("TextDrawGetColor","i",e),sc=e=>samp.callNative("TextDrawGetBoxColor","i",e),oc=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),lc=e=>samp.callNative("TextDrawGetShadow","i",e),dc=e=>samp.callNative("TextDrawGetOutline","i",e),cc=e=>samp.callNative("TextDrawGetFont","i",e),_c=e=>!!samp.callNative("TextDrawIsBox","i",e),hc=e=>!!samp.callNative("TextDrawIsProportional","i",e),uc=e=>!!samp.callNative("TextDrawIsSelectable","i",e),mc=e=>samp.callNative("TextDrawGetAlignment","i",e),pc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),gc=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:r}},Sc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},yc=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,a)},Pc=(e,t,a)=>samp.callNative("TextDrawCreate","ffa",e,t,a),fc=e=>samp.callNative("TextDrawDestroy","i",e),Ic=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),Ec=(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)),Tc=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Dc=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,y(t)),wc=(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),Oc=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Gc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Fc=e=>samp.callNative("TextDrawShowForAll","i",e),Bc=e=>samp.callNative("TextDrawHideForAll","i",e),kc=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),xc=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Mc=(e,t,a,n,r=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,r)},Hc=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,y(t),y(a)),Vc=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,y(t))},Uc=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Wc=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),Kc=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),Zc=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},jc=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},Xc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},Yc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},zc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},$c=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),Jc=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),Qc=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),qc=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),e_=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),t_=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),a_=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),n_=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),r_=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),i_=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),s_=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),o_=(e,t)=>{const[a=0,n=0,r=0,i=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:r,fZoom:i}},l_=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},d_=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,a,n),c_=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},__=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),h_=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),u_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),m_=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,y(a)),p_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),g_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,y(a)),S_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),y_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),P_=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,y(a)),f_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),I_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),E_=(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),T_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,a),D_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),w_=(e,t,a,n,r,i)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,r,i),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),O_=(e,t,a,n,r)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,r),G_=(e,t,a,n,r,i,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,r,i,s),F_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),B_=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},k_=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},x_=(e,t)=>{const[a=0,n=0,r=0,i=0,s=0,o=0,l=0,d=0,h=0,m=0,p=0,f=0,E=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:r,fY:i,fZ:s,fRotX:o,fRotY:l,fRotZ:d,fScaleX:h,fScaleY:m,fScaleZ:p,materialColor1:f,materialColor2:E}},M_=(e,t,a,n,r,i,s,o,l,d,h,m,p,f,E)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,r,i,s,o,l,d,h,m,p,y(f),y(E)),H_=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),V_=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),ke=e=>!!samp.callNative("IsValidCustomModel","i",e),U_=e=>{if(!ke(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var xe=(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))(xe||{}),Me=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Me||{}),le=(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))(le||{}),He=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(He||{}),Ve=(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))(Ve||{}),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||{}),Ue=(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))(Ue||{}),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||{}),We=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(We||{}),Ke=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Ke||{}),G=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(G||{}),Ze=(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))(Ze||{}),je=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(je||{}),Xe=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Xe||{}),Ye=(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))(Ye||{}),ze=(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))(ze||{}),ee=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ee||{}),$e=(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))($e||{}),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))($||{}),Je=(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))(Je||{}),Qe=(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))(Qe||{}),qe=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(qe||{}),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||{}),te=(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))(te||{}),et=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(et||{}),tt=(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))(tt||{}),at=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(at||{}),nt=(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))(nt||{}),rt=(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))(rt||{}),it=(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))(it||{}),st=(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))(st||{}),ot=(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))(ot||{}),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||{}),lt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(lt||{});class F{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static recordStatus;static connect=er;static startRecordingPlayerData(t,a,n){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");Hs(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");Vs(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(F.recordStatus>=G.start)throw new Error("[NpcFunc]: The current status cannot be replayed");mo(t,a),F.recordStatus=G.start}static stopRecordingPlayback(){if(F.recordStatus<G.start)throw new Error("[NpcFunc]: The current status cannot be stopped");po(),F.recordStatus=G.none}static pauseRecordingPlayback(){if(F.recordStatus!==G.start)throw new Error("[NpcFunc]: The current status cannot be paused");go(),F.recordStatus=G.pause}static resumeRecordingPlayback(){if(F.recordStatus!==G.pause)throw new Error("[NpcFunc]: The current status cannot be paused");So(),F.recordStatus=G.start}}const dt=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=dt.get(e);return t===void 0?!1:t},he=(e,t)=>{const a=_e(e);if(a)return t==="null"?!0:a.some(n=>n.n===t)},W_=(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]},ct=(e,t,a)=>{const n=K(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,y(t),n[1])},K_=(e,t,a)=>(e.forEach(n=>ct(n,t,a)),1),_t=(e,t,a)=>{const n=K(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},Z_=(e,t,a)=>(e.forEach(n=>{_t(n,t,a)}),1),j_=(e,t,a)=>{const{charset:n}=e,{style:r,caption:i,info:s,button1:o,button2:l}=a,[d,h]=K(i||"",n),[,m]=K(s||"",n),[,p]=K(o||"",n),[,f]=K(l||"",n);return samp.callNative("ShowPlayerDialog",`iii${d.repeat(4)}`,e.id,t,r,h,m,p,f)},X_=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,O.MAX_PLAYER_NAME);return P.decodeFromBuf(P.getValidStr(t),e.charset)},Y_=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,P.encodeToBuf(t,e.charset)),z_=(e,t,a)=>{const n=P.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},$_=(e,t="utf8")=>{const[a,n]=K(e,t);return samp.callNative("SendRconCommand",a,n)},J_=(e,t,a,n,r,i,s,o,l,d,h,m,p,f,E,R)=>{const V=P.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",V,a,n,r,i,s,o,l,d,h,m,p,f,E,R)},Q_=(e,t,a,n,r,i,s,o,l,d,h,m,p,f,E,R)=>{const V=P.encodeToBuf(e,R);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",V,t,a,n,r,i,s,o,l,d,h,m,p,f,E,h.length,m.length,p.length,f.length)},q_=(e,t,a,n)=>{const r=P.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,r)},eh=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return P.decodeFromBuf(P.getValidStr(a),t)},th=(e,t,a,n,r,i,s,o,l,d,h)=>{const m=P.encodeToBuf(n,e),p=P.encodeToBuf(i,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,m,r,p,s,o,l,d,h)},ah=(e,t,a)=>{const[n,r,i,s,o,l,d]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),h=P.decodeFromBuf(n,a),m=P.decodeFromBuf(i,a);return{text:h,materialSize:r,fontFace:m,bold:s,fontColor:o,backColor:l,textAlignment:d}},nh=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],rh=[[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],[],[],[],[],[],[],[],[]],ih=(e,t)=>{if(!ue(e))return!1;const a=rh[e-400];if(a===null)return!1;const n=t-1e3;return nh.includes(n)||a.includes(n)},ue=e=>e>=400&&e<=611,sh=(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 I{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)throw new Error("[Vehicle]: Unable to create the vehicle again");if(I.createdCount===O.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:r,z:i,zAngle:s,color:o,respawnDelay:l,addSiren:d}=this.sourceInfo;if(!(!t&&!ue(a))){if(this.isStatic){if(l===void 0){this._id=Vl(a,n,r,i,s,o[0],o[1]);return}this._id=Ul(a,n,r,i,s,o[0],o[1],l||-1,d||!1)}else this._id=Qo(a,n,r,i,s,o[0],o[1],l||-1,d||!1);I.createdCount++,I.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");qo(this.id),I.createdCount--,I.vehicles.delete(this._id),this._id=-1}addComponent(t){if(this.id===-1)return 0;if(!ih(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return yl(this.id,t)}removeComponent(t){if(this.getComponentInSlot(I.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return Pl(this.id,t)}getComponentInSlot(t){return Rl(this.id,t)}linkToInterior(t){return this.id===-1?0:Sl(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Ml(this.id,t)}getVirtualWorld(){return this.id===-1?0:Hl(this.id)}repair(){return this.id===-1?0:vl(this.id)}setPos(t,a,n){return this.id===-1?0:al(this.id,t,a,n)}getPos(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getPos before create");return tl(this.id)}getHealth(){return this.id===-1?0:Al(this.id)}setHealth(t){return this.id===-1?0:El(this.id,t)}isPlayerIn(t){return this.id===-1?!1:Zs(t.id,this.id)}putPlayerIn(t,a){if(this.id===-1||a<0)return 0;if(a>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return As(t.id,this.id,a)}getZAngle(){return this.id===-1?0:nl(this.id)}setZAngle(t){return this.id===-1?0:sl(this.id,t)}setNumberPlate(t){if(this.id===-1)return 0;if(t.length<1||t.length>32)throw new Error("[Vehicle]: The length of the number plate ranges from 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return Nl(this.id,t)}changeColors(t,a){return this.id===-1?0:fl(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Gl(this.id,t,a,n)}getVelocity(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getVelocity before create");const[t,a,n]=Ol(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:r}=this.getVelocity();return oe(a,n,r)*t}setAngularVelocity(t,a,n){return this.id===-1?0:Fl(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Bl(this.id)}updateDamageStatus(t,a,n,r){this.id!==-1&&kl(this.id,t,a,n,r)}getDistanceFromPoint(t,a,n){return il(this.id,t,a,n)}getModel(){return Ll(this.id)}static getModelInfo(t,a){return xl(t,a)}getModelInfo(t){if(this.id===-1)throw new Error("[Vehicle]: Unable to getModelInfo before create");return I.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,r]=rl(this.id);return{w:t,x:a,y:n,z:r}}setRespawn(){return this.id===-1?0:gl(this.id)}isStreamedIn(t){return this.id===-1?!1:el(this.id,t.id)}setParamsCarDoors(t,a,n,r){return this.id===-1?0:hl(this.id,t,a,n,r)}setParamsCarWindows(t,a,n,r){return this.id===-1?0:ml(this.id,t,a,n,r)}getParamsCarDoors(){if(this.id!==-1)return ul(this.id)}getParamsCarWindows(){if(this.id!==-1)return pl(this.id)}setParamsEx(t,a,n,r,i,s,o){return this.id===-1?0:dl(this.id,t,a,n,r,i,s,o)}getParamsEx(){if(this.id===-1)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,a,n,r,i,s,o]=cl(this.id);return{engine:t,lights:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}}toggleEngine(t){if(this.id===-1)return 0;const{lights:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(t,a,n,r,i,s,o)}toggleLights(t){if(this.id===-1)return 0;const{engine:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,t,n,r,i,s,o)}toggleAlarm(t){if(this.id===-1)return 0;const{engine:a,lights:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,t,r,i,s,o)}toggleDoors(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,t,i,s,o)}toggleBonnet(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,t,s,o)}toggleBoot(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,bonnet:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,s,t,o)}toggleObjective(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,bonnet:s,boot:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,s,o,t)}getParamsSirenState(){return this.id===-1?-2:_l(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:ol(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:Dl(this.id)}changePaintjob(t){return this.id===-1||!sh(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),Il(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Cl(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Tl(this.id)}getTrailer(){if(this.id!==-1)return I.getInstances().find(t=>t.id===wl(this.id))}isValid(){return Fe(this.id)}getMatrix(){if(this.id!==-1)return $o(this.id)}getTrainSpeed(){return this.id===-1?0:zo(this.id)}getHydraReactorAngle(){return this.id===-1?0:Yo(this.id)}getLandingGearState(){return this.id===-1?0:Xo(this.id)}getSirenState(){return this.id===-1?0:jo(this.id)}getDriver(t){if(this.id!==-1)return t.get(Ko(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(Wo(this.id))}isSirenEnabled(){return Vo(this.id)}toggleSirenEnabled(t){return this.id===-1?0:Mo(this.id,t)}setParamsSirenState(t){return this.id===-1?0:Ho(this.id,t)}isDead(){return this.id===-1?!0:Bo(this.id)}setDead(t){return this.id===-1?!1:ko(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:xo(this.id,t)}getRespawnTick(){return this.id===-1?0:Go(this.id)}setRespawnTick(t){return this.id===-1?!1:Fo(this.id,t)}isOccupied(){return this.id===-1?!1:Oo(this.id)}hasBeenOccupied(){return this.id===-1?!1:vo(this.id)}getOccupiedTick(){return this.id===-1?0:Ro(this.id)}setOccupiedTick(t){return this.id===-1?0:bo(this.id,t)}getCab(){return this.id===-1?0:Lo(this.id)}getRespawnDelay(){return this.id===-1?0:No(this.id)}setRespawnDelay(t){return this.id===-1?0:wo(this.id,t)}getNumberPlate(){return this.id===-1?"":Do(this.id)}getInterior(){return this.id===-1?0:To(this.id)}getPaintjob(){return this.id===-1?-1:Co(this.id)}getColors(){if(this.id!==-1)return Ao(this.id)}setSpawnInfo(t,a,n,r,i,s,o,l=-2,d=-2,h=!1){return this.id===-1||!h&&!ue(t)?0:Eo(this.id,t,a,n,r,i,y(s),y(o),l,d)}getSpawnInfo(){if(this.id!==-1)return Io(this.id)}getRandomColorPair(){if(this.id!==-1)return Ge(this.getModel())}show(){return this.id===-1?!1:Wl(this.id)}hide(){return this.id===-1?!1:Kl(this.id)}isHidden(){return this.id===-1?!1:Zl(this.id)}getVehicleOccupant(t){return Jl(this.id,t)}getVehicleMaxPassengers(){return Be(this.getModel())}countVehicleOccupants(){return Ql(this.getModel())}static getVehicleMaxPassengers=Be;static getRandomColorPair=Ge;static getComponentType=bl;static colorIndexToColor=Jo;static isValid=Fe;static getModelsUsed=Zo;static getModelCount=Uo;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[ht]=_({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:u.getInstance(e),actionId:t,memAddr:a,data:n}}}),[oh,lh]=_({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[dh,ch]=_({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class u{constructor(t){this.id=t;const a=u.getInstance(t);if(a)return a}static players=new Map;static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";_isAndroid=!0;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,ch(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,lh(this,t,a)}sendClientMessage(t,a){return ct(this,t,a)}static sendClientMessageToAll(t,a){K_(u.getInstances(),t,a)}sendMessageToPlayer(t,a){return _t(t,this.id,a)}sendMessageToAll(t){return Z_(u.getInstances(),this.id,t)}isNpc(){return gi(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return xi(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return Mi(this.id,t)}allowTeleport(t){return li(this.id,t)}isTeleportAllowed(){return di(this.id)}enableCameraTarget(t){return ro(this.id,t)}enableStuntBonus(t){return ks(this.id,t)}getInterior(){return Ti(this.id)}setInterior(t){return Ci(this.id,t)}showNameTag(t,a){return Js(this.id,t.id,a)}setColor(t){return Hi(this.id,t)}getColor(){return Vi(this.id)}setMarker(t,a){zs(this.id,t.id,a)}getMarker(t){return $s(this.id,t.id)}resetMoney(){return zi(this.id)}getMoney(){return $i(this.id)}giveMoney(t){return Yi(this.id,t)}resetWeapons(){return Zi(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):mr(this.id)}setHealth(t){return Di(this.id,t)}getHealth(){return wi(this.id)}toggleClock(t){return ns(this.id,t)}toggleControllable(t){return ws(this.id,t)}toggleSpectating(t){return Us(this.id,t)}spectatePlayer(t,a=re.NORMAL){return Ws(this.id,t.id,a)}spectateVehicle(t,a=re.NORMAL){return Ks(this.id,t.id,a)}forceClassSelection(){return is(this.id)}kick(){return wr(this.id)}ban(){return Nr(this.id)}banEx(t,a){return z_(this.id,t,a)}isAdmin(){return Tr(this.id)}isInRangeOfPoint(t,a,n,r){return Ii(this.id,t,a,n,r)}isStreamedIn(t){return Ai(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:Ui(this.id,t)}getSkin(){return Wi(this.id)}isInAnyVehicle(){return js(this.id)}getSpecialAction(){return vs(this.id)}setSpecialAction(t){return Os(this.id,t)}setScore(t){return Bi(this.id,t)}getScore(){return ki(this.id)}getPing(){return Qi(this.id)||0}setPos(t,a,n){return ve(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===$.NONE)return;const[t,a,n]=yi(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===$.SPECTATING}isWasted(){return this.getState()===$.WASTED}getState(){return Ji(this.id)}getVersion(){return this.isNpc()?"":Mr(this.id)}setVirtualWorld(t){return Fs(this.id,t)}getVirtualWorld(){return Bs(this.id)}removeFromVehicle(){return Ds(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return ss(this.id,t)}getWantedLevel(){return os(this.id)}setFacingAngle(t){return Pi(this.id,t)}getFacingAngle(){return fi(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return rs(this.id,t)}getWeather(){return Wr(this.id)}setTime(t,a){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(a<0||a>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return ts(this.id,t,a)}getTime(){const[t,a]=as(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,r,i){return fs(this.id,t,a,n,r,i)}setTeam(t){t<0||t>T.NO_TEAM||Gi(this.id,t)}getTeam(){return Fi(this.id)}setSkillLevel(t,a){if(a<0||a>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return gs(this.id,t,a)}getName(){return X_(this)}setName(t){return Y_(this,t)}setVelocity(t,a,n){return cs(this.id,t,a,n)}getVelocity(){const[t,a,n]=_s(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:r}=this.getVelocity();return oe(a,n,r)*t}getKeys(){const[t,a,n]=es(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return xr(this.id)}getFightingStyle(){return ds(this.id)}setFightingStyle(t){return ls(this.id,t)}setArmour(t){return Ni(this.id,t)}getArmour(){return Li(this.id)}setCameraBehind(){return eo(this.id)}setCameraPos(t,a,n){return Qs(this.id,t,a,n)}setCameraLookAt(t,a,n,r=ee.CUT){return qs(this.id,t,a,n,r)}getCameraAspectRatio(){return oo(this.id)}getCameraFrontVector(){const[t,a,n]=ao(this.id);return{x:t,y:a,z:n}}getCameraMode(){return no(this.id)}getCameraPos(){const[t,a,n]=to(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(){const t=so(this.id);return u.getInstances().find(a=>a.id===t)}getCameraTargetVehicle(){const t=io(this.id);return I.getInstances().find(a=>a.id===t)}getCameraZoom(){return lo(this.id)}playAudioStream(t,a=0,n=0,r=0,i=5){let s=!1;return(a!==0||n!==0||r!==0)&&(s=!0),us(this.id,t,a,n,r,i,s)}stopAudioStream(){return ms(this.id)}playSound(t,a=0,n=0,r=0){return Ns(this.id,t,a,n,r)}static getMaxPlayers(){return Bn()}playCrimeReport(t,a){if(a<3||a>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return hs(this.id,t.id,a)}interpolateCameraPos(t,a,n,r,i,s,o,l=ee.CUT){return co(this.id,t,a,n,r,i,s,o,l)}interpolateCameraLookAt(t,a,n,r,i,s,o,l=ee.CUT){return _o(this.id,t,a,n,r,i,s,o,l)}createExplosion(t,a,n,r,i){if(r<0||r>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return Ms(this.id,t,a,n,r,i)}static isConnected(t){return Oe(t)}isConnected(){return Oe(this.id)}disableRemoteVehicleCollisions(t){return Gs(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=Cs(this.id);return I.getInstances().find(a=>a.id===t)}getVehicleSeat(){return Ts(this.id)}getSurfingVehicle(){const t=Ss(this.id);if(t!==T.VEHICLE_ID)return I.getInstances().find(a=>a.id===t)}applyAnimation(t,a,n=4.1,r=!1,i=!0,s=!0,o=!1,l=0,d=!1){if(!he(t,a))throw new Error("[Player]: Invalid anim library or name");return Ls(this.id,t,a,n,r,i,s,o,l,+d)}clearAnimations(t=!1){return Rs(this.id,t)}getAnimationIndex(){return bs(this.id)}getAnimationName(t=this.getAnimationIndex()){const[a,n]=ar(t);return{index:t,animLib:a,animName:n}}setShopName(t){return ps(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(r=>{ve(this.id,t,a,n),setTimeout(()=>r(Si(this.id,t,a,n)))})}setWorldBounds(t,a,n,r){return Xs(this.id,t,a,n,r)}clearWorldBounds(){return Ys(this.id)}setChatBubble(t,a,n,r){return Es(this.id,t,a,n,r)}getDistanceFromPoint(t,a,n){return Ei(this.id,t,a,n)}getCustomSkin(){return xs(this.id)}getTargetPlayer(){const t=Oi(this.id);if(t!==T.PLAYER_ID)return u.getInstances().find(a=>a.id===t)}getLastShotVectors(){const[t,a,n,r,i,s]=Is(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:r,fHitPosY:i,fHitPosZ:s}}getWeapon(){return qi(this.id)}getWeaponData(t){if(t<0||t>12)throw new Error("[Player]: weapon slots range from 0 to 12");const[a,n]=Xi(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return vi(this.id)}giveWeapon(t,a){return Ki(this.id,t,a)}setAmmo(t,a){return Ri(this.id,t,a)}getAmmo(){return bi(this.id)}setArmedWeapon(t){return ji(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 Fn(t===T.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){return mi(this.id,t===T.PLAYER_ID?t:t.id,a===T.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,r,i,s,o,l,d,h,m,p){return t<0||t>T.NO_TEAM||a<0||a>311||a===74||l<0||h<0||p<0?!1:ur(this.id,t,a,n,r,i,s,o,l,d,h,m,p)}redirectDownload(t){return F_(this.id,t)}sendClientCheck(t,a,n,r){const i=[2,5,69,70,71,72];if(!i.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${i.toString()}`);return new Promise((s,o)=>{if(this.isPaused)return o("[Player]: An attempt to check the player client response, but the player paused the game");const l="[Player]: An attempt to check the player client response timed out",d=this.getPing(),h=(d>=200?0:d)+200;let m=null;const p=ht(({player:f,actionId:E,memAddr:R,data:V,next:ie})=>(f!==this||(m&&(clearTimeout(m),m=null),s({actionId:E,memAddr:R,data:V})),ie()));m=setTimeout(()=>{p(),o(l)},h),Gr(this.id,t,a,n,r)})}selectTextDraw(t){Vc(this.id,t)}cancelSelectTextDraw(){Uc(this.id)}beginObjectSelecting(){return R_(this.id)}endObjectEditing(){return b_(this.id)}getSurfingObject(t){const a=ys(this.id);if(a!==T.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=Ps(this.id);if(a!==T.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return V_(this.id,t)}editAttachedObject(t){return L_(this.id,t)}setAttachedObject(t,a,n,r=0,i=0,s=0,o=0,l=0,d=0,h=1,m=1,p=1,f=0,E=0){return this.isAttachedObjectSlotUsed(t)?0:M_(this.id,t,a,n,r,i,s,o,l,d,h,m,p,f,E)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?H_(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 Hr(this.id,t)}isWidescreenToggled(){return Vr(this.id)}getSpawnInfo(){return pr(this.id)}getSkillLevel(t){return Ur(this.id,t)}isCheckpointActive(){return ql(this.id)}getCheckpoint(){return ed(this.id)}isRaceCheckpointActive(){return td(this.id)}getRaceCheckpoint(){return ad(this.id)}getWorldBounds(){Kr(this.id)}isInModShop(){return jl(this.id)}getSirenState(){return Xl(this.id)}getLandingGearState(){return Yl(this.id)}getHydraReactorAngle(){return zl(this.id)}getTrainSpeed(){return $l(this.id)}getZAim(){return Zr(this.id)}getSurfingOffsets(){return jr(this.id)}getRotationQuat(){return Xr(this.id)}getDialogID(){return Yr(this.id)}getSpectateID(){return zr(this.id)}getSpectateType(){return $r(this.id)}getRawIp(){return kr(this.id)}setGravity(t){return Jr(this.id,t)}getGravity(){return Qr(this.id)}setAdmin(t){return Dr(this.id,t)}isSpawned(){return qr(this.id)}isControllable(){return ei(this.id)}isCameraTargetEnabled(){return ti(this.id)}toggleGhostMode(t){return ai(this.id,t)}getGhostMode(){return ni(this.id)}getBuildingsRemoved(){return ri(this.id)}getAttachedObject(t){return x_(this.id,t)}removeWeapon(t){return ii(this.id,t)}isUsingOfficialClient(){return oi(this.id)}allowWeapons(t){return ci(this.id,t)}areWeaponsAllowed(){return _i(this.id)}gpci(t=this.charset){return Or(this.id,t)}isCuffed(){return ho(this.id)}isInDriveByMode(){return uo(this.id)}isAndroid(){return this.isConnected()&&this._isAndroid}isPC(){return this.isConnected()&&!this._isAndroid}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[ut]=_({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,r){return{player:u.getInstance(e),dialogId:t,response:a,listItem:n,buffer:r}}});ut(({next:e,player:t,dialogId:a,response:n,listItem:r,buffer:i})=>{const s=D.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:r,buffer:i})),e()});class D{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:le.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 r=D.showingIds.indexOf(n.showId);return r>-1&&D.showingIds.splice(r,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}),j_(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:r}=a,i=P.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:r,inputText:i})}).catch(a=>Promise.reject(a)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),si(t.id)}}const[mt]=_({name:"OnPlayerConnect",beforeEach(e){const t=new u(e);return u.players.set(e,t),D.close(t),{player:t}}}),[pt]=_({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:u.players.get(e),reason:t}},afterEach({player:e}){u.players.delete(e.id)}}),[gt]=_({name:"OnPlayerUpdate",beforeEach(e){return{player:u.getInstance(e)}}}),[_h]=_({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e);return{player:a,text:P.decodeFromBuf(t,a.charset),buffer:t}}}),[hh]=_({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:u.getInstance(e),enterExit:!!t,interior:a}}}),[uh]=_({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:u.getInstance(e),fX:t,fY:a,fZ:n}}}),[mh]=_({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:u.getInstance(e),clickedPlayer:u.getInstance(t),source:a}}}),[ph]=_({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:u.getInstance(e),killer:u.getInstance(t)||T.PLAYER_ID,reason:a}}}),[gh]=_({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,r){return{player:u.getInstance(e),damage:u.getInstance(t),amount:a,weapon:n,bodyPart:r}}}),[Sh]=_({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newKeys:t,oldKeys:a}}}),[yh]=_({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:u.getInstance(e),classId:t}}}),[Ph]=_({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[fh]=_({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}}}),[Eh]=_({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[Ah]=_({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[Ch]=_({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,r){return{player:u.getInstance(e),damage:u.getInstance(t)||T.PLAYER_ID,amount:a,weapon:n,bodyPart:r}}}),[Th]=_({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:u.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Dh]=_({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:u.getInstance(e),type:t,crc:a}}}),[wh]=_({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:u.getInstance(e),virtualWorld:t}}}),[Nh]=_({name:"OnPlayerWeaponShot",beforeEach(e,t,a,n,r,i,s){return{player:u.getInstance(e),weapon:t,hitType:a,hitId:n,fX:r,fY:i,fZ:s}}});let ae=null;const H=new Map,me=new Map;function St(e){if(!e.isConnected()){H.has(e)&&clearInterval(H.get(e));return}let t=me.get(e)||1;if(t>=u.MAX_CHECK_ANDROID_DELAY){clearInterval(H.get(e)),pe(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:a})=>{a===72&&(e._isAndroid=!1,H.has(e)&&clearInterval(H.get(e)),pe(e,!1))}).catch(()=>{}),t++,me.set(e,t)}const[Lh,Rh]=_({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[bh,vh]=_({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[Oh,Gh]=_({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}}),[Fh,pe]=_({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});mt(({player:e,next:t})=>{if(!ae&&u.getInstances().length&&(ae=setInterval(()=>{u.getInstances().filter(n=>{const r=n.getState()!==$.NONE;return!n.isPaused&&!n.isNpc()&&r}).forEach(n=>{Date.now()-n.lastUpdateTick>1e3&&(n.isPaused=!0,Rh(n,n.lastUpdateTick))})},500)),e.isNpc())return e._isAndroid=!1,t();if(u.SKIP_CHECK_ANDROID)return e._isAndroid=!e.isUsingOfficialClient(),pe(e,e._isAndroid),t();St(e);const a=setInterval(()=>St(e),1e3);return H.set(e,a),t()}),pt(({player:e,next:t})=>(ae&&u.getInstances().length<=1&&(clearInterval(ae),ae=null),H.has(e)&&(clearInterval(H.get(e)),H.delete(e),me.delete(e)),t()));function Bh(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,r=e.lastDrunkLevel-a-1;e.lastFps=r,e.lastDrunkLevel=a,Gh(e,r,n)}}gt(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,vh(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,Bh(e)}return t()});const J=new Map,Q=new Map,yt=/[^/\s]+/gi,ge={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"}},[kh,xh]=_({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Mh,Hh]=_({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Vh,Se]=_({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[Uh]=_({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e),n=P.decodeFromBuf(t,a.charset);return{player:a,buffer:t,cmdText:n}}});function Wh(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Uh(({player:e,cmdText:t,next:a})=>{const n=t.match(yt),r=Wh(n),i=r.find(h=>J.has(h)),s=r.map(h=>h.toLowerCase()).find(h=>Q.has(h)),o=n.join(" ");if(!i&&!s)return Se(e,o,ge.NOT_EXIST);const l=xh(e,o);if(!l)return l;const d=[[i,J],[s,Q]];for(const[h,m]of d){if(!h)continue;const p=m.get(h),[,f]=p,E=o.replace(h,"").trim().split(" ");if(!f(e,E))return Se(e,o,ge.REJECTED)}return Hh(e,o)?a():Se(e,o,ge.PERFORMED)});function Kh(e,t){return{player:e,subcommand:t}}class x{static caseSensitive=!1;constructor(){}static on(t,a){let n=x.caseSensitive,r,i;typeof t=="string"||t instanceof Array?(r=t,i=a):(r=t.command,i=t.run,typeof t.caseSensitive<"u"&&(n=t.caseSensitive));const s=Array.isArray(r)?r:[r],o=s.find(h=>!h.match(yt));if(o)return console.log(`error command ${o} format`),()=>{};const l=n?J:Q,d=s.map(h=>{const m=h.replaceAll("/",""),p=n?m:m.toLowerCase();if(!l.has(p)){const E=_({name:n?"$"+p:p,isNative:!1,beforeEach:Kh});l.set(p,E)}const[f]=l.get(p);return[p,f(i)]});return()=>{d.forEach(h=>{const[m,p]=h;p()===0&&l.delete(m)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(a=>{let n=a.replaceAll("/","");J.has(n)&&(v.has(n)&&v.delete(n),J.has(n)&&J.delete(n)),n=n.toLowerCase(),Q.has(n)&&(v.has(n)&&v.delete(n),Q.has(n)&&Q.delete(n))})}static enableCaseSensitive(){x.caseSensitive=!0}static disableCaseSensitive(){x.caseSensitive=!1}static isCaseSensitive(){return x.caseSensitive}}const ye=Object.freeze({onConnect:mt,onDisconnect:pt,onPause:Lh,onResume:bh,onUpdate:gt,onText:_h,onEnterExitModShop:hh,onClickMap:uh,onClickPlayer:mh,onDeath:ph,onGiveDamage:gh,onKeyStateChange:Sh,onRequestClass:yh,onRequestSpawn:Ph,onSpawn:fh,onStateChange:Ih,onStreamIn:Eh,onStreamOut:Ah,onTakeDamage:Ch,onInteriorChange:Th,onRequestDownload:Dh,onFinishedDownloading:wh,onCheckResponse:ht,onCommandReceived:kh,onCommandPerformed:Mh,onCommandError:Vh,onCommandText:x.on,offCommandText:x.off,onDialogResponse:ut,onLocaleChange:oh,onCharsetChange:dh,onFpsUpdate:Oh,onWeaponShot:Nh,onAndroidCheck:Fh}),[Pt]=_({name:"OnGameModeInit"}),[ft]=_({name:"OnGameModeExit"}),[Zh]=_({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[jh]=_({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:P.decodeFromBuf(e)}}}),[Xh]=_({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=[],Pe=new Map,fe=async e=>{try{return await new Promise((t,a)=>{const n=Z.findIndex(o=>o.name===e);if(n===-1)return;const r=Z[n];function i(o){o.length&&Pe.set(e,o),Z.splice(n,1),q.push(r),setTimeout(t)}const s=r.load();s instanceof Promise?s.then(i).catch(a):i(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
3
+ err:${t}`)}},Ie=async e=>{try{return await new Promise((t,a)=>{const n=q.findIndex(l=>l.name===e);if(n===-1)return;const r=q[n],i=Pe.get(e);i&&(i.forEach(l=>l()),Pe.delete(e));function s(){q.splice(n,1),Z.push(r),setTimeout(t)}const o=r.unload();o instanceof Promise?o.then(s).catch(a):s()})}catch(t){throw new Error(`[GameMode]: script ${e} unload fail
4
+ ${t}`)}},Yh=async e=>{await Ie(e),await fe(e)};Pt(async({next:e})=>{const t=Z.map(a=>a.name);for(const a of t)await fe(a);return e()}),ft(async({next:e})=>{const t=q.map(a=>a.name);for(const a of t)await Ie(a);return e()});const zh=function(e,...t){if(Z.some(a=>a.name===e.name)||q.some(a=>a.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),Z.push(e)};class N{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=Pt;static onExit=ft;static onIncomingConnection=Zh;static onRconCommand=jh;static onRconLoginAttempt=Xh;static use(t,...a){return zh(t,...a),this}static loadUseScript=fe;static reloadUseScript=Yh;static unloadUseScript=Ie;static enableCmdCaseSensitive=x.enableCaseSensitive;static disableCmdCaseSensitive=x.disableCaseSensitive;static isCmdCaseSensitive=x.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return Wn(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return Hn(t)}static getWorldTime=Vn;static setTeamCount=cr;static sendRconCommand=$_;static addPlayerClass=_r;static addPlayerClassEx=hr;static createExplosion(t,a,n,r,i){if(r<0||r>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return jn(t,a,n,r,i)}static manualVehicleEngineAndLights=ll;static blockIpAddress=br;static unBlockIpAddress=vr;static getServerTickRate=tr;static addSimpleModel(t,a,n,r,i){return this.checkSimpleModel(t,a,n,r,i)?O_(t,a,n,r,i):0}static addSimpleModelTimed(t,a,n,r,i,s,o){return this.checkSimpleModel(t,a,n,r,i,s,o)?G_(t,a,n,r,i,s,o):0}static checkSimpleModel(t,a,n,r,i,s,o){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(a<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(n>-1e3||n<-3e4)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(r.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(i.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(o!==void 0&&(o<0||o>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return 1}static isValidCustomModel=ke;static getCustomModePath=U_;static getConsoleVarAsString(t,a="utf8"){const n=Tn(t);return P.decodeFromBuf(P.getValidStr(n),a)}static getRestartTime=vn;static setRestartTime=bn;static allowAdminTeleport=Pn;static isAdminTeleportAllowed=fn;static allowInteriorWeapons=In;static areInteriorWeaponsAllowed=En;static areAllAnimationsEnabled=An;static enableAllAnimations=Cn;static enableStuntBonusForAll=nr;static enableVehicleFriendlyFire=Un;static enableZoneNames=Xn;static disableInteriorEnterExits=zn;static setGameModeText=kn;static getGravity=Kn;static setGravity=Zn;static showNameTags=xn;static disableNameTagLOS=Jn;static usePlayerPedAnims=Yn;static showPlayerMarkers=Mn;static limitPlayerMarkerRadius=qn;static limitGlobalChatRadius=Qn;static setNameTagDrawDistance=$n;static findModelFileNameFromCRC=B_;static findTextureFileNameFromCRC=k_;static getWeaponName=or;static setObjectsDefaultCameraCollision=v_;static vectorSize=oe;static clearBanList=Fr;static isBanned=Br;static isValidNickName=hn;static allowNickNameCharacter=un;static isNickNameCharacterAllowed=mn;static addServerRule=pn;static setServerRule=gn;static isValidServerRule=Sn;static removeServerRule=yn;static getWeaponSlot=sr;static getAvailableClasses=be;static getPlayerClass=lr;static editPlayerClass=dr;static toggleChatTextReplacement=rr;static chatTextReplacementToggled=ir;static getConsoleVarAsInt=Dn;static getConsoleVarAsBool=wn;static getWeather=Nn;static getServerRuleFlag=Ln;static setServerRuleFlags=Rn}N.onExit(({next:e})=>(I.getInstances().forEach(t=>t.destroy()),e()));const[$h]=_({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:I.getInstance(e),player:u.getInstance(t)}}}),[Jh]=_({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:I.getInstance(e),killer:u.getInstance(t)}}}),[Qh]=_({name:"OnVehicleMod",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:I.getInstance(t),componentId:a}}}),[qh]=_({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:I.getInstance(t),paintjobId:a}}}),[eu]=_({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:u.getInstance(e),vehicle:I.getInstance(t),color:[a,n]}}}),[tu]=_({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:I.getInstance(t),state:!!a}}}),[au]=_({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:I.getInstance(e)}}}),[nu]=_({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:I.getInstance(e),forPlayer:u.getInstance(t)}}}),[ru]=_({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:I.getInstance(e),forPlayer:u.getInstance(t)}}}),[iu]=_({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:I.getInstance(t),isPassenger:!!a}}}),[su]=_({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:u.getInstance(e),vehicle:I.getInstance(t)}}}),[ou]=_({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:I.getInstance(e),seatId:t}}}),[lu]=_({name:"OnNpcExitVehicle"}),[du]=_({name:"OnTrailerUpdate",beforeEach(e,t){return{player:u.getInstance(e),vehicle:I.getInstance(t)}}}),[cu]=_({name:"OnUnoccupiedVehicleUpdate",beforeEach(e,t,a,n,r,i,s,o,l){return{vehicle:I.getInstance(e),player:u.getInstance(t),passengerSeat:a,newX:n,newY:r,newZ:i,velX:s,velY:o,velZ:l}}}),_u=Object.freeze({onDamageStatusUpdate:$h,onDeath:Jh,onMod:Qh,onPaintjob:qh,onRespray:eu,onSirenStateChange:tu,onSpawn:au,onStreamIn:nu,onStreamOut:ru,onPlayerEnter:iu,onPlayerExit:su,onNpcEnter:ou,onNpcExit:lu,onTrailerUpdate:du,onUnoccupiedUpdate:cu});class hu{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return Rr()}static getPlayerNetworkStats(t){return Lr(t.id)}static getBytesReceived(t){return yr(t.id)}static getBytesSent(t){return fr(t.id)}static getConnectionStatus(t){return Ar(t.id)}static getConnectedTime(t){return gr(t.id)}static getIpPort(t){return Cr(t.id)}static getMessagesReceived(t){return Sr(t.id)}static getMessagesRecvPerSecond(t){return Ir(t.id)}static getMessagesSent(t){return Pr(t.id)}static getPacketLossPercent(t){return Er(t.id)}}class uu{_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){Gn(t)}static has(t,a){return ui(t.id,a)}forAll(t="win1252"){On(P.encodeToBuf(P.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,a="win1252"){hi(t.id,P.encodeToBuf(P.convertSpecialChar(this.text),a),this.time,this.style)}hideForPlayer(t){return pi(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)throw new Error("[Menu]: The menu column number interval is between 1 and 2");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,r,i,s){this._title=t,this.columns=a,this._x=n,this._y=r,this._col1width=i,this._col2width=s}create(){if(this._id!==-1)throw new Error("[Menu]: Cannot be created twice");if(z.getInstances().length===O.MAX_MENUS)throw new Error("[Menu]: The maximum number of menus allowed to be created has been reached 128");return this._id=cd(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),z.menus.set(this._id,this),this}destroy(){if(this._id===-1)throw new Error("[Menu]: Cannot destroy before create");return _d(this.id),z.menus.delete(this._id),this._id=-1,this}addItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot addItem before create");if(this._itemCount===O.MAX_MENU_ROW)throw new Error("[Menu]: The maximum number of items allowed to be added has been reached 12");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return hd(this.id,t,a),this._itemCount++,this}setColumnHeader(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot setColumnHeader before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return ud(this.id,t,a),this}disable(){if(this._id===-1)throw new Error("[Menu]: Cannot disable menu before create");return Sd(this.id),this}disableRow(t){if(this._id===-1)throw new Error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)throw new Error("[Menu]: Wrong number of rows");yd(this.id,t)}isValid(){return gd(this.id)}showForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot show menu before create");return md(this.id,t.id)}hideForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot hide menu before create");return pd(this.id,t.id)}isDisabled(){return this._id===-1?!1:nd(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:rd(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}:sd(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:od(this.id)}getColumnHeader(t){if(this._id===-1)throw new Error("[Menu]: Cannot get column header before create");return ld(this.id,t)}getItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot get item before create");if(a<0||a>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return dd(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===Pd(t.id))}}N.onExit(({next:e})=>(z.getInstances().forEach(t=>t.destroy()),e()));const[mu]=_({name:"OnPlayerExitedMenu",beforeEach(e){return{player:u.getInstance(e)}}}),[pu]=_({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=u.getInstance(e),n=z.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),gu=Object.freeze({onPlayerExited:mu,onPlayerSelectedRow:pu});class w{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)throw new Error("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(w.getInstances(!1).length===O.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:r,maxY:i}=this.sourceInfo;this._id=xd(t.id,a,n,r,i);const s=ye.onDisconnect(({player:o,next:l})=>{l(),o===this.sourceInfo.player&&(this.destroy(),s())});w.playerGangZones.set(this.id,this)}else{if(w.getInstances(!0).length===O.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:r,maxY:i}=this.sourceInfo;this._id=Nd(a,n,r,i),w.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)throw new Error("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(Md(t.id,this.id),w.playerGangZones.delete(this.id)):(Ld(this.id),w.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");if(!this.sourceInfo.player)return bd(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");const n=this.sourceInfo.player;if(n)Hd(n.id,this.id,y(t));else if(a)Rd(a.id,this.id,t);else throw new Error("[GangZone]: invalid player for show");return this}hideForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");if(!this.sourceInfo.player)return Od(this.id),this;throw new Error("[GangZone]: player's gangzone should not be hide for all.")}hideForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");const a=this.sourceInfo.player;if(a)Vd(a.id,this.id);else if(t)vd(t.id,this.id);else throw new Error("[GangZone]: invalid player for hide");return this}flashForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");if(!this.sourceInfo.player)return Fd(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");const n=this.sourceInfo.player;if(n)Ud(n.id,this.id,y(a));else if(t)Gd(t.id,this.id,a);else throw new Error("[GangZone]: invalid player for flash");return this}stopFlashForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");if(!this.sourceInfo.player)return kd(this.id),this;throw new Error("[GangZone]: player's gangzone should not be stop flash for all.")}stopFlashForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");const a=this.sourceInfo.player;if(a)Wd(a.id,this.id);else if(t)Bd(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Kd(t.id,this.id):fd(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Zd(a.id,this.id):Id(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?jd(a.id,this.id):Ed(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?Xd(a.id,this.id):Ad(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?Yd(a.id,this.id):Cd(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?zd(a.id,this.id):Td(t.id,this.id)}getPos(){if(this.id===-1)throw new Error("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?$d(t.id,this.id):Dd(this.id)}useCheck(t){if(this.id===-1)throw new Error("[GangZone]: Unable to use check before create");const a=this.sourceInfo.player;return a?Jd(a.id,this.id,t):wd(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()]}}N.onExit(({next:e})=>(w.getInstances(!0).forEach(t=>t.destroy()),w.getInstances(!1).forEach(t=>t.destroy()),e()));const[Su]=_({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[yu]=_({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[Pu]=_({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!1)}}}),[fu]=_({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!1)}}}),[Iu]=_({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[Eu]=_({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:w.getInstance(t,!1)}}}),Au=Object.freeze({onPlayerEnterGlobal:Su,onPlayerLeaveGlobal:yu,onPlayerEnterPlayer:Pu,onPlayerLeavePlayer:fu,onPlayerClickGlobal:Iu,onPlayerClickPlayer:Eu}),C={skip:!1};N.onInit(({next:e})=>(C.skip=!1,e())),N.onExit(({next:e})=>(C.skip=!0,e()));const[j]=_({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[X]=_({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[Cu]=_({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class g{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=wt;static setTickRate=Nt;static getPlayerTickRate(t){return Lt(t.id)}static setPlayerTickRate(t,a=50){return Rt(t.id,a)}static toggleChunkStream=bt;static isToggleChunkStream=vt;static getChunkTickRate(t,a=-1){return a instanceof u?Ae(t,a.id):Ae(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof u?Ce(t,a,n.id):Ce(t,a,n)}static getChunkSize=Ot;static setChunkSize=Gt;static getMaxItems=Ft;static setMaxItems=Bt;static getVisibleItems(t,a=-1){return a instanceof u?Te(t,a.id):Te(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof u?De(t,a,n.id):De(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof u?we(t,a.id):we(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof u?Ne(t,n.id):Ne(t,a,n)}static getTypePriority=kt;static setTypePriority=xt;static getCellDistance=Mt;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 ra(t.id,a)}static getLastUpdateTime(){return ia()}static update(t,a=-1){return sa(t.id,a)}static updateEx(t,a,n,r,i,s,o,l,d){return oa(t.id,a,n,r,i,s,o,l,d)}static getDistanceToItem=la;static toggleItem(t,a,n,r){return da(t.id,a,n,r)}static isToggleItem(t,a,n){return ca(t.id,a,n)}static toggleAllItems(t,a,n,r=[-1]){return _a(t.id,a,n,r)}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=Pa;static getAllVisibleItems(t,a,n){return fa(t.id,a,n)}static getItemPos=Ia;static setItemPos=Ea;static getItemOffset=Aa;static setItemOffset=Ca;static getFloatData=Ta;static setFloatData=Da;static getIntData=wa;static setIntData=Na;static getArrayData=La;static setArrayData=Ra;static isInArrayData=ba;static appendArrayData=va;static removeArrayData=Oa;static getArrayDataLength=Ga;static getUpperBound=Fa;static onPluginError=Cu}class W{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:r,playerId:i,areaId:s,priority:o}=this.sourceInfo;const{x:l,y:d,z:h,type:m,color:p,extended:f}=this.sourceInfo;if(m<0||m>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=Ba.LOCAL,a??=ne.MAP_ICON_SD,o??=0,f?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=ka(l,d,h,m,y(p),t,a,n,r,i,s,o),W.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=xa(l,d,h,m,y(p),n,r,i,a,t,s,o),W.mapIcons.set(this._id,this),this)}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return C.skip||Ma(this.id),W.mapIcons.delete(this._id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:Ha(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(A.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(A.MAP_ICON,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,A.MAP_ICON,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}N.onExit(({next:e})=>(W.getInstances().forEach(t=>t.destroy()),e()));const[Tu,Du]=_({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[wu,Nu]=_({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===A.MAP_ICON?Du(a,W.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===A.MAP_ICON?Nu(a,W.getInstance(t)):n());const Lu=Object.freeze({onStreamIn:Tu,onStreamOut:wu});class U{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:r,areaId:i,priority:s}=this.sourceInfo;const{type:o,modelId:l,x:d,y:h,z:m,extended:p}=this.sourceInfo;if(o<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=c.StreamerDistances.PICKUP_SD,s??=0,p?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=c.CreateDynamicPickupEx(l,o,d,h,m,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=c.CreateDynamicPickup(l,o,d,h,m,a,n,r,t,i,s)),U.pickups.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerPickup]: Unable to destroy the pickup before create");return C.skip||c.DestroyDynamicPickup(this.id),U.pickups.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:c.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(c.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(c.StreamerItemTypes.PICKUP,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,c.StreamerItemTypes.PICKUP,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}N.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[Ru,bu]=_({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[vu,Ou]=_({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===A.PICKUP?bu(a,U.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===A.PICKUP?Ou(a,U.getInstance(t)):n());const[Gu]=_({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:U.getInstance(t)}}}),Fu=Object.freeze({onPlayerPickUp:Gu,onStreamIn:Ru,onStreamOut:vu});class B{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:r,areaId:i,priority:s}=this.sourceInfo;const{size:o,x:l,y:d,z:h,extended:m}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=ne.CP_SD,s??=0,m?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=Va(l,d,h,o,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=Ua(l,d,h,o,a,n,r,t,i,s)),B.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return C.skip||Le(this.id),B.checkpoints.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:Re(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return 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 B.checkpoints.get(ja(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(A.CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(A.CP,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,A.CP,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}N.onExit(({next:e})=>(B.checkpoints.forEach(t=>t.destroy()),e()));const[Bu,ku]=_({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[xu,Mu]=_({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===A.CP?ku(a,B.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===A.CP?Mu(a,B.getInstance(t)):n());const[Hu]=_({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),cp:B.getInstance(t)}}}),[Vu]=_({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),cp:B.getInstance(t)}}}),Uu=Object.freeze({onPlayerEnter:Hu,onPlayerLeave:Vu,onStreamIn:Bu,onStreamOut:xu});class k{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:r,areaId:i,priority:s}=this.sourceInfo;const{type:o,size:l,x:d,y:h,z:m,nextX:p,nextY:f,nextZ:E,extended:R}=this.sourceInfo;if(o<0||o>8)throw new Error("[StreamerRaceCP]: Invalid type");if(l<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=ne.RACE_CP_SD,s??=0,R?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=Xa(o,d,h,m,p,f,E,l,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=Ya(o,d,h,m,p,f,E,l,a,n,r,t,i,s)),k.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return C.skip||Le(this.id),k.checkpoints.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:Re(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle the player before create");return 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){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(A.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(A.RACE_CP,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,A.RACE_CP,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}N.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),e()));const[Wu,Ku]=_({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Zu,ju]=_({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===A.RACE_CP?Ku(a,k.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===A.RACE_CP?ju(a,k.getInstance(t)):n());const[Xu]=_({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),raceCP:k.getInstance(t)}}}),[Yu]=_({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),raceCp:k.getInstance(t)}}}),zu=Object.freeze({onPlayerEnter:Xu,onPlayerLeave:Yu,onStreamIn:Wu,onStreamOut:Zu});class M{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:r,areaId:i,priority:s}=this.sourceInfo;const{modelId:o,x:l,y:d,z:h,r:m,invulnerable:p,health:f,extended:E}=this.sourceInfo;return t??=c.StreamerDistances.ACTOR_SD,s??=0,E?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=c.CreateDynamicActorEx(o,l,d,h,m,p,f,t,a,n,r,i,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=c.CreateDynamicActor(o,l,d,h,m,p,f,a,n,r,t,i,s)),M.actors.set(this.id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerActor]: Unable to destroy the actor before create");return C.skip||c.DestroyDynamicActor(this.id),M.actors.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:c.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:c.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get virtual world before create");return c.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set virtual world before create");return c.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=4.1,r=!1,i=!0,s=!0,o=!1,l=0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!he(t,a))throw new Error("[StreamerActor]: Invalid anim library or name");return c.ApplyDynamicActorAnimation(this.id,t,a,n,r,i,s,o,l)}clearAnimations(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to clear animation before create");return c.ClearDynamicActorAnimations(this.id)}getFacingAngle(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get facing angle before create");return c.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set facing angle before create");return c.SetDynamicActorFacingAngle(this.id,t)}getPos(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get pos before create");return c.GetDynamicActorPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set pos before create");return c.SetDynamicActorPos(this.id,t,a,n)}getHealth(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get health before create");return c.GetDynamicActorHealth(this.id)}setHealth(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set health before create");return c.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:c.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return c.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=c.GetPlayerTargetDynamicActor(t.id);return M.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=c.GetPlayerCameraTargetDynActor(t.id);return M.actors.get(a)}getSkin(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get skin before create");return yo(this.id)}setSkin(t,a=!1){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set skin before create");return!a&&(t<0||t>311||t===74)?0:Po(this.id,t)}getSpawnInfo(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get spawn info before create");return fo(this.id)}getAnimation(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get animation before create");return c.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(c.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(c.StreamerItemTypes.ACTOR,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,c.StreamerItemTypes.ACTOR,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}N.onExit(({next:e})=>(M.getInstances().forEach(t=>t.destroy()),e()));const[$u]=_({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:M.getInstance(e),forPlayer:u.getInstance(t)}}}),[Ju]=_({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:M.getInstance(e),forPlayer:u.getInstance(t)}}}),[Qu]=_({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,r){return{player:u.getInstance(e),actor:M.getInstance(t),amount:a,weapon:n,bodyPart:r}}}),qu=Object.freeze({onStreamIn:$u,onStreamOut:Ju,onPlayerGiveDamage:Qu});class Y{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:r,worldId:i,interiorId:s,playerId:o,areaId:l,priority:d}=this.sourceInfo;const{charset:h,text:m,color:p,drawDistance:f,x:E,y:R,z:V,extended:ie}=this.sourceInfo;return t??=T.PLAYER_ID,a??=T.VEHICLE_ID,r??=ne.TEXT_3D_LABEL_SD,n??=!1,d??=0,ie?(typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof l=="number"?l=[-1]:l??=[-1],this._id=Q_(m,y(p),E,R,V,f,t,a,n,r,i,s,o,l,d,h||"utf8")):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(l)?l=-1:l??=-1,this._id=J_(h||"utf8",m,y(p),E,R,V,f,t,a,n,i,s,o,r,l,d)),Y.texts.set(this.id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return C.skip||qa(this.id),Y.texts.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:en(this.id)}getColor(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo.color}getCharset(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo.charset}getText(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get text before create");return eh(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");return this.sourceInfo.charset=n,q_(this.id,y(t),a,n||"utf8")}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(A.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(A.TEXT_3D_LABEL,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,A.TEXT_3D_LABEL,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}N.onExit(({next:e})=>(Y.getInstances().forEach(t=>t.destroy()),e()));const[em,tm]=_({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[am,nm]=_({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===A.TEXT_3D_LABEL?tm(a,Y.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===A.TEXT_3D_LABEL?nm(a,Y.getInstance(t)):n());const rm=Object.freeze({onStreamIn:em,onStreamOut:am});class b{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:r,playerId:i,areaId:s,priority:o}=this.sourceInfo;const{modelId:l,x:d,y:h,z:m,rx:p,ry:f,rz:E,extended:R}=this.sourceInfo;return t??=c.StreamerDistances.OBJECT_SD,a??=c.StreamerDistances.OBJECT_DD,o??=0,R?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=c.CreateDynamicObjectEx(l,d,h,m,p,f,E,t,a,n,r,i,s,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=c.CreateDynamicObject(l,d,h,m,p,f,E,n,r,i,t,a,s,o)),b.objects.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerObject]: Unable to destroy the object before create");return C.skip||c.DestroyDynamicObject(this.id),b.objects.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:c.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get position before create");return c.GetDynamicObjectPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set position before create");return c.SetDynamicObjectPos(this.id,t,a,n)}getRot(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get rotation before create");return c.GetDynamicObjectRot(this.id)}setRot(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set rotation before create");return c.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,r,i=-1e3,s=-1e3,o=-1e3){if(this.id===-1)throw new Error("[StreamerObject]: Cannot start moving before create");if(r<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(r>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),c.MoveDynamicObject(this.id,t,a,n,r,i,s,o)}stop(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot stop moving before create");return c.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:c.IsDynamicObjectMoving(this.id)}attachCamera(t){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return c.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,r,i,s,o,l=!0){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return c.AttachDynamicObjectToObject(this.id,t.id,a,n,r,i,s,o,l)}attachToPlayer(t,a,n,r,i,s,o){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return c.AttachDynamicObjectToPlayer(this.id,t.id,a,n,r,i,s,o)}attachToVehicle(t,a,n,r,i,s,o){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return c.AttachDynamicObjectToVehicle(this.id,t.id,a,n,r,i,s,o)}edit(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to edit before create");return t.endObjectEditing(),c.EditDynamicObject(t.id,this.id)}isMaterialUsed(t){return this.id===-1?!1:c.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:c.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material before create");return c.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,r,i="#000"){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material before create");return c.SetDynamicObjectMaterial(this.id,t,a,n,r,y(i))}isMaterialTextUsed(t){return this.id===-1?!1:c.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?c.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material text before create");return ah(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,r=c.MaterialTextSizes.SIZE_256x128,i="Arial",s=24,o=1,l="#fff",d="#000",h=0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo.charset=t,th(t||"utf8",this.id,a,n,r,i,s,o,y(l),y(d),h)}getPlayerCameraTarget(t){const a=c.GetPlayerCameraTargetDynObject(t.id);if(a!==T.OBJECT_ID)return b.objects.get(a)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(c.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(c.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return c.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return c.GetDynamicObjectNoCameraCol(this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,c.StreamerItemTypes.OBJECT,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}N.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),e()));const[im,sm]=_({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[om,lm]=_({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===A.OBJECT?sm(a,b.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===A.OBJECT?lm(a,b.getInstance(t)):n());const[dm]=_({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:b.getInstance(e)}}}),[cm]=_({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,r,i,s,o,l){return{player:u.getInstance(e),object:b.getInstance(t),response:a,x:n,y:r,z:i,rX:s,rY:o,rZ:l}}}),[_m]=_({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,r,i){return{player:u.getInstance(e),object:b.getInstance(t),modelId:a,x:n,y:r,z:i}}}),[hm]=_({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,r,i){return{player:u.getInstance(e),object:b.getInstance(a),weapon:t,x:n,y:r,z:i}}}),[um]=_({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,r,i,s,o,l,d,h,m,p,f){return{player:u.getInstance(e),response:t,index:a,modelId:n,boneId:r,fOffsetX:i,fOffsetY:s,fOffsetZ:o,fRotX:l,fRotY:d,fRotZ:h,fScaleX:m,fScaleY:p,fScaleZ:f}}}),mm=Object.freeze({onMoved:dm,onPlayerEdit:cm,onPlayerSelect:_m,onPlayerShoot:hm,onPlayerEditAttached:um,onStreamIn:im,onStreamOut:om});class L{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)throw new Error("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:n}=this.sourceInfo;const{type:r,extended:i}=this.sourceInfo;if(i)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],r==="circle"){const{x:s,y:o,size:l}=this.sourceInfo;if(l<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=c.CreateDynamicCircleEx(s,o,l,t,a,n)}else if(r==="cuboid"){const{minX:s,minY:o,minZ:l,maxX:d,maxY:h,maxZ:m}=this.sourceInfo;this._id=c.CreateDynamicCuboidEx(s,o,l,d,h,m,t,a,n)}else if(r==="cylinder"){const{x:s,y:o,minZ:l,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=c.CreateDynamicCylinderEx(s,o,l,d,h,t,a,n)}else if(r==="polygon"){const{points:s,minZ:o,maxZ:l}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=c.CreateDynamicPolygonEx(s,o,l,t,a,n)}else if(r==="rectangle"){const{minX:s,minY:o,maxX:l,maxY:d}=this.sourceInfo;this._id=c.CreateDynamicRectangleEx(s,o,l,d,t,a,n)}else{const{x:s,y:o,z:l,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=c.CreateDynamicSphereEx(s,o,l,d,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,r==="circle"){const{x:s,y:o,size:l}=this.sourceInfo;if(l<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=c.CreateDynamicCircle(s,o,l,t,a,n)}else if(r==="cuboid"){const{minX:s,minY:o,minZ:l,maxX:d,maxY:h,maxZ:m}=this.sourceInfo;this._id=c.CreateDynamicCuboid(s,o,l,d,h,m,t,a,n)}else if(r==="cylinder"){const{x:s,y:o,minZ:l,maxZ:d,size:h}=this.sourceInfo;if(h<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=c.CreateDynamicCylinder(s,o,l,d,h,t,a,n)}else if(r==="polygon"){const{points:s,minZ:o,maxZ:l}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=c.CreateDynamicPolygon(s,o,l,t,a,n)}else if(r==="rectangle"){const{minX:s,minY:o,maxX:l,maxY:d}=this.sourceInfo;this._id=c.CreateDynamicRectangle(s,o,l,d,t,a,n)}else{const{x:s,y:o,z:l,size:d}=this.sourceInfo;if(d<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=c.CreateDynamicSphere(s,o,l,d,t,a,n)}return L.areas.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return C.skip||c.DestroyDynamicArea(this.id),L.areas.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:c.IsValidDynamicArea(this.id)}getType(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to get type before create");return c.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonPoints before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonPoints invalid area type");return c.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonNumberPoints number before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonNumberPoints invalid area type");return c.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:c.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return c.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:c.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return c.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return L.getPlayerAreasNumber(t)?c.GetPlayerDynamicAreas(t.id).map(a=>L.areas.get(a)):[]}static getPlayerAreasNumber(t){return c.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:c.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return c.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,r,i,s){return this.id===-1?!1:c.IsLineInDynamicArea(this.id,t,a,n,r,i,s)}static isLineInAny(t,a,n,r,i,s){return c.IsLineInAnyDynamicArea(t,a,n,r,i,s)}static getForPoint(t,a,n){return L.getNumberForPoint(t,a,n)?c.GetDynamicAreasForPoint(t,a,n).map(r=>L.getInstance(r)):[]}static getNumberForPoint(t,a,n){return c.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,r,i,s){return L.getNumberForLine(t,a,n,r,i,s)?c.GetDynamicAreasForLine(t,a,n,r,i,s).map(o=>L.areas.get(o)):[]}static getNumberForLine(t,a,n,r,i,s){return c.GetNumberDynamicAreasForLine(t,a,n,r,i,s)}attachToObject(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return c.AttachDynamicAreaToObject(this.id,t.id,c.StreamerObjectTypes.DYNAMIC,T.PLAYER_ID,a,n,r)}attachToPlayer(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return c.AttachDynamicAreaToPlayer(this.id,t.id,a,n,r)}attachToVehicle(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return c.AttachDynamicAreaToVehicle(this.id,t.id,a,n,r)}toggleSpectateMode(t){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle specate mode before create");return c.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:c.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return g.toggleItemCallbacks(c.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:g.isToggleItemCallbacks(c.StreamerItemTypes.AREA,this.id)}static togglePlayerUpdate(t,a=!0){return g.toggleItemUpdate(t,c.StreamerItemTypes.AREA,a)}static hideForPlayer(t,a=-5e4){return g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?g.updateEx(t,n.x,n.y,n.z):g.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}N.onExit(({next:e})=>(L.getInstances().forEach(t=>t.destroy()),e()));const[pm,gm]=_({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Sm,ym]=_({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});j(({type:e,id:t,forPlayer:a,next:n})=>e===A.AREA?gm(a,L.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===A.AREA?ym(a,L.getInstance(t)):n());const[Pm]=_({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),area:L.getInstance(t)}}}),[fm]=_({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),area:L.getInstance(t)}}}),Im=Object.freeze({onStreamIn:pm,onStreamOut:Sm,onPlayerEnter:Pm,onPlayerLeave:fm});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)throw new Error("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:r,charset:i="iso-8859-1"}=this.sourceInfo,s=P.encodeToBuf(P.convertSpecialChar(n),i);if(r){if(S.getInstances(!1).length===O.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=d_(r.id,t,a,s);const o=ye.onDisconnect(({player:l,next:d})=>{const h=d();return l===r&&(this.destroy(),o()),h});S.playerTextDraws.set(this.id,this)}else{if(S.getInstances(!0).length===O.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Pc(t,a,s),S.globalTextDraws.set(this.id,this)}return this}destroy(){this.id===-1&&S.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(c_(t.id,this.id),S.playerTextDraws.delete(this.id)):(fc(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?f_(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?m_(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?g_(a.id,this.id,t):Dc(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return S.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?P_(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?u_(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?__(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)throw new Error("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?y_(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(te.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?D_(a.id,this.id,t):xc(this.id,t),this}setPreviewRot(t,a,n,r=1){if(this.id===-1)return S.beforeCreateWarn("set preview rot"),this;this.setFont(te.MODEL_PREVIEW);const{player:i}=this.sourceInfo;return i?w_(i.id,this.id,t,a,n,r):Mc(this.id,t,a,n,r),this}setPreviewVehColors(t,a){if(this.id===-1)return S.beforeCreateWarn("set preview veh col"),this;this.setFont(te.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?N_(n.id,this.id,t,a):Hc(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):bc(this.id,t),this}setSelectable(t){if(this.id===-1)return S.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?E_(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)throw new Error("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?S_(a.id,this.id,t):wc(this.id,t),this}setString(t,a){if(this.id===-1)return S.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const{player:n,charset:r="iso-8859-1"}=this.sourceInfo,i=P.encodeToBuf(P.convertSpecialChar(t),r);return n?T_(n.id,this.id,i):a?yc(this.id,a.id,i):kc(this.id,i),this}setTextSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?h_(n.id,this.id,t,a):Ec(this.id,t,a),this}useBox(t){if(this.id===-1)return S.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?p_(a.id,this.id,t):Tc(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[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)Oc(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");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)Gc(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===-1)return S.beforeCreateWarn("show"),this;if(!this.sourceInfo.player)return Fc(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===-1)return S.beforeCreateWarn("hideAll"),this;if(!this.sourceInfo.player)return Bc(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){const t=this.sourceInfo.player;return t?Wc(t.id,this.id):Qd(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?Kc(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?Zc(t.id,this.id):ec(this.id)}setPos(t,a){if(this.id===-1)return S.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?jc(n.id,this.id,t,a):tc(this.id,t,a),this}getLetterSize(){if(this.id===-1)return S.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?Xc(t.id,this.id):ac(this.id)}getTextSize(){if(this.id===-1)return S.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?Yc(t.id,this.id):nc(this.id)}getPos(){if(this.id===-1)return S.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?zc(t.id,this.id):rc(this.id)}getColor(){if(this.id===-1)return S.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?$c(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?Jc(t.id,this.id):sc(this.id)}getBackgroundColor(){if(this.id===-1)return S.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?Qc(t.id,this.id):oc(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?e_(t.id,this.id):dc(this.id)}getFont(){if(this.id===-1)return S.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?t_(t.id,this.id):cc(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?a_(t.id,this.id):_c(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?n_(t.id,this.id):hc(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?r_(t.id,this.id):uc(this.id)}getAlignment(){if(this.id===-1)return S.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?i_(t.id,this.id):mc(this.id)}getPreviewModel(){if(this.id===-1)return S.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?s_(t.id,this.id):pc(this.id)}getPreviewRot(){if(this.id===-1)return S.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?o_(t.id,this.id):gc(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):Sc(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()]}}N.onExit(({next:e})=>(S.getInstances(!0).forEach(t=>t.destroy()),S.getInstances(!1).forEach(t=>t.destroy()),e()));const[Em]=_({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===T.TEXT_DRAW?t:S.getInstance(t,!0)}}}),[Am]=_({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===T.TEXT_DRAW?t:S.getInstance(t,!1)}}}),Cm=Object.freeze({onPlayerClickGlobal:Em,onPlayerClickPlayer:Am});function Tm(e,t){return(e&t)===t}function Dm(e,t,a){return(e&a)===a&&(t&a)!==a}function wm(e,t){return!!(e&t)}function Nm(e,t,a){return(e&a)!==a&&(t&a)===a}export{xe as ArtworkEnum,Je as BodyPartsEnum,Qe as BoneIdsEnum,st as BulletHitTypesEnum,ee as CameraCutStylesEnum,$e as CameraModesEnum,tt as CarModTypeEnum,Me as ClickSourcesEnum,Ve as ConnectionStatusEnum,ce as DamageDeathReasonEnum,D as Dialog,le as DialogStylesEnum,Y as Dynamic3DTextLabel,rm as Dynamic3DTextLabelEvent,M as DynamicActor,qu as DynamicActorEvent,L as DynamicArea,Im as DynamicAreaEvent,Uu as DynamicCheckPointEvent,B as DynamicCheckpoint,W as DynamicMapIcon,Lu as DynamicMapIconEvent,b as DynamicObject,mm as DynamicObjectEvent,U as DynamicPickup,Fu as DynamicPickupEvent,k as DynamicRaceCP,zu as DynamicRaceCPEvent,G as ERecordStatus,Gm as E_STREAMER,He as EditResponseTypesEnum,Ye as FightingStylesEnum,qe as ForceSyncEnum,N as GameMode,uu as GameText,w as GangZone,Au as GangZoneEvent,P as I18n,T as InvalidEnum,Ue as KeysEnum,O as LimitsEnum,Fm as MapIconStyles,ze as MapIconStylesEnum,We as MarkerModesEnum,Bm as MaterialTextAlign,km as MaterialTextSizes,z as Menu,gu as MenuEvent,Ke as NPCPlaybackEnum,hu as NetStats,F as Npc,_n as NpcEvent,je as ObjectMaterialAlignmmentEnum,Ze as ObjectMaterialTextSizeEnum,u as Player,ye as PlayerEvent,$ as PlayerStateEnum,lt as RecordTypesEnum,Xe as SelectObjectTypesEnum,de as SpecialActionsEnum,re as SpectateModesEnum,g as Streamer,xm as StreamerAreaTypes,Mm as StreamerDistances,Hm as StreamerItemTypes,Vm as StreamerMiscellaneous,Um as StreamerObjectTypes,S as TextDraw,et as TextDrawAlignEnum,Cm as TextDrawEvent,te as TextDrawFontsEnum,I as Vehicle,_u as VehicleEvent,nt as VehicleModelInfoEnum,at as VehicleParamsEnum,rt as WeaponEnum,it as WeaponSkillsEnum,ot as WeaponStatesEnum,dt as animateLib,_ as defineEvent,W_ as getAnimateDurationByLibName,Tm as isHolding,Dm as isPressed,wm as isPressing,Nm as isReleased,_e as isValidAnimateLib,he as isValidAnimateName,y as rgba};