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