@infernus/core 0.9.0 → 0.9.3
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 +1554 -1551
- package/dist/bundle.js +1 -1
- package/dist/bundle.mjs +1 -1
- package/package.json +3 -3
package/dist/bundle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var De=require("iconv-lite"),yt=require("pino"),O=require("lodash"),o=require("@infernus/streamer"),c=require("@infernus/wrapper");const _=yt({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{_.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){_.warn(e);return}_.warn(new Error(JSON.stringify(e)))});class I{constructor(t,n){this.defaultLocale=t,this.locales=n,this.defaultLocale=O.snakeCase(t),this.locales=I.snakeLocaleKeys(n)}addLocales=t=>{O.merge(this.locales,I.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=O.omit(this.locales,t)};$t=(t,n,r=this.defaultLocale)=>{const i=this.locales[O.snakeCase(r)],a=O.get(this.locales[this.defaultLocale],t),s=O.get(i,t,a);if(s===void 0)return _.warn(`[i18n]: cannot find ${r}["${t}"]`),"undefined";if(typeof s!="string")return JSON.stringify(s);let l=s;if(n&&n.length){const h=/%s/i;for(let u=0;u<n.length&&l.match(h)!==null;u++)l=l.replace(h,n[u])}return l};static isValidate(t){De.encodingExists(t)||(_.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,n){return I.isValidate(n),[...De.encode(t,n),0]}static decodeFromBuf(t,n){I.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 O.mapKeys(t,(n,r)=>O.snakeCase(r))}}var Ge=(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))(Ge||{}),Me=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Me||{}),Le=(e=>(e[e.MSGBOX=0]="MSGBOX",e[e.INPUT=1]="INPUT",e[e.LIST=2]="LIST",e[e.PASSWORD=3]="PASSWORD",e[e.TABLIST=4]="TABLIST",e[e.TABLIST_HEADERS=5]="TABLIST_HEADERS",e))(Le||{}),Fe=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Fe||{}),Ne=(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))(Ne||{}),C=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=255]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e))(C||{}),ve=(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))(ve||{}),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||{}),He=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(He||{}),xe=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(xe||{}),w=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(w||{}),Ve=(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))(Ve||{}),Ue=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Ue||{}),We=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(We||{}),Ke=(e=>(e[e.NORMAL=0]="NORMAL",e[e.BOXING=1]="BOXING",e[e.KUNGFU=2]="KUNGFU",e[e.KNEEHEAD=3]="KNEEHEAD",e[e.GRABKICK=4]="GRABKICK",e[e.ELBOW=5]="ELBOW",e))(Ke||{}),je=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(je||{}),oe=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(oe||{}),Ze=(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))(Ze||{}),le=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(le||{}),v=(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))(v||{}),ze=(e=>(e[e.TORSO=3]="TORSO",e[e.GROIN=4]="GROIN",e[e.LEFT_ARM=5]="LEFT_ARM",e[e.RIGHT_ARM=6]="RIGHT_ARM",e[e.LEFT_LEG=7]="LEFT_LEG",e[e.RIGHT_LEG=8]="RIGHT_LEG",e[e.HEAD=9]="HEAD",e))(ze||{}),Xe=(e=>(e[e.Spine=1]="Spine",e[e.Head=2]="Head",e[e.LeftUpperArm=3]="LeftUpperArm",e[e.RightUpperArm=4]="RightUpperArm",e[e.LeftHand=5]="LeftHand",e[e.RightHand=6]="RightHand",e[e.LeftThigh=7]="LeftThigh",e[e.RightThigh=8]="RightThigh",e[e.LeftFoot=9]="LeftFoot",e[e.RightFoot=10]="RightFoot",e[e.RightCalf=11]="RightCalf",e[e.LeftCalf=12]="LeftCalf",e[e.LeftForearm=13]="LeftForearm",e[e.RightForearm=14]="RightForearm",e[e.LeftClavicle=15]="LeftClavicle",e[e.RightClavicle=16]="RightClavicle",e[e.Neck=17]="Neck",e[e.Jaw=18]="Jaw",e))(Xe||{}),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||{}),z=(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))(z||{}),Ye=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ye||{}),Je=(e=>(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))(Je||{}),Qe=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Qe||{}),qe=(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))(qe||{}),$e=(e=>(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.PARACHUTE=46]="PARACHUTE",e))($e||{}),et=(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))(et||{}),tt=(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))(tt||{}),nt=(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))(nt||{}),be=(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))(be||{}),rt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(rt||{});const p=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(r=>parseInt(r,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let n=0;return t.reverse().forEach((r,i)=>{r!==0&&(n+=Math.pow(16,i*2)*r)}),n},R="utf8",St="en_US",W=(e,t)=>{const n=t.replace("-","")==="utf8"?e:I.encodeToBuf(e,t);return[n instanceof Array?"a":"s",n]},it=(e,t,n)=>{const r=W(n,e.charset);return d("SendClientMessage",`ii${r[0]}`,e.id,p(t),r[1])},gt=(e,t,n)=>(e.forEach(r=>it(r,t,n)),1),at=(e,t,n)=>{const r=W(n,e.charset);return d("SendPlayerMessageToPlayer",`ii${r[0]}`,e.id,t,r[1])},Pt=(e,t,n)=>(e.forEach(r=>at(r,t,n)),1),pt=(e,t,n)=>{const{charset:r}=e,{style:i,caption:a,info:s,button1:l,button2:h}=n,[u,y]=W(a||"",r),[,S]=W(s||"",r),[,P]=W(l||"",r),[,f]=W(h||"",r);return d("ShowPlayerDialog",`iii${u.repeat(4)}`,e.id,t,i,y,S,P,f)};samp.registerEvent("OnPlayerTextI18n","iai");const At=e=>{samp.addEventListener("OnPlayerTextI18n",e)};samp.registerEvent("OnPlayerCommandTextI18n","iai");const It=e=>{samp.addEventListener("OnPlayerCommandTextI18n",e)};samp.registerEvent("OnDialogResponseI18n","iiiiai");const ft=e=>{samp.addEventListener("OnDialogResponseI18n",e)};samp.registerEvent("OnClientMessageI18n","iai");const Ct=(e,t=R)=>{samp.addEventListener("OnClientMessageI18n",(n,r)=>e(n,I.decodeFromBuf(r,t)))};samp.registerEvent("OnRconCommandI18n","ai");const Et=(e,t=R)=>{samp.addEventListener("OnRconCommandI18n",n=>e(I.decodeFromBuf(n,t)))};samp.registerEvent("OnRconLoginAttemptI18n","aiaii");const Tt=(e,t=R)=>{samp.addEventListener("OnRconLoginAttemptI18n",(n,r,i)=>e(I.decodeFromBuf(n,t),I.decodeFromBuf(r,t),Boolean(i)))},Dt=e=>{const t=d("GetPlayerName","iAi",e.id,B.MAX_PLAYER_NAME);return I.decodeFromBuf(I.getValidStr(t),e.charset)},Lt=(e,t)=>d("SetPlayerName","ia",e.id,I.encodeToBuf(t,e.charset)),Rt=(e,t,n)=>{const r=I.encodeToBuf(t,n);return d("BanEx","ia",e,r)},bt=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E,b)=>{const U=I.encodeToBuf(t,e);return d("CreateDynamic3DTextLabel","aiffffiiiiiifii",U,n,r,i,a,s,l,h,u,y,S,P,f,E,b)},Ot=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E,b)=>{const U=I.encodeToBuf(e,b);return d("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",U,t,n,r,i,a,s,l,h,u,y,S,P,f,E,y.length,S.length,P.length,f.length)},Bt=(e,t,n,r)=>{const i=I.encodeToBuf(n,r);return d("UpdateDynamic3DTextLabelText","iia",e,t,i)},wt=(e,t)=>{const n=d("GetDynamic3DTextLabelText","iAi",e,1024);return I.decodeFromBuf(I.getValidStr(n),t)},kt=(e,t,n,r,i,a,s,l,h,u,y)=>{const S=I.encodeToBuf(r,e),P=I.encodeToBuf(a,e);return d("SetDynamicObjectMaterialText","iiaiaiiiii",t,n,S,i,P,s,l,h,u,y)},Gt=(e,t,n)=>{const[r,i,a,s,l,h,u]=d("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),y=I.decodeFromBuf(r,n),S=I.decodeFromBuf(a,n);return{text:y,materialsize:i,fontface:S,bold:s,fontcolour:l,backcolour:h,textalignment:u}},m=(e,t,n=1)=>(...r)=>{if(!e[t])return n;const i=e[t](...r);return i instanceof Promise||i===void 0?n:Number(i)},st=(e=0)=>m({NOOP:()=>e},"NOOP"),{callNative:d,callNativeFloat:H}=samp;ft((e,t,n,r,i)=>{const a=D.waitingQueue.get(e);return a?(setTimeout(()=>a.resolve({response:n,listitem:r,inputbuf:i})),1):0});class D{id;static CREATED_ID=-1;static MAX_DIALOGID=32767;dialog;static waitingQueue=new Map;constructor(t={style:Le.MSGBOX,caption:"",info:"",button1:"",button2:""}){D.CREATED_ID<D.MAX_DIALOGID?D.CREATED_ID++:_.warn("[Dialog]: The maximum number of dialogs is reached"),this.dialog=t,this.id=D.CREATED_ID}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=D.waitingQueue.get(t.id);return r?(n&&r.reject("[Dialog]: player timeout does not respond or second request show dialog"),D.waitingQueue.delete(t.id),!0):!1}show(t){return new Promise((n,r)=>{D.close(t),D.waitingQueue.set(t.id,{resolve:n,reject:r}),pt(t,this.id,this.dialog)}).then(n=>{const{response:r,listitem:i}=n,a=I.decodeFromBuf(n.inputbuf,t.charset);return Promise.resolve({response:r,listitem:i,inputtext:a})}).catch(n=>Promise.reject(n)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),c.HidePlayerDialog(t.id)}}const dt=e=>{samp.addEventListener("OnGameModeInit",e)},T=e=>{samp.addEventListener("OnGameModeExit",e)},ot=e=>{samp.addEventListener("OnPlayerConnect",e)},lt=e=>{samp.addEventListener("OnPlayerDisconnect",e)},Mt=e=>{samp.addEventListener("OnPlayerSpawn",e)},Ft=e=>{samp.addEventListener("OnPlayerDeath",e)},Nt=e=>{samp.addEventListener("OnVehicleSpawn",e)},vt=e=>{samp.addEventListener("OnVehicleDeath",e)},Ht=e=>{samp.addEventListener("OnPlayerRequestClass",e)},xt=e=>{samp.addEventListener("OnPlayerEnterVehicle",e)},Vt=e=>{samp.addEventListener("OnPlayerExitVehicle",e)},Ut=e=>{samp.addEventListener("OnPlayerStateChange",e)},Wt=e=>{samp.addEventListener("OnPlayerRequestSpawn",e)},Kt=e=>{samp.addEventListener("OnVehicleMod",e)},jt=e=>{samp.addEventListener("OnEnterExitModShop",e)},Zt=e=>{samp.addEventListener("OnVehiclePaintjob",e)},zt=e=>{samp.addEventListener("OnVehicleRespray",e)},Xt=e=>{samp.addEventListener("OnVehicleDamageStatusUpdate",e)},Yt=e=>{samp.addEventListener("OnPlayerSelectedMenuRow",e)},Jt=e=>{samp.addEventListener("OnPlayerExitedMenu",e)},Qt=e=>{samp.addEventListener("OnPlayerInteriorChange",e)},qt=e=>{samp.addEventListener("OnPlayerKeyStateChange",e)},$t=e=>{samp.addEventListener("OnPlayerUpdate",e)},en=e=>{samp.addEventListener("OnPlayerStreamIn",e)},tn=e=>{samp.addEventListener("OnPlayerStreamOut",e)},nn=e=>{samp.addEventListener("OnVehicleStreamIn",e)},rn=e=>{samp.addEventListener("OnVehicleStreamOut",e)},an=e=>{samp.addEventListener("OnPlayerTakeDamage",e)},sn=e=>{samp.addEventListener("OnPlayerGiveDamage",e)},dn=e=>{samp.addEventListener("OnPlayerClickMap",e)},on=e=>{samp.addEventListener("OnPlayerClickTextDraw",e)},ln=e=>{samp.addEventListener("OnPlayerClickPlayerTextDraw",e)},_n=e=>{samp.addEventListener("OnIncomingConnection",e)},cn=e=>{samp.addEventListener("OnTrailerUpdate",e)},hn=e=>{samp.addEventListener("OnVehicleSirenStateChange",e)},un=e=>{samp.addEventListener("OnPlayerFinishedDownloading",e)},mn=e=>{samp.addEventListener("OnPlayerRequestDownload",e)},yn=e=>{samp.addEventListener("OnPlayerClickPlayer",e)},Sn=e=>{samp.addEventListener("OnClientCheckResponse",e)},gn=e=>{samp.addEventListener("OnNPCEnterVehicle",e)},Pn=e=>{samp.addEventListener("OnNPCExitVehicle",e)},pn=e=>{samp.addEventListener("OnNpcConnect",e)},An=e=>{samp.addEventListener("OnNpcDisconnect",e)},In=e=>{samp.addEventListener("OnNPCModeInit",e)},fn=e=>{samp.addEventListener("OnNPCModeExit",e)},Cn=e=>{samp.addEventListener("OnNPCSpawn",e)};class En{constructor(){pn(m(this,"onConnect")),An(m(this,"onDisconnect")),In(m(this,"onModeInit")),fn(m(this,"onModeExit")),Cn(m(this,"onSpawn")),Ct(m(this,"onClientMessage"))}}const Tn=(e,t,n)=>d("SendDeathMessage","iii",e,t,n),Dn=(e,t,n,r)=>d("SendDeathMessageToPlayer","iiii",e,t,n,r),Ln=(e,t,n)=>d("GameTextForAll","sii",e,t,n),Rn=e=>{d("HideGameTextForAll","i",e)},bn=(e,t,n,r)=>Boolean(d("GameTextForPlayer","isii",e,t,n,r)),On=(e,t)=>Boolean(d("HasGameText","ii",e,t)),Bn=(e,t)=>Boolean(d("HideGameTextForPlayer","ii",e,t)),wn=()=>d("GetMaxPlayers",""),kn=(e,t,n,r,i,a)=>H("VectorSize","ffffff",e,t,n,r,i,a),Gn=()=>d("GetPlayerPoolSize",""),Mn=()=>d("GetVehiclePoolSize",""),Fn=e=>d("SetGameModeText","s",e),Nn=e=>d("SetTeamCount","i",e),vn=(e,t,n,r,i,a,s,l,h,u,y)=>d("AddPlayerClass","iffffiiiiii",e,t,n,r,i,a,s,l,h,u,y),Hn=(e,t,n,r,i,a,s,l,h,u,y,S)=>d("AddPlayerClassEx","iiffffiiiiii",e,t,n,r,i,a,s,l,h,u,y,S),xn=(e,t,n,r,i,a,s)=>d("AddStaticVehicle","iffffii",e,t,n,r,i,a,s),Vn=(e,t,n,r,i,a,s,l,h)=>d("AddStaticVehicleEx","iffffiiii",e,t,n,r,i,a,s,l,h),Un=e=>d("ShowNameTags","i",e),Wn=e=>d("ShowPlayerMarkers","i",e),Kn=()=>d("GameModeExit",""),jn=e=>d("SetWorldTime","i",e),Zn=()=>d("EnableVehicleFriendlyFire",""),zn=e=>d("SetWeather","i",e),Xn=()=>H("GetGravity",""),Yn=e=>d("SetGravity","f",e),Jn=(e,t,n,r,i)=>d("CreateExplosion","fffif",e,t,n,r,i),Qn=e=>d("EnableZoneNames","i",e),qn=()=>d("UsePlayerPedAnims",""),$n=()=>d("DisableInteriorEnterExits",""),er=e=>d("SetNameTagDrawDistance","f",e),tr=()=>d("DisableNameTagLOS",""),nr=e=>d("LimitGlobalChatRadius","f",e),rr=e=>d("LimitPlayerMarkerRadius","f",e),ir=(e,t)=>d("ConnectNPC","ss",e,t),ar=e=>Boolean(d("IsPlayerNPC","i",e)),sr=e=>Boolean(d("IsPlayerAdmin","i",e)),dr=e=>d("Kick","i",e),or=e=>d("Ban","i",e),lr=e=>d("SendRconCommand","s",e),_r=e=>d("GetPlayerNetworkStats","iSi",e,1024),cr=()=>d("GetNetworkStats","Si",1024),hr=(e,t)=>d("BlockIpAddress","si",e,t),ur=e=>d("UnBlockIpAddress","s",e),mr=()=>d("GetServerTickRate",""),yr=e=>d("NetStats_GetConnectedTime","i",e),Sr=e=>d("NetStats_MessagesReceived","i",e),gr=e=>d("NetStats_BytesReceived","i",e),Pr=e=>d("NetStats_MessagesSent","i",e),pr=e=>d("NetStats_BytesSent","i",e),Ar=e=>d("NetStats_MessagesRecvPerSecond","i",e),Ir=e=>H("NetStats_PacketLossPercent","i",e),fr=e=>d("NetStats_ConnectionStatus","i",e),Cr=(e,t,n,r,i,a)=>d("CreateMenu","siffff",e,t,n,r,i,a),Er=e=>d("DestroyMenu","i",e),Tr=(e,t,n)=>d("AddMenuItem","iis",e,t,n),Dr=(e,t,n)=>d("SetMenuColumnHeader","iis",e,t,n),Lr=(e,t)=>d("ShowMenuForPlayer","ii",e,t),Rr=(e,t)=>d("HideMenuForPlayer","ii",e,t),br=e=>Boolean(d("IsValidMenu","i",e)),Or=e=>d("DisableMenu","i",e),Br=(e,t)=>d("DisableMenuRow","ii",e,t),Oe=e=>d("GetPlayerMenu","i",e),wr=(e,t,n)=>d("TextDrawCreate","ffs",e,t,n),kr=e=>d("TextDrawDestroy","i",e),Gr=(e,t,n)=>d("TextDrawLetterSize","iff",e,t,n),Mr=(e,t,n)=>d("TextDrawTextSize","iff",e,t,n),Fr=(e,t)=>d("TextDrawAlignment","ii",e,t),Nr=(e,t)=>Boolean(d("TextDrawColour","ii",e,p(t))),vr=(e,t)=>d("TextDrawUseBox","ii",e,t),Hr=(e,t)=>Boolean(d("TextDrawBoxColour","ii",e,p(t))),xr=(e,t)=>d("TextDrawSetShadow","ii",e,t),Vr=(e,t)=>d("TextDrawSetOutline","ii",e,t),Ur=(e,t)=>Boolean(d("TextDrawBackgroundColour","ii",e,p(t))),Wr=(e,t)=>d("TextDrawFont","ii",e,t),Kr=(e,t)=>d("TextDrawSetProportional","ii",e,t),jr=(e,t)=>d("TextDrawSetSelectable","ii",e,t),Zr=(e,t)=>d("TextDrawShowForPlayer","ii",e,t),zr=(e,t)=>d("TextDrawHideForPlayer","ii",e,t),Xr=e=>d("TextDrawShowForAll","i",e),Yr=e=>d("TextDrawHideForAll","i",e),Jr=(e,t)=>d("TextDrawSetString","is",e,t),Qr=(e,t)=>d("TextDrawSetPreviewModel","ii",e,t),qr=(e,t,n,r,i=1)=>{d("TextDrawSetPreviewRot","iffff",e,t,n,r,i)},$r=(e,t,n)=>Boolean(d("TextDrawSetPreviewVehicleColours","iii",e,p(t),p(n))),ei=(e,t,n,r)=>d("GangZoneCreate","ffff",e,t,n,r),ti=e=>d("GangZoneDestroy","i",e),ni=(e,t,n)=>d("GangZoneShowForPlayer","iii",e,t,p(n)),ri=(e,t)=>d("GangZoneShowForAll","ii",e,p(t)),ii=(e,t)=>d("GangZoneHideForPlayer","ii",e,t),ai=e=>d("GangZoneHideForAll","i",e),si=(e,t,n)=>d("GangZoneFlashForPlayer","iii",e,t,p(n)),di=(e,t)=>d("GangZoneFlashForAll","ii",e,p(t)),oi=(e,t)=>d("GangZoneStopFlashForPlayer","ii",e,t),li=e=>d("GangZoneStopFlashForAll","i",e),_i=(e,t=R)=>I.decodeFromBuf(I.getValidStr(d("GPCI","iAi",e,41)),t),ci=e=>Boolean(d("BeginObjectSelecting","i",e)),hi=e=>Boolean(d("EndObjectEditing","i",e)),ui=e=>Boolean(d("SetObjectsDefaultCameraCollision","i",e)),mi=(e,t,n,r,i,a,s,l,h,u,y,S,P)=>d("SetSpawnInfo","iiiffffiiiiii",e,t,n,r,i,a,s,l,h,u,y,S,P),yi=e=>d("SpawnPlayer","i",e),_t=(e,t,n,r)=>d("SetPlayerPos","ifff",e,t,n,r),Si=(e,t,n,r)=>d("SetPlayerPosFindZ","ifff",e,t,n,r),gi=e=>d("GetPlayerPos","iFFF",e),Pi=(e,t)=>d("SetPlayerFacingAngle","if",e,t),pi=e=>d("GetPlayerFacingAngle","iF",e),Ai=(e,t,n,r,i)=>Boolean(d("IsPlayerInRangeOfPoint","iffff",e,t,n,r,i)),Ii=(e,t,n,r)=>H("GetPlayerDistanceFromPoint","ifff",e,t,n,r),fi=(e,t)=>Boolean(d("IsPlayerStreamedIn","ii",e,t)),Ci=(e,t)=>d("SetPlayerInterior","ii",e,t),Ei=e=>d("GetPlayerInterior","i",e),Ti=(e,t)=>d("SetPlayerHealth","if",e,t),Di=e=>d("GetPlayerHealth","iF",e),Li=(e,t)=>d("SetPlayerArmour","if",e,t),Ri=e=>d("GetPlayerArmour","iF",e),bi=(e,t,n)=>d("SetPlayerAmmo","iii",e,t,n),Oi=e=>d("GetPlayerAmmo","i",e),Bi=e=>d("GetPlayerWeaponState","i",e),wi=e=>d("GetPlayerTargetPlayer","i",e),ki=(e,t)=>{d("SetPlayerTeam","ii",e,t)},Gi=e=>d("GetPlayerTeam","i",e),Mi=(e,t)=>d("SetPlayerScore","ii",e,t),Fi=e=>d("GetPlayerScore","i",e),Ni=e=>d("GetPlayerDrunkLevel","i",e),vi=(e,t)=>d("SetPlayerDrunkLevel","ii",e,t),Hi=(e,t)=>d("SetPlayerColor","ii",e,p(t)),xi=e=>d("GetPlayerColor","i",e),Vi=(e,t)=>d("SetPlayerSkin","ii",e,t),Ui=e=>d("GetPlayerSkin","i",e),Wi=(e,t,n)=>d("GivePlayerWeapon","iii",e,t,n),Ki=e=>d("ResetPlayerWeapons","i",e),ji=(e,t)=>d("SetPlayerArmedWeapon","ii",e,t),Zi=(e,t)=>d("GetPlayerWeaponData","iiII",e,t),zi=(e,t)=>d("GivePlayerMoney","ii",e,t),Xi=e=>d("ResetPlayerMoney","i",e),Yi=e=>d("GetPlayerMoney","i",e),Ji=e=>d("GetPlayerState","i",e),Qi=e=>d("GetPlayerPing","i",e),qi=e=>d("GetPlayerWeapon","i",e),$i=e=>d("GetPlayerKeys","iIII",e),ea=(e,t,n)=>d("SetPlayerTime","iii",e,t,n),ta=e=>d("GetPlayerTime","iII",e),na=(e,t)=>d("TogglePlayerClock","ii",e,t),ra=(e,t)=>d("SetPlayerWeather","ii",e,t),ia=e=>d("ForceClassSelection","i",e),aa=(e,t)=>d("SetPlayerWantedLevel","ii",e,t),sa=e=>d("GetPlayerWantedLevel","i",e),da=(e,t)=>d("SetPlayerFightingStyle","ii",e,t),oa=e=>d("GetPlayerFightingStyle","i",e),la=(e,t,n,r)=>d("SetPlayerVelocity","ifff",e,t,n,r),_a=e=>d("GetPlayerVelocity","iFFF",e),ca=(e,t,n)=>d("PlayCrimeReportForPlayer","iii",e,t,n),ha=(e,t,n,r,i,a,s=!1)=>d("PlayAudioStreamForPlayer","isffffi",e,t,n,r,i,a,s),ua=e=>d("StopAudioStreamForPlayer","i",e),ma=(e,t)=>d("SetPlayerShopName","is",e,t),ya=(e,t,n)=>d("SetPlayerSkillLevel","iii",e,t,n),Sa=e=>d("GetPlayerSurfingVehicleID","i",e),ga=e=>d("GetPlayerSurfingObjectID","i",e),Pa=(e,t,n,r,i,a)=>d("RemoveBuildingForPlayer","iiffff",e,t,n,r,i,a),pa=e=>d("GetPlayerLastShotVectors","iFFFFFF",e),Aa=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E)=>d("SetPlayerAttachedObject","iiiifffffffffii",e,t,n,r,i,a,s,l,h,u,y,S,P,p(f),p(E)),Ia=(e,t)=>d("RemovePlayerAttachedObject","ii",e,t),fa=(e,t)=>Boolean(d("IsPlayerAttachedObjectSlotUsed","ii",e,t)),Ca=(e,t,n,r)=>d("CreatePlayerTextDraw","iffs",e,t,n,r),Ea=(e,t)=>{d("PlayerTextDrawDestroy","ii",e,t)},Ta=(e,t,n,r)=>d("PlayerTextDrawLetterSize","iiff",e,t,n,r),Da=(e,t,n)=>d("PlayerTextDrawAlignment","iii",e,t,n),La=(e,t,n)=>Boolean(d("PlayerTextDrawColour","iii",e,t,p(n))),Ra=(e,t,n)=>d("PlayerTextDrawUseBox","iii",e,t,n),ba=(e,t,n)=>Boolean(d("PlayerTextDrawBoxColour","iii",e,t,p(n))),Oa=(e,t,n)=>d("PlayerTextDrawSetShadow","iii",e,t,n),Ba=(e,t,n)=>d("PlayerTextDrawSetOutline","iii",e,t,n),wa=(e,t,n)=>Boolean(d("PlayerTextDrawBackgroundColour","iii",e,t,p(n))),ka=(e,t,n)=>d("PlayerTextDrawFont","iii",e,t,n),Ga=(e,t,n)=>d("PlayerTextDrawSetProportional","iii",e,t,n),Ma=(e,t,n)=>d("PlayerTextDrawSetSelectable","iii",e,t,n),Fa=(e,t)=>d("PlayerTextDrawShow","ii",e,t),Na=(e,t)=>d("PlayerTextDrawHide","ii",e,t),va=(e,t,n)=>d("PlayerTextDrawSetString","iis",e,t,n),Ha=(e,t,n)=>d("PlayerTextDrawSetPreviewModel","iii",e,t,n),xa=(e,t,n,r,i,a)=>d("PlayerTextDrawSetPreviewRot","iiffff",e,t,n,r,i,a),Va=(e,t,n,r)=>Boolean(d("PlayerTextDrawSetPreviewVehicleColours","iiii",e,t,n,r)),Ua=(e,t,n,r,i)=>d("SetPlayerChatBubble","isifi",e,t,p(n),r,i),Wa=(e,t,n)=>d("PutPlayerInVehicle","iii",e,t,n),Ka=e=>d("GetPlayerVehicleID","i",e),ja=e=>d("GetPlayerVehicleSeat","i",e),Za=e=>d("RemovePlayerFromVehicle","i",e),za=(e,t)=>d("TogglePlayerControllable","ii",e,t),Xa=(e,t,n,r,i)=>d("PlayerPlaySound","iifff",e,t,n,r,i),Ya=(e,t,n,r,i,a,s,l,h,u)=>d("ApplyAnimation","issfiiiiii",e,t,n,r,i,a,s,l,h,u),Ja=(e,t)=>d("ClearAnimations","ii",e,t),Qa=e=>d("GetPlayerAnimationIndex","i",e),qa=e=>d("GetPlayerSpecialAction","i",e),$a=(e,t)=>d("SetPlayerSpecialAction","ii",e,t),es=(e,t)=>d("DisableRemoteVehicleCollisions","ii",e,t),ts=(e,t,n,r,i)=>d("SetPlayerWorldBounds","iffff",e,t,n,r,i),ns=(e,t,n)=>d("SetPlayerMarkerForPlayer","iii",e,t,p(n)),rs=(e,t,n)=>d("ShowPlayerNameTagForPlayer","iii",e,t,n),is=(e,t,n,r)=>d("SetPlayerCameraPos","ifff",e,t,n,r),as=(e,t,n,r,i)=>d("SetPlayerCameraLookAt","ifffi",e,t,n,r,i),ss=e=>d("SetCameraBehindPlayer","i",e),ds=e=>d("GetPlayerCameraPos","iFFF",e),os=e=>d("GetPlayerCameraFrontVector","iFFF",e),ls=e=>d("GetPlayerCameraMode","i",e),_s=(e,t)=>d("EnablePlayerCameraTarget","ii",e,t),cs=e=>d("GetPlayerCameraTargetVehicle","i",e),hs=e=>d("GetPlayerCameraTargetPlayer","i",e),us=e=>H("GetPlayerCameraAspectRatio","i",e),ms=e=>H("GetPlayerCameraZoom","i",e),ys=(e,t,n,r,i,a,s,l,h)=>d("InterpolateCameraPos","iffffffii",e,t,n,r,i,a,s,l,h),Ss=(e,t,n,r,i,a,s,l,h)=>d("InterpolateCameraLookAt","iffffffii",e,t,n,r,i,a,s,l,h),ct=e=>Boolean(d("IsPlayerConnected","i",e)),gs=(e,t)=>Boolean(d("IsPlayerInVehicle","ii",e,t)),Ps=e=>Boolean(d("IsPlayerInAnyVehicle","i",e)),ps=(e,t)=>d("SetPlayerVirtualWorld","ii",e,t),As=e=>d("GetPlayerVirtualWorld","i",e),Is=(e,t)=>d("EnableStuntBonusForPlayer","ii",e,t),fs=e=>d("EnableStuntBonusForAll","i",e),Cs=(e,t)=>d("TogglePlayerSpectating","ii",e,t),Es=(e,t,n)=>d("PlayerSpectatePlayer","iii",e,t,n),Ts=(e,t,n)=>d("PlayerSpectateVehicle","iii",e,t,n),Ds=(e,t,n)=>d("StartRecordingPlayerData","iis",e,t,n),Ls=e=>d("StopRecordingPlayerData","i",e),Rs=(e,t)=>{d("SelectTextDraw","ii",e,p(t))},bs=e=>{d("CancelSelectTextDraw","i",e)},Os=(e,t,n,r,i,a)=>d("CreateExplosionForPlayer","ifffif",e,t,n,r,i,a),Bs=(e,t,n,r,i)=>d("SendClientCheck","iiiii",e,t,n,r,i),ws=(e,t,n,r,i,a,s,l,h)=>d("CreateVehicle","iffffiiii",e,t,n,r,i,p(a),p(s),l,h),ks=e=>d("DestroyVehicle","i",e),Gs=(e,t)=>Boolean(d("IsVehicleStreamedIn","ii",e,t)),Ms=e=>{const t=d("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},Fs=(e,t,n,r)=>d("SetVehiclePos","ifff",e,t,n,r),Ns=e=>d("GetVehicleZAngle","iF",e),vs=e=>d("GetVehicleRotationQuat","iFFFF",e),Hs=(e,t,n,r)=>H("GetVehicleDistanceFromPoint","ifff",e,t,n,r),xs=(e,t)=>d("SetVehicleZAngle","if",e,t),Vs=(e,t,n,r)=>d("SetVehicleParamsForPlayer","iiii",e,t,n,r),Us=()=>d("ManualVehicleEngineAndLights",""),Ws=(e,t,n,r,i,a,s,l)=>d("SetVehicleParamsEx","iiiiiiii",e,t,n,r,i,a,s,l),Ks=e=>d("GetVehicleParamsEx","iIIIIIII",e),js=e=>d("GetVehicleParamsSirenState","i",e),Zs=(e,t,n,r,i)=>d("SetVehicleParamsCarDoors","iiiii",e,t,n,r,i),zs=e=>{const t=d("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},Xs=(e,t,n,r,i)=>d("SetVehicleParamsCarWindows","iiiii",e,t,n,r,i),Ys=e=>{const t=d("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},Js=e=>d("SetVehicleToRespawn","i",e),Qs=(e,t)=>d("LinkVehicleToInterior","ii",e,t),qs=(e,t)=>d("AddVehicleComponent","ii",e,t),$s=(e,t)=>d("RemoveVehicleComponent","ii",e,t),ed=(e,t,n)=>d("ChangeVehicleColours","iii",e,p(t),p(n)),td=(e,t)=>d("ChangeVehiclePaintjob","ii",e,t),nd=(e,t)=>d("SetVehicleHealth","if",e,t),rd=e=>d("GetVehicleHealth","iF",e),id=(e,t)=>d("AttachTrailerToVehicle","ii",e,t),ad=e=>d("DetachTrailerFromVehicle","i",e),sd=e=>Boolean(d("IsTrailerAttachedToVehicle","i",e)),dd=e=>d("GetVehicleTrailer","i",e),od=(e,t)=>d("SetVehicleNumberPlate","is",e,t),ld=e=>d("GetVehicleModel","i",e),_d=(e,t)=>d("GetVehicleComponentInSlot","ii",e,t),cd=e=>d("GetVehicleComponentType","i",e),hd=e=>d("RepairVehicle","i",e),ud=e=>d("GetVehicleVelocity","iFFF",e),md=(e,t,n,r)=>d("SetVehicleVelocity","ifff",e,t,n,r),yd=(e,t,n,r)=>d("SetVehicleAngularVelocity","ifff",e,t,n,r),Sd=e=>{const t=d("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]}},gd=(e,t,n,r,i)=>d("UpdateVehicleDamageStatus","iiiii",e,t,n,r,i),Pd=(e,t)=>{const n=d("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]}},pd=(e,t)=>d("SetVehicleVirtualWorld","ii",e,t),Ad=e=>d("GetVehicleVirtualWorld","i",e),ht=e=>Boolean(d("IsValidVehicle","i",e)),Id=(e,t)=>d("StartRecordingPlayback","is",e,t),fd=()=>d("StopRecordingPlayback",""),Cd=()=>d("PauseRecordingPlayback",""),Ed=()=>d("ResumeRecordingPlayback",""),Td=e=>d("GetPlayerCustomSkin","i",e),Dd=(e,t)=>d("RedirectDownload","is",e,t),Ld=(e,t,n,r,i)=>d("AddSimpleModel","iiiss",e,t,n,r,i),Rd=(e,t,n,r,i,a,s)=>d("AddSimpleModelTimed","iiissii",e,t,n,r,i,a,s),bd=e=>d("GetWeaponName","iSi",e,32),Od=e=>d("NetStats_GetIpPort","iSi",e,128+6),Bd=e=>d("GetPlayerIp","iSi",e,128),wd=e=>d("GetAnimationName","iSiSi",e,32,32),kd=e=>d("GetPlayerVersion","iSi",e,24),Gd=e=>d("FindModelFileNameFromCRC","iSi",e,255),Md=e=>d("FindTextureFileNameFromCRC","iSi",e,255);class G{constructor(){}static recordStatus;static connectNPC=ir;static startRecordingPlayerData(t,n,r){if(t.isRecording)return _.warn("[NpcFunc]: It should be stopped before recording");Ds(t.id,n,r),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return _.warn("[NpcFunc]: It should be started before stop");Ls(t.id),t.isRecording=!1}static startRecordingPlayback(t,n){if(G.recordStatus>=w.start)return _.warn("[NpcFunc]: The current status cannot be replayed");Id(t,n),G.recordStatus=w.start}static stopRecordingPlayback(){if(G.recordStatus<w.start)return _.warn("[NpcFunc]: The current status cannot be stopped");fd(),G.recordStatus=w.none}static pauseRecordingPlayback(){if(G.recordStatus!==w.start)return _.warn("[NpcFunc]: The current status cannot be paused");Cd(),G.recordStatus=w.pause}static resumeRecordingPlayback(){if(G.recordStatus!==w.pause)return _.warn("[NpcFunc]: The current status cannot be paused");Ed(),G.recordStatus=w.start}}const Fd=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}]]]),Nd=e=>{const t=Fd.get(e);return t===void 0?!1:t},ut=(e,t)=>{const n=Nd(e);if(n)return n.find(r=>r.n===t)?.d},_e=new Map,ce=(e,t=!1)=>{const n=_e.get(e);return n?(t&&n.reject("[Player]: An attempt to check the player client response timed out"),clearTimeout(n.timeout),_e.delete(e),!0):!1};Sn((e,t,n,r)=>{const i=_e.get(e);return i?(clearTimeout(i.timeout),setTimeout(()=>i.resolve({actionid:t,memaddr:n,retndata:r})),1):0});class L{map=new Map;on(t,n){let r=this.map.get(t);r||(r=new Set,this.map.set(t,r)),r.add(n)}emit(t,n){const r=this.map.get(t);!r||[...r].forEach(i=>i(n))}off(t,n){if(!t){this.map.clear();return}if(!n){this.map.delete(t);return}const r=this.map.get(t);!r||r.delete(n)}}var M=(e=>(e.pause="OnPlayerPause",e.create="OnPlayerEventCreate",e.setCommonProp="OnPlayerSetCommonProp",e))(M||{});const F=new L;class k{_id;_isNpc;_locale=St;_charset=R;_isRecording=!1;lastDrunkLevel=0;lastFps=0;isPaused=!1;lastUpdateTick=0;get id(){return this._id}get locale(){return this._locale}set locale(t){F.emit(M.setCommonProp,{player:this,prop:"_locale",value:t})}get charset(){return this._charset}set charset(t){F.emit(M.setCommonProp,{player:this,prop:"_charset",value:t})}get isRecording(){return this._isRecording}set isRecording(t){F.emit(M.setCommonProp,{player:this,prop:"_isRecording",value:t})}constructor(t){this._id=t,this._isNpc=ar(this.id)}sendClientMessage(t,n){return it(this,t,n)}static sendClientMessageToAll(t,n,r){gt(t,n,r)}sendPlayerMessage(t,n){return at(t,this.id,n)}sendPlayerMessageToAll(t,n){return Pt(t,this.id,n)}isNpc(){return this._isNpc}getFps(){return this.lastFps}getDrunkLevel(){return Ni(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return _.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));vi(this.id,t)}allowTeleport(t){c.AllowPlayerTeleport(this.id,t)}isTeleportAllowed(){return c.IsPlayerTeleportAllowed(this.id)}enableCameraTarget(t){_s(this.id,t)}enableStuntBonus(t){Is(this.id,t)}getInterior(){return Ei(this.id)}setInterior(t){return Ci(this.id,t)}showPlayerNameTag(t,n){rs(this.id,t.id,n)}setColor(t){Hi(this.id,t)}getColor(){return xi(this.id)}setPlayerMarker(t,n){ns(this.id,t.id,n)}resetMoney(){return Xi(this.id)}getMoney(){return Yi(this.id)}giveMoney(t){return zi(this.id,t)}resetWeapons(){return Ki(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):yi(this.id)}setHealth(t){return Ti(this.id,t)}getHealth(){return Di(this.id)}toggleClock(t){return na(this.id,t)}toggleControllable(t){return za(this.id,t)}toggleSpectating(t){return Cs(this.id,t)}spectatePlayer(t,n=le.NORMAL){return Es(this.id,t.id,n)}spectateVehicle(t,n=le.NORMAL){return Ts(this.id,t.id,n)}forceClassSelection(){ia(this.id)}kick(){dr(this.id)}ban(){or(this.id)}banEx(t,n){Rt(this.id,t,n)}isAdmin(){return sr(this.id)}isInRangeOfPoint(t,n,r,i){return Ai(this.id,t,n,r,i)}isStreamedIn(t){return fi(this.id,t.id)}setSkin(t,n=!1){return!n&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===Re.DUCK?0:Vi(this.id,t)}getSkin(){return Ui(this.id)}isInAnyVehicle(){return Ps(this.id)}getSpecialAction(){return qa(this.id)}setSpecialAction(t){return $a(this.id,t)}setScore(t){return Mi(this.id,t)}getScore(){return Fi(this.id)}getPing(){return Qi(this.id)||0}setPos(t,n,r){return _t(this.id,t,n,r)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===v.NONE)return;const[t,n,r]=gi(this.id);return{x:t,y:n,z:r}}isSpectating(){return this.getState()===v.SPECTATING}isWasted(){return this.getState()===v.WASTED}getState(){return Ji(this.id)}getVersion(){return this.isNpc()?"":kd(this.id)}setVirtualWorld(t){return ps(this.id,t)}getVirtualWorld(){return As(this.id)}removeFromVehicle(){return Za(this.id)}setWantedLevel(t){return t<0||t>6?(_.error("[Player]: player's wanted level ranges from 0 to 6"),0):aa(this.id,t)}getWantedLevel(){return sa(this.id)}setFacingAngle(t){return Pi(this.id,t)}getFacingAngle(){return pi(this.id)}setWeather(t){if(t<0||t>255){_.warn("[Player]: The valid weather value is only 0 to 255");return}ra(this.id,t)}getWeather(){return c.GetPlayerWeather(this.id)}setTime(t,n){if(t<0||t>23){_.warn("[Player]: The valid hour value is only 0 to 23");return}if(n<0||n>59){_.warn("[Player]: The valid minute value is only 0 to 59");return}return ea(this.id,t,n)}getTime(){const[t,n]=ta(this.id);return{hour:t,minute:n}}removeBuilding(t,n,r,i,a){Pa(this.id,t,n,r,i,a)}setTeam(t){t<0||t>C.NO_TEAM||ki(this.id,t)}getTeam(){return Gi(this.id)}setSkillLevel(t,n){if(n<0||n>999){_.warn("[Player]: The valid skill level is only 0 to 999");return}ya(this.id,t,n)}getName(){return Dt(this)}setName(t){return Lt(this,t)}setVelocity(t,n,r){return la(this.id,t,n,r)}getVelocity(){const[t,n,r]=_a(this.id);return{x:t,y:n,z:r}}getKeys(){const[t,n,r]=$i(this.id);return{keys:t,updown:n,leftright:r}}getIp(){return Bd(this.id)}getFightingStyle(){return oa(this.id)}setFightingStyle(t){da(this.id,t)}setArmour(t){return Li(this.id,t)}getArmour(){return Ri(this.id)}setCameraBehind(){return ss(this.id)}setCameraPos(t,n,r){return is(this.id,t,n,r)}setCameraLookAt(t,n,r,i){return as(this.id,t,n,r,i)}getCameraAspectRatio(){return us(this.id)}getCameraFrontVector(){const[t,n,r]=os(this.id);return{x:t,y:n,z:r}}getCameraMode(){return ls(this.id)}getCameraPos(){const[t,n,r]=ds(this.id);return{x:t,y:n,z:r}}getCameraTargetPlayer(t){const n=hs(this.id);return t.find(r=>r.id===n)}getCameraTargetVehicle(t){const n=cs(this.id);return t.find(r=>r.id===n)}getCameraZoom(){return ms(this.id)}playAudioStream(t,n=0,r=0,i=0,a=5){let s=!1;return(n!==0||r!==0||i!==0)&&(s=!0),ha(this.id,t,n,r,i,a,s)}stopAudioStream(){ua(this.id)}playSound(t,n=0,r=0,i=0){return Xa(this.id,t,n,r,i)}static getPoolSize(){return Gn()}static getMaxPlayers(){return wn()}playCrimeReport(t,n){return n<3||n>22?(_.warn("[Player]: Available crime ids range from 3 to 22"),0):ca(this.id,t.id,n)}interpolateCameraPos(t,n,r,i,a,s,l,h=oe.CUT){ys(this.id,t,n,r,i,a,s,l,h)}interpolateCameraLookAt(t,n,r,i,a,s,l,h=oe.CUT){Ss(this.id,t,n,r,i,a,s,l,h)}createExplosion(t,n,r,i,a){return i<0||i>13?(_.error("[Player]: The valid explosion type value is only 0 to 13"),0):Os(this.id,t,n,r,i,a)}static isConnected(t){return ct(t)}isConnected(){return ct(this.id)}disableRemoteVehicleCollisions(t){return es(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const n=Ka(this.id);return t.find(r=>r.id===n)}getVehicleSeat(){return ja(this.id)}getSurfingVehicle(t){const n=Sa(this.id);if(n!==C.VEHICLE_ID)return t.find(r=>r.id===n)}applyAnimation(t,n,r=!1,i=!0,a=!0,s=!1,l=!1){const h=ut(t,n);if(h===void 0)return _.error("[Player]: Invalid anim library or name");Ya(this.id,t,n,4.1,r,i,a,s,r?0:h,l)}clearAnimations(t=!1){Ja(this.id,t)}getAnimationIndex(){return Qa(this.id)}getAnimationName(){const[t,n]=wd(this.getAnimationIndex());return{animLib:t,animName:n}}setShopName(t){ma(this.id,t)}setPosFindZ(t,n,r=150){return new Promise(i=>{_t(this.id,t,n,r),setTimeout(()=>i(Si(this.id,t,n,r)))})}setWorldBounds(t,n,r,i){ts(this.id,t,n,r,i)}setChatBubble(t,n,r,i){Ua(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Ii(this.id,t,n,r)}getCustomSkin(){return Td(this.id)}getTargetPlayer(t){const n=wi(this.id);if(n!==C.PLAYER_ID)return t.find(r=>r.id===n)}getLastShotVectors(){const[t,n,r,i,a,s]=pa(this.id);return{fOriginX:t,fOriginY:n,fOriginZ:r,fHitPosX:i,fHitPosY:a,fHitPosZ:s}}getWeapon(){return qi(this.id)}getWeaponData(t){if(t<0||t>12){_.error("[Player]: weapon slots range from 0 to 12");return}const[n,r]=Zi(this.id,t);return{weapons:n,ammo:r}}getWeaponState(){return Bi(this.id)}giveWeapon(t,n){return Wi(this.id,t,n)}setAmmo(t,n){return bi(this.id,t,n)}getAmmo(){return Oi(this.id)}setArmedWeapon(t){return ji(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,be.CONNECT)}sendDeathMessage(t,n){Tn(t===C.PLAYER_ID?t:t.id,this.id,n)}sendDeathMessageToPlayer(t,n,r){Dn(this.id,t===C.PLAYER_ID?t:t.id,n===C.PLAYER_ID?n:n.id,r)}setSpawnInfo(t,n,r,i,a,s,l,h,u,y,S,P){t<0||t>C.NO_TEAM||n<0||n>311||n==74||h<0||y<0||P<0||mi(this.id,t,n,r,i,a,s,l,h,u,y,S,P)}redirectDownload(t){return Dd(this.id,t)}sendClientCheck(t,n,r,i){const a=[2,5,69,70,71,72];return a.includes(t)?new Promise((s,l)=>{if(ce(this.id,!0),this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const h=new Promise((u,y)=>{const S=this.getPing(),P=(S>=200?0:S)+200;_e.set(this.id,{resolve:u,reject:y,timeout:setTimeout(()=>ce(this.id,!0),P)}),Bs(this.id,t,n,r,i)});h.then(s,l),h.finally(()=>ce(this.id))}):_.error(`[Player]: sendClientCheck valid types are ${a.toString()}`)}selectTextDraw(t){Rs(this.id,t)}cancelSelectTextDraw(){bs(this.id)}beginObjectSelecting(){ci(this.id)}endObjectEditing(){hi(this.id)}getSurfingObject(t){const n=ga(this.id);if(n!==C.OBJECT_ID)return t.get(n)}isAttachedObjectSlotUsed(t){return fa(this.id,t)}setAttachedObject(t,n,r,i,a,s,l,h,u,y,S,P,f,E){return this.isAttachedObjectSlotUsed(t)?0:Aa(this.id,t,n,r,i,a,s,l,h,u,y,S,P,f,E)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Ia(this.id,t):0}toggleWidescreen(t){return c.TogglePlayerWidescreen(this.id,t)}isPlayerWidescreenToggled(){return c.IsPlayerWidescreenToggled(this.id)}getSpawnInfo(){return c.GetSpawnInfo(this.id)}getSkillLevel(t){return c.GetPlayerSkillLevel(this.id,t)}isCheckpointActive(){return c.IsPlayerCheckpointActive(this.id)}getCheckpoint(){return c.GetPlayerCheckpoint(this.id)}isRaceCheckpointActive(){return c.IsPlayerRaceCheckpointActive(this.id)}getRaceCheckpoint(){return c.GetPlayerRaceCheckpoint(this.id)}getWorldBounds(){c.GetPlayerWorldBounds(this.id)}isInModShop(){return c.IsPlayerInModShop(this.id)}getSirenState(){return c.GetPlayerSirenState(this.id)}getLandingGearState(){return c.GetPlayerLandingGearState(this.id)}getHydraReactorAngle(){return c.GetPlayerHydraReactorAngle(this.id)}getTrainSpeed(){return c.GetPlayerTrainSpeed(this.id)}getZAim(){return c.GetPlayerZAim(this.id)}getSurfingOffsets(){return c.GetPlayerSurfingOffsets(this.id)}getRotationQuat(){return c.GetPlayerRotationQuat(this.id)}getDialogID(){return c.GetPlayerDialogID(this.id)}getSpectateID(){return c.GetPlayerSpectateID(this.id)}getSpectateType(){return c.GetPlayerSpectateType(this.id)}getRawIp(){return c.GetPlayerRawIp(this.id)}setGravity(t){return c.SetPlayerGravity(this.id,t)}getGravity(){return c.GetPlayerGravity(this.id)}setAdmin(t){return c.SetPlayerAdmin(this.id,t)}isSpawned(){return c.IsPlayerSpawned(this.id)}isControllable(){return c.IsPlayerControllable(this.id)}isCameraTargetEnabled(){return c.IsPlayerCameraTargetEnabled(this.id)}toggleGhostMode(t){return c.TogglePlayerGhostMode(this.id,t)}getGhostMode(){return c.GetPlayerGhostMode(this.id)}getBuildingsRemoved(){return c.GetPlayerBuildingsRemoved(this.id)}getAttachedObject(t){return c.GetPlayerAttachedObject(this.id,t)}removeWeapon(t){return c.RemovePlayerWeapon(this.id,t)}isUsingOfficialClient(){return c.IsPlayerUsingOfficialClient(this.id)}allowWeapons(t){return c.AllowPlayerWeapons(this.id,t)}areWeaponsAllowed(){return c.ArePlayerWeaponsAllowed(this.id)}gpci(t){return _i(this.id,t)}}let he=null,ue=null;F.on(M.create,e=>{ue===null&&(ue=e)}),ot(()=>(!he&&ue&&k.getPoolSize()>-1&&(he=setInterval(()=>{for(const e of ue){const t=e[1];!t.isNpc()&&!t.isPaused&&t.getState()!==v.NONE&&Date.now()-t.lastUpdateTick>1e3&&F.emit(M.pause,t)}},500)),1)),lt(()=>(he&&k.getPoolSize()<=0&&clearInterval(he),1));class vd{eventMap=new Map;on=(t,n,r)=>(n instanceof Array||(n=[n]),n.forEach(i=>{const a=this.eventMap.get(i);if(!a)this.eventMap.set(i,new Map().set(t,r instanceof Array?r:[r]));else{const s=a.get(t);s?(r instanceof Array?r:[r]).forEach(l=>s.push(l)):a.set(t,r instanceof Array?r:[r])}}),()=>this.off(t,n,r));off=(t,n,r)=>{n instanceof Array||(n=[n]),n.forEach(i=>{const a=this.eventMap.get(i);if(!a)return;const s=a.get(t);if(s){r instanceof Array||(r=[r]);for(let l=0;l<s.length;l++){const h=s[l];!r.includes(h)||(s.splice(l,1),l--)}}})}}const Be={format:{code:0,msg:"failed to recognize command (almost never)"},notExist:{code:1,msg:"command does not exist"},rejected:{code:2,msg:"rejected because true/1 was not returned"}};class Z{players=new Map;static cmdBus=new vd;constructor(t){ot(n=>{const r=t(n);return this.players.set(n,r),m(this,"onConnect")(r)}),lt((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;D.close(i),ce(n,!0);const a=m(this,"onDisconnect")(i,r);return this.players.delete(n),a}),At((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onText",0)(i,I.decodeFromBuf(r,i.charset)):1}),It((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=I.decodeFromBuf(r,i.charset),s=a.match(/[^/\s]+/gi);return s===null||s.length===0?(this.onCommandError&&this.onCommandError(i,a,Be.format),0):(this.promiseCommand(i,s),1)}),jt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onEnterExitModShop")(a,r,i):0}),dn((n,r,i,a)=>{const s=this.findPlayerById(n);return s?m(this,"onClickMap")(s,r,i,a):0}),yn((n,r,i)=>{const a=this.findPlayerById(n);if(!a)return 0;const s=this.findPlayerById(r);return s?m(this,"onClickPlayer")(a,s,i):0}),Ft((n,r,i)=>{const a=m(this,"onDeath"),s=this.findPlayerById(n);if(!s)return 0;if(r===C.PLAYER_ID)return a(s,r,i);const l=this.findPlayerById(r);return l?a(s,l,i):0}),sn((n,r,i,a,s)=>{const l=this.findPlayerById(n);if(!l)return 0;const h=this.findPlayerById(r);return h?m(this,"onGiveDamage")(l,h,i,a,s):0}),qt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onKeyStateChange")(a,r,i):0}),Ht((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onRequestClass")(i,r):0}),Wt(n=>{const r=this.findPlayerById(n);return r?m(this,"onRequestSpawn")(r):0}),Mt(n=>{const r=this.findPlayerById(n);return r?m(this,"onSpawn")(r):0}),Ut((n,r,i)=>{const a=this.findPlayerById(n);return a?(i===v.NONE&&(a.lastUpdateTick=Date.now()),m(this,"onStateChange")(a,r,i)):0}),en((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onStreamIn")(i,a):0}),tn((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onStreamOut")(i,a):0}),an((n,r,i,a,s)=>{const l=this.findPlayerById(n);if(!l)return 0;if(r===C.PLAYER_ID)return m(this,"onTakeDamage")(l,r,i,a,s);const h=this.findPlayerById(r);return h?m(this,"onTakeDamage")(l,h,i,a,s):0}),$t(n=>{const r=this.findPlayerById(n);if(!r)return 0;if(!r.isNpc()){const a=Date.now();r.isPaused&&(r.isPaused=!1,this.onResume&&this.onResume(r,a-r.lastUpdateTick)),r.lastUpdateTick=a,Z.fpsHeartbeat(r)}const i=m(this,"throttleUpdate")(r);return i===void 0?0:i}),Qt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onInteriorChange")(a,r,i):0}),mn((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onRequestDownload")(a,r,i):0}),un((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onFinishedDownloading")(i,r):0}),F.emit(M.create,this.players),F.on(M.pause,n=>{n.isPaused=!0,this.onPause&&this.onPause(n,n.lastUpdateTick)}),F.on(M.setCommonProp,({player:n,prop:r,value:i})=>{Reflect.set(n,r,i),this.players.set(n.id,n)})}findPlayerById(t){return this.players.get(t)}getPlayersArr(){return[...this.players.values()]}getPlayersMap(){return this.players}throttleUpdate=O.throttle(t=>this.onUpdate&&this.onUpdate(t),60);static fpsHeartbeat=O.throttle(t=>{if(!k.isConnected(t.id))return;const n=t.getDrunkLevel();if(n<100){t.setDrunkLevel(2e3),t.lastDrunkLevel=2e3,t.lastFps=0;return}t.lastFps=t.lastDrunkLevel-n-1,t.lastDrunkLevel=n},1e3);onCommandText=(t,n)=>Z.cmdBus.on(this,t,n);offCommandText=(t,n)=>{Z.cmdBus.off(this,t,n)};promiseCommand=async(t,n)=>{const r=n.join(" "),i=n[0],a=Z.cmdBus.eventMap.get(i);if(!a&&this.onCommandError){this.onCommandError(t,r,Be.notExist);return}const s=a?.get(this);if(!s)return;let l=this.onCommandReceived&&this.onCommandReceived(t,r);if(l!==void 0&&(l instanceof Promise&&(l=await l),!l))return st();s.forEach(async h=>{let u=h.call(this,t,...n.slice(1));if(u instanceof Promise&&(u=await u),u==null&&(u=!1),u){let y=this.onCommandPerformed&&this.onCommandPerformed(t,r);return y instanceof Promise&&(y=await y),y?void 0:st()}m(this,"onCommandError")(t,r,Be.rejected)})}}const Hd=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],xd=[[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],[],[],[],[],[],[],[],[]],Vd=(e,t)=>{if(!Ud(e))return _.error("[vehicleUtils]: Invalid model id"),!1;const n=xd[e-400];if(n===null)return!1;const r=t-1e3;return Hd.includes(r)||n.includes(r)},Ud=e=>e>=400&&e<=611,Wd=(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};var X=(e=>(e.created="OnVehicleCreate",e.destroyed="OnVehicleDestroy",e))(X||{});const me=new L;class V{_id=-1;static createdCount=0;sourceInfo;isStatic;get id(){return this._id}constructor(t,n=!1){this.sourceInfo=t,this.isStatic=n}create(t=!1){if(this.id!==-1)return _.warn("[Vehicle]: Unable to create the vehicle again");if(V.createdCount===B.MAX_VEHICLES)return _.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelid:n,x:r,y:i,z:a,z_angle:s,colour1:l,colour2:h,respawn_delay:u,addsiren:y}=this.sourceInfo;if(!(!t&&(n<400||n>611))){if(this.isStatic){if(u===void 0){this._id=xn(n,r,i,a,s,l,h);return}this._id=Vn(n,r,i,a,s,l,h,u||-1,y||!1)}else this._id=ws(n,r,i,a,s,l,h,u||-1,y||!1);V.createdCount++,me.emit(X.created,this)}}destroy(){if(this.id===-1)return _.warn("[Vehicle]: Unable to destroy the vehicle before create");ks(this.id),V.createdCount--,me.emit(X.destroyed,this),this._id=-1}addComponent(t){return this.id===-1?0:Vd(this.getModel(),t)?qs(this.id,t):(_.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(V.getComponentType(t))===0?(_.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):$s(this.id,t)}getComponentInSlot(t){return _d(this.id,t)}static getComponentType(t){return cd(t)}linkToInterior(t){return this.id===-1?0:Qs(this.id,t)}setVirtualWorld(t){return this.id===-1?0:pd(this.id,t)}getVirtualWorld(){return this.id===-1?0:Ad(this.id)}repair(){return this.id===-1?0:hd(this.id)}setPos(t,n,r){return this.id===-1?0:Fs(this.id,t,n,r)}getPos(){if(this.id!==-1)return Ms(this.id)}getHealth(){return this.id===-1?0:rd(this.id)}setHealth(t){return this.id===-1?0:nd(this.id,t)}isPlayerIn(t){return this.id===-1?!1:gs(t.id,this.id)}putPlayerIn(t,n){return this.id===-1||n<0?0:(n>4&&_.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),Wa(t.id,this.id,n))}getZAngle(){return this.id===-1?0:Ns(this.id)}setZAngle(t){return this.id===-1?0:xs(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(_.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?od(this.id,t):(_.error("[Vehicle]: number plates only allow letters and numbers"),0)}static getPoolSize(){return Mn()}changeColours(t,n){return this.id===-1?0:ed(this.id,t,n)}setVelocity(t,n,r){return this.id===-1?0:md(this.id,t,n,r)}getVelocity(){if(this.id===-1)return;const[t,n,r]=ud(this.id);return{x:t,y:n,z:r}}setAngularVelocity(t,n,r){return this.id===-1?0:yd(this.id,t,n,r)}getDamageStatus(){if(this.id!==-1)return Sd(this.id)}updateDamageStatus(t,n,r,i){this.id!==-1&&gd(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Hs(this.id,t,n,r)}getModel(){return ld(this.id)}static getModelInfo(t,n){return Pd(t,n)}getModelInfo(t){if(this.id!==-1)return V.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,n,r,i]=vs(this.id);return{w:t,x:n,y:r,z:i}}setRespawn(){return this.id===-1?0:Js(this.id)}isStreamedIn(t){return this.id===-1?!1:Gs(this.id,t.id)}setParamsCarDoors(t,n,r,i){return this.id===-1?0:Zs(this.id,t,n,r,i)}setParamsCarWindows(t,n,r,i){return this.id===-1?0:Xs(this.id,t,n,r,i)}getParamsCarDoors(){if(this.id!==-1)return zs(this.id)}getParamsCarWindows(){if(this.id!==-1)return Ys(this.id)}setParamsEx(t,n,r,i,a,s,l){return this.id===-1?0:Ws(this.id,t,n,r,i,a,s,l)}getParamsEx(){if(this.id===-1)return;const[t,n,r,i,a,s,l]=Ks(this.id);return{engine:t,lights:n,alarm:r,doors:i,bonnet:a,boot:s,objective:l}}getParamsSirenState(){return this.id===-1?-2:js(this.id)}setParamsForPlayer(t,n,r){return this.id===-1?0:Vs(this.id,t.id,n,r)}isTrailerAttached(){return this.id===-1?!1:sd(this.id)}changePaintjob(t){return this.id===-1||!Wd(this.getModel(),t)?0:(this.changeColours("#fff","#fff"),td(this.id,t),1)}attachTrailer(t){return this.id===-1?0:id(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&ad(this.id)}getTrailer(t){if(this.id!==-1)return t.find(n=>n.id===dd(this.id))}isValid(){return ht(this.id)}static isValid(t){return ht(t)}getMatrix(){if(this.id!==-1)return c.GetVehicleMatrix(this.id)}getTrainSpeed(){return this.id===-1?0:c.GetVehicleTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===-1?0:c.GetVehicleHydraReactorAngle(this.id)}getLandingGearState(){return this.id===-1?0:c.GetVehicleLandingGearState(this.id)}getSirenState(){return this.id===-1?0:c.GetVehicleSirenState(this.id)}static getModelsUsed=c.GetVehicleModelsUsed;getDriver(t){if(this.id!==-1)return t.get(c.GetVehicleDriver(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(c.GetVehicleLastDriver(this.id))}static getModelCount=c.GetVehicleModelCount;isSirenEnabled(){return c.IsVehicleSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===-1?0:c.ToggleVehicleSirenEnabled(this.id,t)}isDead(){return this.id===-1?!0:c.IsVehicleDead(this.id)}getRespawnTick(){return this.id===-1?0:c.GetVehicleRespawnTick(this.id)}isOccupied(){return this.id===-1?!1:c.IsVehicleOccupied(this.id)}hasBeenOccupied(){return this.id===-1?!1:c.HasVehicleBeenOccupied(this.id)}getOccupiedTick(){return this.id===-1?0:c.GetVehicleOccupiedTick(this.id)}getCab(){return this.id===-1?0:c.GetVehicleCab(this.id)}getRespawnDelay(){return this.id===-1?0:c.GetVehicleRespawnDelay(this.id)}setRespawnDelay(t){return this.id===-1?0:c.SetVehicleRespawnDelay(this.id,t)}getNumberPlate(){return this.id===-1?"":c.GetVehicleNumberPlate(this.id)}getInterior(){return this.id===-1?0:c.GetVehicleInterior(this.id)}getPaintjob(){return this.id===-1?-1:c.GetVehiclePaintjob(this.id)}getColours(){if(this.id!==-1)return c.GetVehicleColours(this.id)}setSpawnInfo(t,n,r,i,a,s,l,h=-2,u=-2,y=!1){return this.id===-1||!y&&(t<400||t>611)?0:c.SetVehicleSpawnInfo(this.id,t,n,r,i,a,p(s),p(l),h,u)}getSpawnInfo(){if(this.id!==-1)return c.GetVehicleSpawnInfo(this.id)}}class Kd{vehicles=new Map;players;constructor(t,n=!0){this.players=t,me.on(X.created,r=>{this.vehicles.set(r.id,r)}),me.on(X.destroyed,r=>{this.vehicles.delete(r.id)}),n&&T(()=>{this.vehicles.forEach(r=>r.destroy()),this.vehicles.clear()}),Xt((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onDamageStatusUpdate")(a,s):0}),vt((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onDeath")(a,s):0}),Kt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 1;const l=this.findVehicleById(i);return l?m(this,"onMod")(s,l,a):1}),Zt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 1;const l=this.findVehicleById(i);return l?m(this,"onPaintjob")(s,l,a):1}),zt((r,i,a,s)=>{const l=this.findPlayerById(r);if(!l)return 1;const h=this.findVehicleById(i);return h?m(this,"onRespray")(l,h,a,s):1}),hn((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 0;const l=this.findVehicleById(i);return l?m(this,"onSirenStateChange")(s,l,Boolean(a)):0}),Nt(r=>{const i=this.findVehicleById(r);return i?m(this,"onSpawn")(i):1}),nn((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onStreamIn")(a,s):0}),rn((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onStreamOut")(a,s):0}),xt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 0;const l=this.findVehicleById(i);return l?m(this,"onPlayerEnter")(s,l,Boolean(a)):0}),Vt((r,i)=>{const a=this.findPlayerById(r);if(!a)return 0;const s=this.findVehicleById(i);return s?m(this,"onPlayerExit")(a,s):0}),gn((r,i)=>{const a=this.findVehicleById(r);return a?m(this,"onNpcEnter")(a,i):0}),Pn(m(this,"onNpcExit")),cn((r,i)=>{const a=this.findPlayerById(r);if(!a)return 0;const s=this.findVehicleById(i);return s?m(this,"onTrailerUpdate")(a,s):0})}findVehicleById(t){return this.vehicles.get(t)}findPlayerById(t){return this.players.get(t)}getVehiclesArr(){return[...this.vehicles.values()]}getVehiclesMap(){return this.vehicles}}const x=[],K=[],we=e=>{setTimeout(async()=>{try{const t=x.findIndex(r=>r.name===e);if(t===-1)return;const n=x[t];await n.load(),x.splice(t,1),K.push(n)}catch(t){_.error(`[GameMode]: script ${e} load fail`),_.warn(new Error(JSON.stringify(t)))}})},ke=e=>{setTimeout(async()=>{try{const t=K.findIndex(r=>r.name===e);if(t===-1)return;const n=K[t];await n.unload(),K.splice(t,1),x.push(n)}catch(t){_.error(`[GameMode]: script ${e} unload fail`),_.warn(new Error(JSON.stringify(t)))}})},jd=e=>{ke(e),we(e)};dt(()=>{x.forEach(e=>we(e.name))}),T(()=>{K.forEach(e=>ke(e.name))});const Zd=function(e,...t){if(x.some(n=>n===e)||K.some(n=>n===e)){_.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),x.push(e)};class se{static charset=R;initialized=!1;constructor(){dt(()=>{if(this.initialized)return _.error("[GameMode]: Cannot be initialized more than once");se.supportAllNickname(),this.initialized=!0,this.onInit&&this.onInit()}),T(()=>{if(!this.initialized)return _.error("[GameMode]: Cannot unload more than once");this.initialized=!1,this.onExit&&this.onExit()}),_n(m(this,"onIncomingConnection")),Et(m(this,"onRconCommand")),Tt(m(this,"onRconLoginAttempt"))}isInitialized(){return this.initialized}static exit(){Kn()}static use=(t,...n)=>(Zd(t,...n),this);static loadScript=we;static unloadScript=ke;static reloadScript=jd;static supportAllNickname(){for(let t=0;t<=255;t++)se.isNickNameCharacterAllowed(t)||se.allowNickNameCharacter(t,!0)}static allowAdminTeleport=c.AllowAdminTeleport;static isAdminTeleportAllowed=c.IsAdminTeleportAllowed;static allowInteriorWeapons=c.AllowInteriorWeapons;static areInteriorWeaponsAllowed=c.AreInteriorWeaponsAllowed;static areAllAnimationsEnabled=c.AreAllAnimationsEnabled;static enableAllAnimations=c.EnableAllAnimations;static enableStuntBonusForAll=fs;static enableVehicleFriendlyFire=Zn;static enableZoneNames=Qn;static disableInteriorEnterExits=$n;static setGameModeText=Fn;static getGravity=Xn;static setGravity=Yn;static showNameTags=Un;static disableNameTagLOS=tr;static usePlayerPedAnims=qn;static showPlayerMarkers=Wn;static limitPlayerMarkerRadius=rr;static limitGlobalChatRadius=nr;static setNameTagDrawDistance=er;static setWeather(t){return t<0||t>255?(_.error("[GameMode]: The valid weather value is only 0 to 255"),0):zn(t)}static setWorldTime(t){return t<0||t>23?(_.error("[GameMode]: The valid hour value is only 0 to 23"),0):jn(t)}static setTeamCount=Nn;static sendRconCommand=lr;static addPlayerClass=vn;static addPlayerClassEx=Hn;static createExplosion(t,n,r,i,a){return i<0||i>13?(_.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Jn(t,n,r,i,a)}static manualVehicleEngineAndLights=Us;static blockIpAddress=hr;static unBlockIpAddress=ur;static getServerTickRate=mr;static addSimpleModel(t,n,r,i,a){return this.checkSimpleModel(t,n,r,i,a)?Ld(t,n,r,i,a):0}static addSimpleModelTimed(t,n,r,i,a,s,l){return this.checkSimpleModel(t,n,r,i,a,s,l)?Rd(t,n,r,i,a,s,l):0}static checkSimpleModel(t,n,r,i,a,s,l){return t<-1?(_.error("[GameMode]: AddSimpleModel - Error virtual world"),0):n<0?(_.error("[GameMode]: AddSimpleModel - Error baseid"),0):r>-1e3||r<-3e4?(_.error("[GameMode]: AddSimpleModel - Error newid range"),0):i.trim().length<0?(_.error("[GameMode]: AddSimpleModel - Empty dffname"),0):a.trim().length<0?(_.error("[GameMode]: AddSimpleModel - Empty txdname"),0):s!==void 0&&(s<0||s>23)?(_.error("[GameMode]: AddSimpleModel - Error time on range"),0):l!==void 0&&(l<0||l>23)?(_.error("[GameMode]: AddSimpleModel - Error time off range"),0):1}static findModelFileNameFromCRC=Gd;static findTextureFileNameFromCRC=Md;static getWeaponName=bd;static setObjectsDefaultCameraCollision=ui;static vectorSize=kn;static clearBanList=c.ClearBanList;static isBanned=c.IsBanned;static isValidNickName=c.IsValidNickName;static allowNickNameCharacter=c.AllowNickNameCharacter;static isNickNameCharacterAllowed=c.IsNickNameCharacterAllowed;static addServerRule=c.AddServerRule;static setServerRule=c.SetServerRule;static isValidServerRule=c.IsValidServerRule;static removeServerRule=c.RemoveServerRule;static getWeaponSlot=c.GetWeaponSlot;static getAvailableClasses=c.GetAvailableClasses;static getPlayerClass=c.GetPlayerClass;static editPlayerClass=c.EditPlayerClass;static toggleChatTextReplacement=c.ToggleChatTextReplacement;static chatTextReplacementToggled=c.ChatTextReplacementToggled}class zd{constructor(){}static getNetworkStats(){return cr()}static getPlayerNetworkStats(t){return _r(t.id)}static getBytesReceived(t){return gr(t.id)}static getBytesSent(t){return pr(t.id)}static getConnectionStatus(t){return fr(t.id)}static getConnectedTime(t){return yr(t.id)}static getIpPort(t){return Od(t.id)}static getMessagesReceived(t){return Sr(t.id)}static getMessagesRecvPerSecond(t){return Ar(t.id)}static getMessagesSent(t){return Pr(t.id)}static getPacketLossPercent(t){return Ir(t.id)}}class Xd{_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){Rn(t)}static has(t,n){return On(t.id,n)}forAll(){Ln(this.text,this.time,this.style)}forPlayer(t){bn(t.id,this.text,this.time,this.style)}hideForPlayer(t){return Bn(t.id,this.style)}}var Y=(e=>(e.created="OnMenuCreate",e.destroyed="OnMenuDestroy",e))(Y||{});const ye=new L;class Te{static menuCount=0;_id=-1;_itemCount=0;get itemCount(){return this._itemCount}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){_.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,a,s){this._title=t,this.columns=n,this._x=r,this._y=i,this._col1width=a,this._col2width=s}create(){return this._id!==-1?_.error("[Menu]: Cannot be created twice"):Te.menuCount===B.MAX_MENUS?_.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=Cr(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),ye.emit(Y.created,this),Te.menuCount++,this)}destroy(){return this._id===-1?_.error("[Menu]: Cannot destroy before create"):(Er(this.id),ye.emit(Y.destroyed,this),this)}addItem(t,n){return this._id===-1?_.error("[Menu]: Cannot addItem before create"):this._itemCount===B.MAX_MENU_ROW?_.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?_.error("[Menu]: Wrong number of columns"):(Tr(this.id,t,n),this._itemCount++,this)}setColumnHeader(t,n){return this._id===-1?_.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?_.error("[Menu]: Wrong number of columns"):(Dr(this.id,t,n),this)}disable(){return this._id===-1?_.error("[Menu]: Cannot disable menu before create"):(Or(this.id),this)}disableRow(t){if(this._id===-1)return _.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return _.error("[Menu]: Wrong number of rows");Br(this.id,t)}isValid(){return br(this.id)}showForPlayer(t){return this._id===-1?_.error("[Menu]: Cannot show menu before create"):Lr(this.id,t.id)}hideForPlayer(t){return this._id===-1?_.error("[Menu]: Cannot hide menu before create"):Rr(this.id,t.id)}static getMenu(t,n){return n.find(r=>r.id===Oe(t.id))}isDisabled(){return this._id===-1?!1:c.IsMenuDisabled(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:c.IsMenuRowDisabled(this.id,t)}getItems(t){return this._id===-1?0:c.GetMenuItems(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:c.GetMenuPos(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:c.GetMenuColumnWidth(this.id)}getColumnHeader(t){return this._id===-1?_.error("[Menu]: Cannot get column header before create"):c.GetMenuColumnHeader(this.id,t)}getItem(t,n){if(this._id===-1)return _.error("[Menu]: Cannot get item before create");if(!(n<0||n>this.getItems(t)-1))return c.GetMenuItem(this.id,t,n)}}class Yd{menus=new Map;players;constructor(t,n=!0){this.players=t,ye.on(Y.created,r=>{this.menus.set(r.id,r)}),ye.on(Y.destroyed,r=>{this.menus.delete(r.id)}),n&&T(()=>{this.menus.forEach(r=>r.destroy()),this.menus.clear()}),Jt(r=>{const i=this.findMenuById(Oe(r));if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onPlayerExited")(a,i):0}),Yt((r,i)=>{const a=this.findMenuById(Oe(r));if(!a)return 0;const s=this.findPlayerById(r);return s?m(this,"onPlayerSelectedRow")(s,a,i):0})}findPlayerById(t){return this.players.get(t)}findMenuById(t){if(t!==C.MENU)return this.menus.get(t)}getMenusArr(){return[...this.menus.values()]}getMenusMap(){return this.menus}}var J=(e=>(e.created="OnGangZoneCreate",e.destroyed="OnGangZoneDestroy",e))(J||{});const Se=new L;class N{_id=-1;static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;constructor(t){this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return _.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(N.createdPlayerCount===B.MAX_GANG_ZONES)return _.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minx:n,miny:r,maxx:i,maxy:a}=this.sourceInfo;this._id=c.CreatePlayerGangZone(t.id,n,r,i,a),N.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(N.createdGlobalCount===B.MAX_GANG_ZONES)return _.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minx:n,miny:r,maxx:i,maxy:a}=this.sourceInfo;this._id=ei(n,r,i,a),N.createdGlobalCount++}Se.emit(J.created,{key:{id:this.id,global:t===void 0},value:this})}destroy(){if(this.id===-1)return _.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(c.PlayerGangZoneDestroy(t.id,this.id),N.createdPlayerCount--):(ti(this.id),N.createdGlobalCount--),Se.emit(J.destroyed,{id:this.id,global:t===void 0}),this._id=-1}showForAll(t){return this.id===-1?_.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be show for all."):(ri(this.id,t),this)}showForPlayer(t,n){if(this.id===-1)return _.warn("[GangZone]: Unable to show the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneShow(r.id,this.id,p(t));else if(n)ni(n.id,this.id,t);else return _.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?_.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be hide for all."):(ai(this.id),this)}hideForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to hide the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneHide(n.id,this.id);else if(t)ii(t.id,this.id);else return _.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?_.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be flash for all."):(di(this.id,t),this)}flashForPlayer(t,n){if(this.id===-1)return _.warn("[GangZone]: Unable to flash the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneFlash(r.id,this.id,p(n));else if(t)si(t.id,this.id,n);else return _.warn("[GangZone]: invalid player for flash");return this}StopFlashForAll(){return this.id===-1?_.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be stop flash for all."):(li(this.id),this)}StopFlashForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to stop flash the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneStopFlash(n.id,this.id);else if(t)oi(t.id,this.id);else return _.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.IsValidPlayerGangZone(t.id,this.id):c.IsValidGangZone(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerInPlayerGangZone(n.id,this.id):c.IsPlayerInGangZone(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneVisible(n.id,this.id):c.IsGangZoneVisibleForPlayer(t.id,this.id)}getColourForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to get colour before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetColour(n.id,this.id):c.GangZoneGetColourForPlayer(t.id,this.id)}getFlashColourForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to get flash colour before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetFlashColour(n.id,this.id):c.GangZoneGetFlashColourForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneFlashing(n.id,this.id):c.IsGangZoneFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===-1)return _.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?c.PlayerGangZoneGetPos(t.id,this.id):c.GangZoneGetPos(this.id)}useCheck(t){if(this.id===-1)return _.warn("[GangZone]: Unable to use check before create");const n=this.sourceInfo.player;return n?c.UsePlayerGangZoneCheck(n.id,this.id,t):c.UseGangZoneCheck(this.id,t),this}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}}class Jd{gangZones=new Map;players;constructor(t,n=!0){this.players=t,Se.on(J.created,r=>{this.gangZones.set(r.key,r.value)}),Se.on(J.destroyed,r=>{this.gangZones.has(r)&&this.gangZones.delete(r)}),n&&T(()=>{this.gangZones.forEach(r=>r.destroy()),this.gangZones.clear()}),c.OnPlayerEnterGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!0});return s?m(this,"onPlayerEnter")(a,s):0}),c.OnPlayerEnterPlayerGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!1});return s?m(this,"onPlayerEnter")(a,s):0}),c.OnPlayerLeaveGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!0});return s?m(this,"onPlayerLeave")(a,s):0}),c.OnPlayerLeavePlayerGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!1});return s?m(this,"onPlayerLeave")(a,s):0})}}class A{constructor(){}static getTickRate=o.Streamer_GetTickRate;static setTickRate=o.Streamer_SetTickRate;static getPlayerTickRate(t){return o.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,n=50){return o.Streamer_SetPlayerTickRate(t.id,n)}static toggleChunkStream=o.Streamer_ToggleChunkStream;static isToggleChunkStream=o.Streamer_IsToggleChunkStream;static getChunkTickRate(t,n=-1){return n instanceof k?o.Streamer_GetChunkTickRate(t,n.id):o.Streamer_GetChunkTickRate(t,n)}static setChunkTickRate(t,n,r=-1){return r instanceof k?o.Streamer_SetChunkTickRate(t,n,r.id):o.Streamer_SetChunkTickRate(t,n,r)}static getChunkSize=o.Streamer_GetChunkSize;static setChunkSize=o.Streamer_SetChunkSize;static getMaxItems=o.Streamer_GetMaxItems;static setMaxItems=o.Streamer_SetMaxItems;static getVisibleItems(t,n=-1){return n instanceof k?o.Streamer_GetVisibleItems(t,n.id):o.Streamer_GetVisibleItems(t,n)}static setVisibleItems(t,n,r=-1){return r instanceof k?o.Streamer_SetVisibleItems(t,n,r.id):o.Streamer_SetVisibleItems(t,n,r)}static getRadiusMultiplier(t,n=-1){return n instanceof k?o.Streamer_GetRadiusMultiplier(t,n.id):o.Streamer_GetRadiusMultiplier(t,n)}static setRadiusMultiplier(t,n,r=-1){return r instanceof k?o.Streamer_SetRadiusMultiplier(t,r.id):o.Streamer_SetRadiusMultiplier(t,n,r)}static getTypePriority=o.Streamer_GetTypePriority;static setTypePriority=o.Streamer_SetTypePriority;static getCellDistance=o.Streamer_GetCellDistance;static setCellDistance=o.Streamer_SetCellDistance;static getCellSize=o.Streamer_GetCellSize;static setCellSize=o.Streamer_SetCellSize;static toggleItemStatic=o.Streamer_ToggleItemStatic;static isToggleItemStatic=o.Streamer_IsToggleItemStatic;static toggleItemInvAreas=o.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=o.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=o.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=o.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=o.Streamer_ToggleErrorCallback;static isToggleErrorCallback=o.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=o.Streamer_AmxUnloadDestroyItems;static processActiveItems=o.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,n){return o.Streamer_ToggleIdleUpdate(t.id,n)}static isToggleIdleUpdate(t){return o.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,n){return o.Streamer_ToggleCameraUpdate(t.id,n)}static isToggleCameraUpdate(t){return o.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,n,r){return o.Streamer_ToggleItemUpdate(t.id,n,r)}static isToggleItemUpdate(t,n){return o.Streamer_IsToggleItemUpdate(t.id,n)}static getLastUpdateTime(){return o.Streamer_GetLastUpdateTime()}static update(t,n=-1){return o.Streamer_Update(t.id,n)}static updateEx(t,n,r,i,a,s,l,h,u){return o.Streamer_UpdateEx(t.id,n,r,i,a,s,l,h,u)}static getDistanceToItem=o.Streamer_GetDistanceToItem;static toggleItem(t,n,r,i){return o.Streamer_ToggleItem(t.id,n,r,i)}static isToggleItem(t,n,r){return o.Streamer_IsToggleItem(t.id,n,r)}static toggleAllItems(t,n,r,i=[-1]){return o.Streamer_ToggleAllItems(t.id,n,r,i)}static getItemInternalID(t,n,r){return o.Streamer_GetItemInternalID(t.id,n,r)}static getItemStreamerID(t,n,r){return o.Streamer_GetItemStreamerID(t.id,n,r)}static isItemVisible(t,n,r){return o.Streamer_IsItemVisible(t.id,n,r)}static destroyAllVisibleItems(t,n,r=1){return o.Streamer_DestroyAllVisibleItems(t.id,n,r)}static countVisibleItems(t,n,r=1){return o.Streamer_CountVisibleItems(t.id,n,r)}static destroyAllItems=o.Streamer_DestroyAllItems;static countItems=o.Streamer_CountItems;static getNearbyItems=o.Streamer_GetNearbyItems;static getAllVisibleItems(t,n,r){o.Streamer_GetAllVisibleItems(t.id,n,r)}static getItemPos=o.Streamer_GetItemPos;static setItemPos=o.Streamer_SetItemPos;static getItemOffset=o.Streamer_GetItemOffset;static setItemOffset=o.Streamer_SetItemOffset;static getFloatData=o.Streamer_GetFloatData;static setFloatData=o.Streamer_SetFloatData;static getIntData=o.Streamer_GetIntData;static setIntData=o.Streamer_SetIntData;static getArrayData=o.Streamer_GetArrayData;static setArrayData=o.Streamer_SetArrayData;static isInArrayData=o.Streamer_IsInArrayData;static appendArrayData=o.Streamer_AppendArrayData;static removeArrayData=o.Streamer_RemoveArrayData;static getArrayDataLength=o.Streamer_GetArrayDataLength;static getUpperBound=o.Streamer_GetUpperBound;static onItemStreamIn=o.Streamer_OnItemStreamIn;static onItemStreamOut=o.Streamer_OnItemStreamOut;static onPluginError=o.Streamer_OnPluginError}var j=(e=>(e.created="OnMapIconCreate",e.destroyed="OnMapIconDestroy",e))(j||{});const Q=new L;class Qd{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamdistance:n,worldid:r,interiorid:i,playerid:a,areaid:s,priority:l}=this.sourceInfo;const{x:h,y:u,z:y,type:S,colour:P,extended:f}=this.sourceInfo;return S<0||S>63?_.error("[StreamerMapIcon]: Invalid map icon type"):(t??=o.MapIconStyles.LOCAL,n??=o.StreamerDistances.MAP_ICON_SD,l??=0,f?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=o.CreateDynamicMapIconEx(h,u,y,S,p(P),t,n,r,i,a,s,l),Q.emit(j.created,this),this):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=o.CreateDynamicMapIcon(h,u,y,S,p(P),r,i,a,n,t,s,l),Q.emit(j.created,this),this))}destroy(){return this.id===-1?_.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(o.DestroyDynamicMapIcon(this.id),Q.emit(j.destroyed,this),this)}isValid(){return o.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.MAP_ICON,this.id)}}class qd{mapIcons=new Map;players;constructor(t,n=!0){this.players=t,Q.on(j.created,r=>{this.mapIcons.set(r.id,r)}),Q.on(j.destroyed,r=>{this.mapIcons.delete(r.id)}),n&&T(()=>{this.mapIcons.forEach(r=>r.destroy()),this.mapIcons.clear()}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.MAP_ICON){const s=this.mapIcons.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.MAP_ICON){const s=this.mapIcons.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getMapIconsArr(){return[...this.mapIcons.values()]}getMapIconsMap(){return this.mapIcons}}var q=(e=>(e.created="OnPickupCreate",e.destroyed="OnPickupDestroy",e))(q||{});const ge=new L;class $d{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerPickup]: Unable to create pickup again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{type:l,modelid:h,x:u,y,z:S,extended:P}=this.sourceInfo;return l<0||l>22?_.error("[StreamerPickup]: Invalid pickup type"):(t??=o.StreamerDistances.PICKUP_SD,s??=0,P?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicPickupEx(h,l,u,y,S,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicPickup(h,l,u,y,S,n,r,i,t,a,s)),ge.emit(q.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(o.DestroyDynamicPickup(this.id),ge.emit(q.destroyed,this),this)}isValid(){return o.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerPickup]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.PICKUP,this.id)}}class eo{pickups=new Map;players;constructor(t,n=!0){this.players=t,ge.on(q.created,r=>{this.pickups.set(r.id,r)}),ge.on(q.destroyed,r=>{this.pickups.delete(r.id)}),n&&T(()=>{this.pickups.forEach(r=>r.destroy()),this.pickups.clear()}),o.OnPlayerPickUpDynamicPickup((r,i)=>{const a=this.pickups.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerPickUp")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.PICKUP){const s=this.pickups.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.PICKUP){const s=this.pickups.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getPickupsArr(){return[...this.pickups.values()]}getPickupsMap(){return this.pickups}}var $=(e=>(e.created="OnCheckPointCreate",e.destroyed="OnCheckPointDestroy",e))($||{});const Pe=new L;class to{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{size:l,x:h,y:u,z:y,extended:S}=this.sourceInfo;return l<0?_.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=o.StreamerDistances.CP_SD,s??=0,S?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicCPEx(h,u,y,l,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicCP(h,u,y,l,n,r,i,t,a,s)),Pe.emit($.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(o.DestroyDynamicCP(this.id),Pe.emit($.destroyed,this),this)}isValid(){return o.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(o.TogglePlayerDynamicCP(t.id,this.id,n),this)}static togglePlayerAll(t,n){return o.TogglePlayerAllDynamicCPs(t.id,n)}isPlayerIn(t){return this.id===-1?!1:o.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t,n){return n.get(o.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.CP,this.id)}}class no{checkpoints=new Map;players;constructor(t,n=!0){this.players=t,Pe.on($.created,r=>{this.checkpoints.set(r.id,r)}),Pe.on($.destroyed,r=>{this.checkpoints.delete(r.id)}),n&&T(()=>{this.checkpoints.forEach(r=>r.destroy()),this.checkpoints.clear()}),o.OnPlayerEnterDynamicCP((r,i)=>{const a=this.checkpoints.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerEnter")(s,a):0}),o.OnPlayerLeaveDynamicCP((r,i)=>{const a=this.checkpoints.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerLeave")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.CP){const s=this.checkpoints.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.CP){const s=this.checkpoints.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getCheckPointsArr(){return[...this.checkpoints.values()]}getCheckPointsMap(){return this.checkpoints}}var ee=(e=>(e.created="OnRaceCPCreate",e.destroyed="OnRaceCPDestroy",e))(ee||{});const pe=new L;class ro{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{type:l,size:h,x:u,y,z:S,nextx:P,nexty:f,nextz:E,extended:b}=this.sourceInfo;return l<0||l>8?_.error("[StreamerRaceCP]: Invalid type"):h<0?_.error("[StreamerRaceCP]: Invalid size"):(t??=o.StreamerDistances.RACE_CP_SD,s??=0,b?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicRaceCPEx(l,u,y,S,P,f,E,h,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicRaceCP(l,u,y,S,P,f,E,h,n,r,i,t,a,s)),pe.emit(ee.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(o.DestroyDynamicCP(this.id),pe.emit(ee.destroyed,this),this)}isValid(){return o.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(o.TogglePlayerDynamicRaceCP(t.id,this.id,n),this)}static togglePlayerAll(t,n){return o.TogglePlayerAllDynamicRaceCPs(t.id,n)}isPlayerIn(t){return this.id===-1?!1:o.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t,n){return n.get(o.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.RACE_CP,this.id)}}class io{raceCPs=new Map;players;constructor(t,n=!0){this.players=t,pe.on(ee.created,r=>{this.raceCPs.set(r.id,r)}),pe.on(ee.destroyed,r=>{this.raceCPs.delete(r.id)}),n&&T(()=>{this.raceCPs.forEach(r=>r.destroy()),this.raceCPs.clear()}),o.OnPlayerEnterDynamicRaceCP((r,i)=>{const a=this.raceCPs.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerEnter")(s,a):0}),o.OnPlayerLeaveDynamicRaceCP((r,i)=>{const a=this.raceCPs.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerLeave")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.RACE_CP){const s=this.raceCPs.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.RACE_CP){const s=this.raceCPs.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getRaceCPsArr(){return[...this.raceCPs.values()]}getRaceCPsMap(){return this.raceCPs}}var te=(e=>(e.created="OnActorCreate",e.destroyed="OnActorDestroy",e))(te||{});const Ae=new L;class ao{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerActor]: Unable to create actor again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{modelid:l,x:h,y:u,z:y,r:S,invulnerable:P,health:f,extended:E}=this.sourceInfo;return t??=o.StreamerDistances.ACTOR_SD,s??=0,E?(typeof n=="number"?n=[0]:n??=[0],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicActorEx(l,h,u,y,S,P,f,t,n,r,i,a,s)):(Array.isArray(n)?n=0:n??=0,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicActor(l,h,u,y,S,P,f,n,r,i,t,a,s)),Ae.emit(te.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerActor]: Unable to destroy the actor before create"):(o.DestroyDynamicActor(this.id),Ae.emit(te.destroyed,this),this)}isValid(){return o.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:o.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?_.warn("[StreamerActor]: Unable to get virtual world before create"):o.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set virtual world before create"):o.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,n,r=!1,i=!0,a=!0,s=!1){if(this.id===-1)return _.warn("[StreamerActor]: Unable to apply animation before create");const l=ut(t,n);return l===void 0?_.error("[StreamerActor]: Invalid anim library or name"):o.ApplyDynamicActorAnimation(this.id,t,n,4.1,r,i,a,s,r?0:l)}clearAnimations(){return this.id===-1?_.warn("[StreamerActor]: Unable to clear animation before create"):o.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?_.warn("[StreamerActor]: Unable to get facing angle before create"):o.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set facing angle before create"):o.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?_.warn("[StreamerActor]: Unable to get pos before create"):o.GetDynamicActorPos(this.id)}setPos(t,n,r){return this.id===-1?_.warn("[StreamerActor]: Unable to set pos before create"):o.SetDynamicActorPos(this.id,t,n,r)}getHealth(){return this.id===-1?_.warn("[StreamerActor]: Unable to get health before create"):o.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set health before create"):o.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:o.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?_.warn("[StreamerActor]: Unable to set invulnerable before create"):o.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t,n){if(this.id===-1)return;const r=o.GetPlayerTargetDynamicActor(t.id);return n.get(r)}getPlayerCameraTarget(t,n){if(this.id===-1)return;const r=o.GetPlayerCameraTargetDynActor(t.id);return n.get(r)}getSkin(){return this.id===-1?_.warn("[StreamerActor]: Unable to get skin before create"):c.GetActorSkin(this.id)}setSkin(t,n=!1){return this.id===-1?_.warn("[StreamerActor]: Unable to set skin before create"):!n&&(t<0||t>311||t==74)?0:c.SetActorSkin(this.id,t)}getSpawnInfo(){return this.id===-1?_.warn("[StreamerActor]: Unable to get spawn info before create"):c.GetActorSpawnInfo(this.id)}getAnimation(){return this.id===-1?_.warn("[StreamerActor]: Unable to get animation before create"):c.GetActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerActor]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.ACTOR,this.id)}}class so{actors=new Map;players;constructor(t,n=!0){this.players=t,Ae.on(te.created,r=>{this.actors.set(r.id,r)}),Ae.on(te.destroyed,r=>{this.actors.delete(r.id)}),n&&T(()=>{this.actors.forEach(r=>r.destroy()),this.actors.clear()}),o.OnDynamicActorStreamIn((r,i)=>{const a=this.actors.get(r);if(!a)return 0;const s=this.players.get(i);return s?m(this,"onStreamIn")(a,s):0}),o.OnDynamicActorStreamOut((r,i)=>{const a=this.actors.get(r);if(!a)return 0;const s=this.players.get(i);return s?m(this,"onStreamOut")(a,s):0}),o.OnPlayerGiveDamageDynamicActor((r,i,a,s,l)=>{const h=this.actors.get(i);if(!h)return 0;const u=this.players.get(r);return u?m(this,"onPlayerGiveDamage")(u,h,a,s,l):0})}getActorsArr(){return[...this.actors.values()]}getActorsMap(){return this.actors}}var ne=(e=>(e.created="On3dTextCreate",e.destroyed="On3dTextDestroy",e))(ne||{});const Ie=new L;class oo{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedplayer:t,attachedvehicle:n,testlos:r,streamdistance:i,worldid:a,interiorid:s,playerid:l,areaid:h,priority:u}=this.sourceInfo;const{charset:y,text:S,colour:P,drawdistance:f,x:E,y:b,z:U,extended:mt}=this.sourceInfo;return t??=C.PLAYER_ID,n??=C.VEHICLE_ID,i??=o.StreamerDistances.TEXT_3D_LABEL_SD,r??=!1,u??=0,mt?(typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof h=="number"?h=[-1]:h??=[-1],this._id=Ot(S,p(P),E,b,U,f,t,n,r,i,a,s,l,h,u,y||R)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(h)?h=-1:h??=-1,this._id=bt(y||R,S,p(P),E,b,U,f,t,n,r,a,s,l,i,h,u)),Ie.emit(ne.created,this),this}destroy(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(o.DestroyDynamic3DTextLabel(this.id),Ie.emit(ne.destroyed,this),this)}isValid(){return o.IsValidDynamic3DTextLabel(this.id)}getColour(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get colour before create"):this.sourceInfo.colour}getCharset(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get text before create"):wt(this.id,this.sourceInfo.charset||R)}updateText(t,n,r=this.sourceInfo.charset){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=r,Bt(this.id,p(t),n,r||R))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.TEXT_3D_LABEL,this.id)}}class lo{_3dTexts=new Map;players;constructor(t,n=!0){this.players=t,Ie.on(ne.created,r=>{this._3dTexts.set(r.id,r)}),Ie.on(ne.destroyed,r=>{this._3dTexts.delete(r.id)}),n&&T(()=>{this._3dTexts.forEach(r=>r.destroy()),this._3dTexts.clear()}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.TEXT_3D_LABEL){const s=this._3dTexts.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.TEXT_3D_LABEL){const s=this._3dTexts.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}get3dTextLabelsArr(){return[...this._3dTexts.values()]}get3dTextLabelsMap(){return this._3dTexts}}var re=(e=>(e.created="OnObjectCreate",e.destroyed="OnObjectDestroy",e))(re||{});const fe=new L;class _o{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerObject]: Unable to create object again");let{streamdistance:t,drawdistance:n,worldid:r,interiorid:i,playerid:a,areaid:s,priority:l}=this.sourceInfo;const{modelid:h,x:u,y,z:S,rx:P,ry:f,rz:E,extended:b}=this.sourceInfo;return t??=o.StreamerDistances.OBJECT_SD,n??=o.StreamerDistances.OBJECT_DD,l??=0,b?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=o.CreateDynamicObjectEx(h,u,y,S,P,f,E,t,n,r,i,a,s,l)):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=o.CreateDynamicObject(h,u,y,S,P,f,E,r,i,a,t,n,s,l)),fe.emit(re.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerObject]: Unable to destroy the object before create"):(o.DestroyDynamicObject(this.id),fe.emit(re.destroyed,this),this)}isValid(){return o.IsValidDynamicObject(this.id)}getPos(){return this.id===-1?_.warn("[StreamerObject]: Cannot get position before create"):o.GetDynamicObjectPos(this.id)}setPos(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Cannot set position before create"):o.SetDynamicObjectPos(this.id,t,n,r)}getRot(){return this.id===-1?_.warn("[StreamerObject]: Cannot get rotation before create"):o.GetDynamicObjectRot(this.id)}setRot(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Cannot set rotation before create"):o.SetDynamicObjectRot(this.id,t,n,r)}move(t,n,r,i,a=-1e3,s=-1e3,l=-1e3){return this.id===-1?_.warn("[StreamerObject]: Cannot start moving before create"):i<0?_.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&_.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),o.MoveDynamicObject(this.id,t,n,r,i,a,s,l))}stop(){return this.id===-1?_.warn("[StreamerObject]: Cannot stop moving before create"):o.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:o.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachCamera before both are created"):o.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,n,r,i,a,s,l,h=!0){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToObject before both are created"):o.AttachDynamicObjectToObject(this.id,t.id,n,r,i,a,s,l,h)}attachToPlayer(t,n,r,i,a,s,l){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):o.AttachDynamicObjectToPlayer(this.id,t.id,n,r,i,a,s,l)}attachToVehicle(t,n,r,i,a,s,l){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):o.AttachDynamicObjectToVehicle(this.id,t.id,n,r,i,a,s,l)}edit(t){return this.id===-1?_.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),o.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:o.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:o.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Unable to get material before create"):o.GetDynamicObjectMaterial(this.id,t,n,r)}setMaterial(t,n,r,i,a="#000"){return this.id===-1?_.warn("[StreamerObject]: Unable to set material before create"):o.SetDynamicObjectMaterial(this.id,t,n,r,i,p(a))}isMaterialTextUsed(t){return this.id===-1?!1:o.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?o.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?_.warn("[StreamerObject]: Unable to get material text before create"):Gt(this.id,t,this.sourceInfo.charset||R)}setMaterialText(t=this.sourceInfo.charset,n,r,i=o.MaterialTextSizes.SIZE_256x128,a="Arial",s=24,l=1,h="#fff",u="#000",y=0){return this.id===-1?_.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,kt(t||R,this.id,n,r,i,a,s,l,p(h),p(u),y))}getPlayerCameraTarget(t,n){const r=o.GetPlayerCameraTargetDynObject(t.id);if(r!==C.OBJECT_ID)return n.get(r)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerObject]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.OBJECT,this.id)}}class co{objects=new Map;players;constructor(t,n=!0){this.players=t,fe.on(re.created,r=>{this.objects.set(r.id,r)}),fe.on(re.destroyed,r=>{this.objects.delete(r.id)}),n&&T(()=>{this.objects.forEach(r=>r.destroy()),this.objects.clear()}),o.OnDynamicObjectMoved(r=>{const i=this.objects.get(r);return i?m(this,"onMoved")(i):0}),o.OnPlayerEditDynamicObject((r,i,a,s,l,h,u,y,S)=>{const P=this.objects.get(i);if(!P)return 0;const f=this.players.get(r);return f?m(this,"onPlayerEdit")(f,P,a,s,l,h,u,y,S):0}),o.OnPlayerSelectDynamicObject((r,i,a,s,l,h)=>{const u=this.players.get(r);if(!u)return 0;const y=this.objects.get(i);return y?m(this,"onPlayerSelect")(u,y,a,s,l,h):0}),o.OnPlayerShootDynamicObject((r,i,a,s,l,h)=>{const u=this.players.get(r);if(!u)return 0;const y=this.objects.get(a);return y?m(this,"onPlayerShoot")(u,i,y,s,l,h):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.OBJECT){const s=this.objects.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.OBJECT){const s=this.objects.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getObjectsArr(){return[...this.objects.values()]}getObjectsMap(){return this.objects}}var ie=(e=>(e.created="OnAreaCreate",e.destroyed="OnAreaDestroy",e))(ie||{});const Ce=new L;class de{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 _.warn("[StreamerArea]: Unable to create area again");let{worldid:t,interiorid:n,playerid:r}=this.sourceInfo;const{type:i,extended:a}=this.sourceInfo;if(a)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:s,y:l,size:h}=this.sourceInfo;if(h<0)return _.error("[StreamerArea]: Invalid circle extend size");this._id=o.CreateDynamicCircleEx(s,l,h,t,n,r)}else if(i==="cuboid"){const{minx:s,miny:l,minz:h,maxx:u,maxy:y,maxz:S}=this.sourceInfo;this._id=o.CreateDynamicCuboidEx(s,l,h,u,y,S,t,n,r)}else if(i==="cylinder"){const{x:s,y:l,minz:h,maxz:u,size:y}=this.sourceInfo;if(y<0)return _.error("[StreamerArea]: Invalid cylinder extend size");this._id=o.CreateDynamicCylinderEx(s,l,h,u,y,t,n,r)}else if(i==="polygon"){const{points:s,minz:l,maxz:h}=this.sourceInfo;if(s.length%2!==0)return _.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=o.CreateDynamicPolygonEx(s,l,h,t,n,r)}else if(i==="rectangle"){const{minx:s,miny:l,maxx:h,maxy:u}=this.sourceInfo;this._id=o.CreateDynamicRectangleEx(s,l,h,u,t,n,r)}else{const{x:s,y:l,z:h,size:u}=this.sourceInfo;if(u<0)return _.error("[StreamerArea]: Invalid sphere extended size");this._id=o.CreateDynamicSphereEx(s,l,h,u,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:s,y:l,size:h}=this.sourceInfo;if(h<0)return _.error("[StreamerArea]: Invalid circle size");this._id=o.CreateDynamicCircle(s,l,h,t,n,r)}else if(i==="cuboid"){const{minx:s,miny:l,minz:h,maxx:u,maxy:y,maxz:S}=this.sourceInfo;this._id=o.CreateDynamicCuboid(s,l,h,u,y,S,t,n,r)}else if(i==="cylinder"){const{x:s,y:l,minz:h,maxz:u,size:y}=this.sourceInfo;if(y<0)return _.error("[StreamerArea]: Invalid cylinder size");this._id=o.CreateDynamicCylinder(s,l,h,u,y,t,n,r)}else if(i==="polygon"){const{points:s,minz:l,maxz:h}=this.sourceInfo;if(s.length%2!==0)return _.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=o.CreateDynamicPolygon(s,l,h,t,n,r)}else if(i==="rectangle"){const{minx:s,miny:l,maxx:h,maxy:u}=this.sourceInfo;this._id=o.CreateDynamicRectangle(s,l,h,u,t,n,r)}else{const{x:s,y:l,z:h,size:u}=this.sourceInfo;if(u<0)return _.error("[StreamerArea]: Invalid sphere size");this._id=o.CreateDynamicSphere(s,l,h,u,t,n,r)}return Ce.emit(ie.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerArea]: Unable to destroy the area before create"):(o.DestroyDynamicArea(this.id),Ce.emit(ie.destroyed,this),this)}isValid(){return this.id===-1?!1:o.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?_.warn("[StreamerArea]: Unable to get type before create"):o.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return o.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return o.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,n=!1){return this.id===-1?!1:o.IsPlayerInDynamicArea(t.id,this.id,n)}static isPlayerInAny(t,n=!1){return o.IsPlayerInAnyDynamicArea(t.id,n)}isAnyPlayerIn(t=!1){return this.id===-1?!1:o.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return o.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t,n){return de.getPlayerAreasNumber(t)?o.GetPlayerDynamicAreas(t.id).map(r=>n.get(r)):[]}static getPlayerAreasNumber(t){return o.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,n,r){return this.id===-1?!1:o.IsPointInDynamicArea(this.id,t,n,r)}static isPointInAny(t,n,r){return o.IsPointInAnyDynamicArea(t,n,r)}isLineIn(t,n,r,i,a,s){return this.id===-1?!1:o.IsLineInDynamicArea(this.id,t,n,r,i,a,s)}static isLineInAny(t,n,r,i,a,s){return o.IsLineInAnyDynamicArea(t,n,r,i,a,s)}static getForPoint(t,n,r,i){return de.getNumberForPoint(t,n,r)?o.GetDynamicAreasForPoint(t,n,r).map(a=>i.get(a)):[]}static getNumberForPoint(t,n,r){return o.GetNumberDynamicAreasForPoint(t,n,r)}static getForLine(t,n,r,i,a,s,l){return de.getNumberForLine(t,n,r,i,a,s)?o.GetDynamicAreasForLine(t,n,r,i,a,s).map(h=>l.get(h)):[]}static getNumberForLine(t,n,r,i,a,s){return o.GetNumberDynamicAreasForLine(t,n,r,i,a,s)}attachToObject(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to object before create"):o.AttachDynamicAreaToObject(this.id,t.id,o.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,n,r,i)}attachToPlayer(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to player before create"):o.AttachDynamicAreaToPlayer(this.id,t.id,n,r,i)}attachToVehicle(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):o.AttachDynamicAreaToVehicle(this.id,t.id,n,r,i)}toggleSpectateMode(t){return this.id===-1?_.warn("[StreamerArea]: Unable to toggle specate mode before create"):o.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:o.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerArea]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.AREA,this.id)}}class ho{areas=new Map;players;constructor(t,n=!0){this.players=t,Ce.on(ie.created,r=>{this.areas.set(r.id,r)}),Ce.on(ie.destroyed,r=>{this.areas.has(r.id)&&this.areas.delete(r.id)}),n&&T(()=>{this.areas.forEach(r=>r.destroy()),this.areas.clear()}),o.OnPlayerEnterDynamicArea((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.areas.get(i);return s?m(this,"onPlayerEnter")(a,s):0}),o.OnPlayerLeaveDynamicArea((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.areas.get(i);return s?m(this,"onPlayerLeave")(a,s):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.AREA){const s=this.areas.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.AREA){const s=this.areas.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getAreasArr(){return[...this.areas.values()]}getAreasMap(){return this.areas}}var ae=(e=>(e.created="OnTextDrawCreate",e.destroyed="OnTextDrawDestroy",e))(ae||{});const Ee=new L;class g{static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:n,text:r,player:i}=this.sourceInfo;if(i){if(g.createdPlayerCount===B.MAX_TEXT_DRAWS)return _.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Ca(i.id,t,n,r),g.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(g.createdGlobalCount===B.MAX_TEXT_DRAWS)return _.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=wr(t,n,r),g.createdGlobalCount++}return Ee.emit(ae.created,{key:{id:this.id,global:i===void 0},value:this}),this}destroy(){if(this.id===-1)return g.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(Ea(t.id,this.id),g.createdPlayerCount--):(kr(this.id),g.createdGlobalCount--),Ee.emit(ae.destroyed,{id:this.id,global:t===void 0}),this._id=-1,this}setFont(t){if(this.id===-1)return g.beforeCreateWarn("set font");const{player:n}=this.sourceInfo;return n?ka(n.id,this.id,t):Wr(this.id,t),this}setColour(t){if(this.id===-1)return g.beforeCreateWarn("set Colour");const{player:n}=this.sourceInfo;return n?La(n.id,this.id,t):Nr(this.id,t),this}setBoxColours(t){if(this.id===-1)return g.beforeCreateWarn("set box Colour");const{player:n}=this.sourceInfo;return n?ba(n.id,this.id,t):Hr(this.id,t),this}setBackgroundColours(t){if(this.id===-1)return g.beforeCreateWarn("set background Colour");const{player:n}=this.sourceInfo;return n?wa(n.id,this.id,t):Ur(this.id,t),this}setAlignment(t){if(this.id===-1)return g.beforeCreateWarn("set alignment");const{player:n}=this.sourceInfo;return n?Da(n.id,this.id,t):Fr(this.id,t),this}setLetterSize(t,n){if(this.id===-1)return g.beforeCreateWarn("set letter size");const{player:r}=this.sourceInfo;return r?Ta(r.id,this.id,t,n):Gr(this.id,t,n),this}setOutline(t){if(this.id===-1)return g.beforeCreateWarn("set outline model");if(t<0)return _.warn("[TextDraw]: Invalid outline value");const{player:n}=this.sourceInfo;return n?Ba(n.id,this.id,t):Vr(this.id,t),this}setPreviewModel(t){if(this.id===-1)return g.beforeCreateWarn("set preview model");this.setFont(z.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?Ha(n.id,this.id,t):Qr(this.id,t),this}setPreviewRot(t,n,r,i=1){if(this.id===-1)return g.beforeCreateWarn("set preview rot");this.setFont(z.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?xa(a.id,this.id,t,n,r,i):qr(this.id,t,n,r,i),this}setPreviewVehColours(t,n){if(this.id===-1)return g.beforeCreateWarn("set preview veh col");this.setFont(z.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?Va(r.id,this.id,t,n):$r(this.id,t,n),this}setProportional(t=!0){if(this.id===-1)return g.beforeCreateWarn("set Proportional");const{player:n}=this.sourceInfo;return n?Ga(n.id,this.id,t):Kr(this.id,t),this}setSelectable(t){if(this.id===-1)return g.beforeCreateWarn("set Selectable");const{player:n}=this.sourceInfo;return n?Ma(n.id,this.id,t):jr(this.id,t),this}setShadow(t){if(this.id===-1)return g.beforeCreateWarn("set shadow");if(t<0)return _.warn("[TextDraw]: Invalid shadow value");const{player:n}=this.sourceInfo;return n?Oa(n.id,this.id,t):xr(this.id,t),this}setString(t){if(this.id===-1)return g.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return _.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?va(n.id,this.id,t):Jr(this.id,t),this}setTextSize(t,n){return this.id===-1?g.beforeCreateWarn("set TextSize"):(Mr(this.id,t,n),this)}useBox(t){if(this.id===-1)return g.beforeCreateWarn("set TextSize");const{player:n}=this.sourceInfo;return n?Ra(n.id,this.id,t):vr(this.id,t),this}static beforeCreateWarn(t){_.warn(`[TextDraw]: Unable to ${t} before create`)}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}show(t){if(this.id===-1)return g.beforeCreateWarn("show");const n=this.sourceInfo.player;if(n)Fa(n.id,this.id);else if(t)Zr(t.id,this.id);else return _.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return g.beforeCreateWarn("hide");const n=this.sourceInfo.player;if(n)Na(n.id,this.id);else if(t)zr(t.id,this.id);else return _.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?g.beforeCreateWarn("show"):this.sourceInfo.player?_.warn("[TextDraw]: player's textdraw should not be show for all."):(Xr(this.id),this)}hideAll(){return this.id===-1?g.beforeCreateWarn("hideAll"):this.sourceInfo.player?_.warn("[TextDraw]: player's textdraw should not be hide for all."):(Yr(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?c.IsValidPlayer3DTextLabel(t.id,this.id):c.IsValidTextDraw(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:c.IsTextDrawVisibleForPlayer(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetString(t.id,this.id):c.TextDrawGetString(this.id)}setPos(t,n){if(this.id===-1)return g.beforeCreateWarn("set position");const r=this.sourceInfo.player;return r?c.PlayerTextDrawSetPos(r.id,this.id,t,n):c.TextDrawSetPos(this.id,t,n),this}getLetterSize(){if(this.id===-1)return g.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetLetterSize(t.id,this.id):c.TextDrawGetLetterSize(this.id)}getTextSize(){if(this.id===-1)return g.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetTextSize(t.id,this.id):c.TextDrawGetTextSize(this.id)}getPos(){if(this.id===-1)return g.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPos(t.id,this.id):c.TextDrawGetPos(this.id)}getColour(){if(this.id===-1)return g.beforeCreateWarn("get Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetColour(t.id,this.id):c.TextDrawGetColour(this.id)}getBoxColour(){if(this.id===-1)return g.beforeCreateWarn("get box Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetBoxColour(t.id,this.id):c.TextDrawGetBoxColour(this.id)}getBackgroundColour(){if(this.id===-1)return g.beforeCreateWarn("get bg Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetBackgroundColour(t.id,this.id):c.TextDrawGetBackgroundColour(this.id)}getShadow(){if(this.id===-1)return g.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetShadow(t.id,this.id):c.TextDrawGetShadow(this.id)}getOutline(){if(this.id===-1)return g.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetOutline(t.id,this.id):c.TextDrawGetOutline(this.id)}getFont(){if(this.id===-1)return g.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetFont(t.id,this.id):c.TextDrawGetFont(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsBox(t.id,this.id):c.TextDrawIsBox(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsProportional(t.id,this.id):c.TextDrawIsProportional(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsSelectable(t.id,this.id):c.TextDrawIsSelectable(this.id)}getAlignment(){if(this.id===-1)return g.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetAlignment(t.id,this.id):c.TextDrawGetAlignment(this.id)}getPreviewModel(){if(this.id===-1)return g.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewModel(t.id,this.id):c.TextDrawGetPreviewModel(this.id)}getPreviewRot(){if(this.id===-1)return g.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewRot(t.id,this.id):c.TextDrawGetPreviewRot(this.id)}getPreviewVehColours(){if(this.id===-1)return g.beforeCreateWarn("get preview vel Colours");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewVehicleColours(t.id,this.id):c.TextDrawGetPreviewVehicleColours(this.id)}}class uo{textDraws=new Map;players;constructor(t,n=!0){this.players=t,Ee.on(ae.created,r=>{this.textDraws.set(r.key,r.value)}),Ee.on(ae.destroyed,r=>{this.textDraws.has(r)&&this.textDraws.delete(r)}),n&&T(()=>{this.textDraws.forEach(r=>r.destroy()),this.textDraws.clear()}),on((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.textDraws.get({id:i,global:!0});return m(this,"onPlayerClick")(a,s||C.TEXT_DRAW)}),ln((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.textDraws.get({id:i,global:!1});return m(this,"onPlayerClick")(a,s||C.TEXT_DRAW)})}}Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return o.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return o.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return o.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return o.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return o.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return o.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return o.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return o.StreamerObjectTypes}}),Object.defineProperty(exports,"GangZonePos",{enumerable:!0,get:function(){return c.GangZonePos}}),Object.defineProperty(exports,"IActorAnimation",{enumerable:!0,get:function(){return c.IActorAnimation}}),Object.defineProperty(exports,"IActorSpawn",{enumerable:!0,get:function(){return c.IActorSpawn}}),Object.defineProperty(exports,"IAttachedData",{enumerable:!0,get:function(){return c.IAttachedData}}),Object.defineProperty(exports,"IAttachedObject",{enumerable:!0,get:function(){return c.IAttachedObject}}),Object.defineProperty(exports,"IBounds",{enumerable:!0,get:function(){return c.IBounds}}),Object.defineProperty(exports,"ICheckPoint",{enumerable:!0,get:function(){return c.ICheckPoint}}),Object.defineProperty(exports,"IMaterial",{enumerable:!0,get:function(){return c.IMaterial}}),Object.defineProperty(exports,"IMaterialText",{enumerable:!0,get:function(){return c.IMaterialText}}),Object.defineProperty(exports,"IObjectPos",{enumerable:!0,get:function(){return c.IObjectPos}}),Object.defineProperty(exports,"IObjectRotPos",{enumerable:!0,get:function(){return c.IObjectRotPos}}),Object.defineProperty(exports,"IOffsets",{enumerable:!0,get:function(){return c.IOffsets}}),Object.defineProperty(exports,"IPlayerClass",{enumerable:!0,get:function(){return c.IPlayerClass}}),Object.defineProperty(exports,"IQuat",{enumerable:!0,get:function(){return c.IQuat}}),Object.defineProperty(exports,"IRaceCheckPoint",{enumerable:!0,get:function(){return c.IRaceCheckPoint}}),Object.defineProperty(exports,"ITextDrawCommonSize",{enumerable:!0,get:function(){return c.ITextDrawCommonSize}}),Object.defineProperty(exports,"ITextDrawRot",{enumerable:!0,get:function(){return c.ITextDrawRot}}),Object.defineProperty(exports,"IVehColor",{enumerable:!0,get:function(){return c.IVehColor}}),Object.defineProperty(exports,"IVehMatrix",{enumerable:!0,get:function(){return c.IVehMatrix}}),Object.defineProperty(exports,"IVehSpawnInfo",{enumerable:!0,get:function(){return c.IVehSpawnInfo}}),exports.ArtworkEnum=Ge,exports.BodyPartsEnum=ze,exports.BoneIdsEnum=Xe,exports.BulletHitTypesEnum=tt,exports.CameraCutStylesEnum=oe,exports.CameraModesEnum=Ze,exports.CarModTypeEnum=Je,exports.ClickSourcesEnum=Me,exports.ConnectionStatusEnum=Ne,exports.DamageDeathReasonEnum=be,exports.Dialog=D,exports.DialogStylesEnum=Le,exports.Dynamic3DTextLabel=oo,exports.Dynamic3dTextLabelEvent=lo,exports.DynamicActor=ao,exports.DynamicActorEvent=so,exports.DynamicArea=de,exports.DynamicAreaEvent=ho,exports.DynamicCheckPointEvent=no,exports.DynamicCheckpoint=to,exports.DynamicMapIcon=Qd,exports.DynamicMapIconEvent=qd,exports.DynamicObject=_o,exports.DynamicObjectEvent=co,exports.DynamicPickup=$d,exports.DynamicPickupEvent=eo,exports.DynamicRaceCP=ro,exports.DynamicRaceCPEvent=io,exports.ERecordStatus=w,exports.EditResponseTypesEnum=Fe,exports.FightingStylesEnum=Ke,exports.GameMode=se,exports.GameText=Xd,exports.GangZone=N,exports.GangZoneEvent=Jd,exports.I18n=I,exports.InvalidEnum=C,exports.KeysEnum=ve,exports.LimitsEnum=B,exports.MapIconStylesEnum=je,exports.MarkerModesEnum=He,exports.Menu=Te,exports.MenuEvent=Yd,exports.NPCPlaybackEnum=xe,exports.NetStats=zd,exports.NpcEvent=En,exports.NpcFunc=G,exports.ObjectMaterialAlignmmentEnum=Ue,exports.ObjectMaterialTextSizeEnum=Ve,exports.Player=k,exports.PlayerEvent=Z,exports.PlayerStateEnum=v,exports.RecordTypesEnum=rt,exports.SelectObjectTypesEnum=We,exports.SpecialActionsEnum=Re,exports.SpectateModesEnum=le,exports.Streamer=A,exports.TextDraw=g,exports.TextDrawAlignEnum=Ye,exports.TextDrawEvent=uo,exports.TextDrawFontsEnum=z,exports.Vehicle=V,exports.VehicleEvent=Kd,exports.VehicleModelInfoEnum=qe,exports.VehicleParamsEnum=Qe,exports.WeaponEnum=$e,exports.WeaponSkillsEnum=et,exports.WeaponStatesEnum=nt,exports.rgba=p;
|
|
1
|
+
"use strict";var De=require("iconv-lite"),yt=require("pino"),O=require("lodash"),o=require("@infernus/streamer"),c=require("@infernus/wrapper");const _=yt({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{_.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){_.warn(e);return}_.warn(new Error(JSON.stringify(e)))});class I{constructor(t,n){this.defaultLocale=t,this.locales=n,this.defaultLocale=O.snakeCase(t),this.locales=I.snakeLocaleKeys(n)}addLocales=t=>{O.merge(this.locales,I.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=O.omit(this.locales,t)};$t=(t,n,r=this.defaultLocale)=>{const i=this.locales[O.snakeCase(r)],a=O.get(this.locales[this.defaultLocale],t),s=O.get(i,t,a);if(s===void 0)return _.warn(`[i18n]: cannot find ${r}["${t}"]`),"undefined";if(typeof s!="string")return JSON.stringify(s);let l=s;if(n&&n.length){const h=/%s/i;for(let u=0;u<n.length&&l.match(h)!==null;u++)l=l.replace(h,n[u])}return l};static isValidate(t){De.encodingExists(t)||(_.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,n){return I.isValidate(n),[...De.encode(t,n),0]}static decodeFromBuf(t,n){I.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 O.mapKeys(t,(n,r)=>O.snakeCase(r))}}var Ge=(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))(Ge||{}),Me=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Me||{}),Le=(e=>(e[e.MSGBOX=0]="MSGBOX",e[e.INPUT=1]="INPUT",e[e.LIST=2]="LIST",e[e.PASSWORD=3]="PASSWORD",e[e.TABLIST=4]="TABLIST",e[e.TABLIST_HEADERS=5]="TABLIST_HEADERS",e))(Le||{}),Fe=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Fe||{}),Ne=(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))(Ne||{}),C=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=255]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e))(C||{}),ve=(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))(ve||{}),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||{}),He=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(He||{}),xe=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(xe||{}),w=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(w||{}),Ve=(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))(Ve||{}),Ue=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Ue||{}),We=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(We||{}),Ke=(e=>(e[e.NORMAL=0]="NORMAL",e[e.BOXING=1]="BOXING",e[e.KUNGFU=2]="KUNGFU",e[e.KNEEHEAD=3]="KNEEHEAD",e[e.GRABKICK=4]="GRABKICK",e[e.ELBOW=5]="ELBOW",e))(Ke||{}),je=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(je||{}),oe=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(oe||{}),Ze=(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))(Ze||{}),le=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(le||{}),v=(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))(v||{}),ze=(e=>(e[e.TORSO=3]="TORSO",e[e.GROIN=4]="GROIN",e[e.LEFT_ARM=5]="LEFT_ARM",e[e.RIGHT_ARM=6]="RIGHT_ARM",e[e.LEFT_LEG=7]="LEFT_LEG",e[e.RIGHT_LEG=8]="RIGHT_LEG",e[e.HEAD=9]="HEAD",e))(ze||{}),Xe=(e=>(e[e.Spine=1]="Spine",e[e.Head=2]="Head",e[e.LeftUpperArm=3]="LeftUpperArm",e[e.RightUpperArm=4]="RightUpperArm",e[e.LeftHand=5]="LeftHand",e[e.RightHand=6]="RightHand",e[e.LeftThigh=7]="LeftThigh",e[e.RightThigh=8]="RightThigh",e[e.LeftFoot=9]="LeftFoot",e[e.RightFoot=10]="RightFoot",e[e.RightCalf=11]="RightCalf",e[e.LeftCalf=12]="LeftCalf",e[e.LeftForearm=13]="LeftForearm",e[e.RightForearm=14]="RightForearm",e[e.LeftClavicle=15]="LeftClavicle",e[e.RightClavicle=16]="RightClavicle",e[e.Neck=17]="Neck",e[e.Jaw=18]="Jaw",e))(Xe||{}),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||{}),z=(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))(z||{}),Ye=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ye||{}),Je=(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))(Je||{}),Qe=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Qe||{}),qe=(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))(qe||{}),$e=(e=>(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.PARACHUTE=46]="PARACHUTE",e))($e||{}),et=(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))(et||{}),tt=(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))(tt||{}),nt=(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))(nt||{}),be=(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))(be||{}),rt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(rt||{});const p=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(r=>parseInt(r,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let n=0;return t.reverse().forEach((r,i)=>{r!==0&&(n+=Math.pow(16,i*2)*r)}),n},R="utf8",St="en_US",W=(e,t)=>{const n=t.replace("-","")==="utf8"?e:I.encodeToBuf(e,t);return[n instanceof Array?"a":"s",n]},it=(e,t,n)=>{const r=W(n,e.charset);return d("SendClientMessage",`ii${r[0]}`,e.id,p(t),r[1])},gt=(e,t,n)=>(e.forEach(r=>it(r,t,n)),1),at=(e,t,n)=>{const r=W(n,e.charset);return d("SendPlayerMessageToPlayer",`ii${r[0]}`,e.id,t,r[1])},Pt=(e,t,n)=>(e.forEach(r=>at(r,t,n)),1),pt=(e,t,n)=>{const{charset:r}=e,{style:i,caption:a,info:s,button1:l,button2:h}=n,[u,y]=W(a||"",r),[,S]=W(s||"",r),[,P]=W(l||"",r),[,f]=W(h||"",r);return d("ShowPlayerDialog",`iii${u.repeat(4)}`,e.id,t,i,y,S,P,f)};samp.registerEvent("OnPlayerTextI18n","iai");const At=e=>{samp.addEventListener("OnPlayerTextI18n",e)};samp.registerEvent("OnPlayerCommandTextI18n","iai");const It=e=>{samp.addEventListener("OnPlayerCommandTextI18n",e)};samp.registerEvent("OnDialogResponseI18n","iiiiai");const ft=e=>{samp.addEventListener("OnDialogResponseI18n",e)};samp.registerEvent("OnClientMessageI18n","iai");const Ct=(e,t=R)=>{samp.addEventListener("OnClientMessageI18n",(n,r)=>e(n,I.decodeFromBuf(r,t)))};samp.registerEvent("OnRconCommandI18n","ai");const Et=(e,t=R)=>{samp.addEventListener("OnRconCommandI18n",n=>e(I.decodeFromBuf(n,t)))};samp.registerEvent("OnRconLoginAttemptI18n","aiaii");const Tt=(e,t=R)=>{samp.addEventListener("OnRconLoginAttemptI18n",(n,r,i)=>e(I.decodeFromBuf(n,t),I.decodeFromBuf(r,t),Boolean(i)))},Dt=e=>{const t=d("GetPlayerName","iAi",e.id,B.MAX_PLAYER_NAME);return I.decodeFromBuf(I.getValidStr(t),e.charset)},Lt=(e,t)=>d("SetPlayerName","ia",e.id,I.encodeToBuf(t,e.charset)),Rt=(e,t,n)=>{const r=I.encodeToBuf(t,n);return d("BanEx","ia",e,r)},bt=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E,b)=>{const U=I.encodeToBuf(t,e);return d("CreateDynamic3DTextLabel","aiffffiiiiiifii",U,n,r,i,a,s,l,h,u,y,S,P,f,E,b)},Ot=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E,b)=>{const U=I.encodeToBuf(e,b);return d("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",U,t,n,r,i,a,s,l,h,u,y,S,P,f,E,y.length,S.length,P.length,f.length)},Bt=(e,t,n,r)=>{const i=I.encodeToBuf(n,r);return d("UpdateDynamic3DTextLabelText","iia",e,t,i)},wt=(e,t)=>{const n=d("GetDynamic3DTextLabelText","iAi",e,1024);return I.decodeFromBuf(I.getValidStr(n),t)},kt=(e,t,n,r,i,a,s,l,h,u,y)=>{const S=I.encodeToBuf(r,e),P=I.encodeToBuf(a,e);return d("SetDynamicObjectMaterialText","iiaiaiiiii",t,n,S,i,P,s,l,h,u,y)},Gt=(e,t,n)=>{const[r,i,a,s,l,h,u]=d("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),y=I.decodeFromBuf(r,n),S=I.decodeFromBuf(a,n);return{text:y,materialsize:i,fontface:S,bold:s,fontcolour:l,backcolour:h,textalignment:u}},m=(e,t,n=1)=>(...r)=>{if(!e[t])return n;const i=e[t](...r);return i instanceof Promise||i===void 0?n:Number(i)},st=(e=0)=>m({NOOP:()=>e},"NOOP"),{callNative:d,callNativeFloat:H}=samp;ft((e,t,n,r,i)=>{const a=T.waitingQueue.get(e);return a?(setTimeout(()=>a.resolve({response:n,listitem:r,inputbuf:i})),1):0});class T{id=-1;static showingIds=[];static max_dialogId=32767;dialog;static waitingQueue=new Map;constructor(t={style:Le.MSGBOX,caption:"",info:"",button1:"",button2:""}){this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,n=!1){const r=T.waitingQueue.get(t.id);if(!r)return!1;n&&r.reject("[Dialog]: player timeout does not respond or second request show dialog"),T.waitingQueue.delete(t.id);const i=T.showingIds.indexOf(r.showId);return i>-1&&T.showingIds.splice(i,1),!0}show(t){return new Promise((n,r)=>{for(T.close(t);(this.id===-1||T.showingIds.includes(this.id))&&T.showingIds.length!==T.max_dialogId;)this.id=Math.floor(Math.random()*(T.max_dialogId+1));if(this.id===-1){r("[Dialog]: The maximum number of dialogs is reached");return}T.showingIds.push(this.id),T.waitingQueue.set(t.id,{resolve:n,reject:r,showId:this.id}),pt(t,this.id,this.dialog)}).then(n=>{const{response:r,listitem:i}=n,a=I.decodeFromBuf(n.inputbuf,t.charset);return Promise.resolve({response:r,listitem:i,inputtext:a})}).catch(n=>Promise.reject(n)).finally(()=>T.delDialogTask(t))}static close(t){T.delDialogTask(t,!0),c.HidePlayerDialog(t.id)}}const dt=e=>{samp.addEventListener("OnGameModeInit",e)},D=e=>{samp.addEventListener("OnGameModeExit",e)},ot=e=>{samp.addEventListener("OnPlayerConnect",e)},lt=e=>{samp.addEventListener("OnPlayerDisconnect",e)},Mt=e=>{samp.addEventListener("OnPlayerSpawn",e)},Ft=e=>{samp.addEventListener("OnPlayerDeath",e)},Nt=e=>{samp.addEventListener("OnVehicleSpawn",e)},vt=e=>{samp.addEventListener("OnVehicleDeath",e)},Ht=e=>{samp.addEventListener("OnPlayerRequestClass",e)},xt=e=>{samp.addEventListener("OnPlayerEnterVehicle",e)},Vt=e=>{samp.addEventListener("OnPlayerExitVehicle",e)},Ut=e=>{samp.addEventListener("OnPlayerStateChange",e)},Wt=e=>{samp.addEventListener("OnPlayerRequestSpawn",e)},Kt=e=>{samp.addEventListener("OnVehicleMod",e)},jt=e=>{samp.addEventListener("OnEnterExitModShop",e)},Zt=e=>{samp.addEventListener("OnVehiclePaintjob",e)},zt=e=>{samp.addEventListener("OnVehicleRespray",e)},Xt=e=>{samp.addEventListener("OnVehicleDamageStatusUpdate",e)},Yt=e=>{samp.addEventListener("OnPlayerSelectedMenuRow",e)},Jt=e=>{samp.addEventListener("OnPlayerExitedMenu",e)},Qt=e=>{samp.addEventListener("OnPlayerInteriorChange",e)},qt=e=>{samp.addEventListener("OnPlayerKeyStateChange",e)},$t=e=>{samp.addEventListener("OnPlayerUpdate",e)},en=e=>{samp.addEventListener("OnPlayerStreamIn",e)},tn=e=>{samp.addEventListener("OnPlayerStreamOut",e)},nn=e=>{samp.addEventListener("OnVehicleStreamIn",e)},rn=e=>{samp.addEventListener("OnVehicleStreamOut",e)},an=e=>{samp.addEventListener("OnPlayerTakeDamage",e)},sn=e=>{samp.addEventListener("OnPlayerGiveDamage",e)},dn=e=>{samp.addEventListener("OnPlayerClickMap",e)},on=e=>{samp.addEventListener("OnPlayerClickTextDraw",e)},ln=e=>{samp.addEventListener("OnPlayerClickPlayerTextDraw",e)},_n=e=>{samp.addEventListener("OnIncomingConnection",e)},cn=e=>{samp.addEventListener("OnTrailerUpdate",e)},hn=e=>{samp.addEventListener("OnVehicleSirenStateChange",e)},un=e=>{samp.addEventListener("OnPlayerFinishedDownloading",e)},mn=e=>{samp.addEventListener("OnPlayerRequestDownload",e)},yn=e=>{samp.addEventListener("OnPlayerClickPlayer",e)},Sn=e=>{samp.addEventListener("OnClientCheckResponse",e)},gn=e=>{samp.addEventListener("OnNPCEnterVehicle",e)},Pn=e=>{samp.addEventListener("OnNPCExitVehicle",e)},pn=e=>{samp.addEventListener("OnNpcConnect",e)},An=e=>{samp.addEventListener("OnNpcDisconnect",e)},In=e=>{samp.addEventListener("OnNPCModeInit",e)},fn=e=>{samp.addEventListener("OnNPCModeExit",e)},Cn=e=>{samp.addEventListener("OnNPCSpawn",e)};class En{constructor(){pn(m(this,"onConnect")),An(m(this,"onDisconnect")),In(m(this,"onModeInit")),fn(m(this,"onModeExit")),Cn(m(this,"onSpawn")),Ct(m(this,"onClientMessage"))}}const Tn=(e,t,n)=>d("SendDeathMessage","iii",e,t,n),Dn=(e,t,n,r)=>d("SendDeathMessageToPlayer","iiii",e,t,n,r),Ln=(e,t,n)=>d("GameTextForAll","sii",e,t,n),Rn=e=>{d("HideGameTextForAll","i",e)},bn=(e,t,n,r)=>Boolean(d("GameTextForPlayer","isii",e,t,n,r)),On=(e,t)=>Boolean(d("HasGameText","ii",e,t)),Bn=(e,t)=>Boolean(d("HideGameTextForPlayer","ii",e,t)),wn=()=>d("GetMaxPlayers",""),kn=(e,t,n,r,i,a)=>H("VectorSize","ffffff",e,t,n,r,i,a),Gn=()=>d("GetPlayerPoolSize",""),Mn=()=>d("GetVehiclePoolSize",""),Fn=e=>d("SetGameModeText","s",e),Nn=e=>d("SetTeamCount","i",e),vn=(e,t,n,r,i,a,s,l,h,u,y)=>d("AddPlayerClass","iffffiiiiii",e,t,n,r,i,a,s,l,h,u,y),Hn=(e,t,n,r,i,a,s,l,h,u,y,S)=>d("AddPlayerClassEx","iiffffiiiiii",e,t,n,r,i,a,s,l,h,u,y,S),xn=(e,t,n,r,i,a,s)=>d("AddStaticVehicle","iffffii",e,t,n,r,i,a,s),Vn=(e,t,n,r,i,a,s,l,h)=>d("AddStaticVehicleEx","iffffiiii",e,t,n,r,i,a,s,l,h),Un=e=>d("ShowNameTags","i",e),Wn=e=>d("ShowPlayerMarkers","i",e),Kn=()=>d("GameModeExit",""),jn=e=>d("SetWorldTime","i",e),Zn=()=>d("EnableVehicleFriendlyFire",""),zn=e=>d("SetWeather","i",e),Xn=()=>H("GetGravity",""),Yn=e=>d("SetGravity","f",e),Jn=(e,t,n,r,i)=>d("CreateExplosion","fffif",e,t,n,r,i),Qn=e=>d("EnableZoneNames","i",e),qn=()=>d("UsePlayerPedAnims",""),$n=()=>d("DisableInteriorEnterExits",""),er=e=>d("SetNameTagDrawDistance","f",e),tr=()=>d("DisableNameTagLOS",""),nr=e=>d("LimitGlobalChatRadius","f",e),rr=e=>d("LimitPlayerMarkerRadius","f",e),ir=(e,t)=>d("ConnectNPC","ss",e,t),ar=e=>Boolean(d("IsPlayerNPC","i",e)),sr=e=>Boolean(d("IsPlayerAdmin","i",e)),dr=e=>d("Kick","i",e),or=e=>d("Ban","i",e),lr=e=>d("SendRconCommand","s",e),_r=e=>d("GetPlayerNetworkStats","iSi",e,1024),cr=()=>d("GetNetworkStats","Si",1024),hr=(e,t)=>d("BlockIpAddress","si",e,t),ur=e=>d("UnBlockIpAddress","s",e),mr=()=>d("GetServerTickRate",""),yr=e=>d("NetStats_GetConnectedTime","i",e),Sr=e=>d("NetStats_MessagesReceived","i",e),gr=e=>d("NetStats_BytesReceived","i",e),Pr=e=>d("NetStats_MessagesSent","i",e),pr=e=>d("NetStats_BytesSent","i",e),Ar=e=>d("NetStats_MessagesRecvPerSecond","i",e),Ir=e=>H("NetStats_PacketLossPercent","i",e),fr=e=>d("NetStats_ConnectionStatus","i",e),Cr=(e,t,n,r,i,a)=>d("CreateMenu","siffff",e,t,n,r,i,a),Er=e=>d("DestroyMenu","i",e),Tr=(e,t,n)=>d("AddMenuItem","iis",e,t,n),Dr=(e,t,n)=>d("SetMenuColumnHeader","iis",e,t,n),Lr=(e,t)=>d("ShowMenuForPlayer","ii",e,t),Rr=(e,t)=>d("HideMenuForPlayer","ii",e,t),br=e=>Boolean(d("IsValidMenu","i",e)),Or=e=>d("DisableMenu","i",e),Br=(e,t)=>d("DisableMenuRow","ii",e,t),Oe=e=>d("GetPlayerMenu","i",e),wr=(e,t,n)=>d("TextDrawCreate","ffs",e,t,n),kr=e=>d("TextDrawDestroy","i",e),Gr=(e,t,n)=>d("TextDrawLetterSize","iff",e,t,n),Mr=(e,t,n)=>d("TextDrawTextSize","iff",e,t,n),Fr=(e,t)=>d("TextDrawAlignment","ii",e,t),Nr=(e,t)=>Boolean(d("TextDrawColor","ii",e,p(t))),vr=(e,t)=>d("TextDrawUseBox","ii",e,t),Hr=(e,t)=>Boolean(d("TextDrawBoxColor","ii",e,p(t))),xr=(e,t)=>d("TextDrawSetShadow","ii",e,t),Vr=(e,t)=>d("TextDrawSetOutline","ii",e,t),Ur=(e,t)=>Boolean(d("TextDrawBackgroundColor","ii",e,p(t))),Wr=(e,t)=>d("TextDrawFont","ii",e,t),Kr=(e,t)=>d("TextDrawSetProportional","ii",e,t),jr=(e,t)=>d("TextDrawSetSelectable","ii",e,t),Zr=(e,t)=>d("TextDrawShowForPlayer","ii",e,t),zr=(e,t)=>d("TextDrawHideForPlayer","ii",e,t),Xr=e=>d("TextDrawShowForAll","i",e),Yr=e=>d("TextDrawHideForAll","i",e),Jr=(e,t)=>d("TextDrawSetString","is",e,t),Qr=(e,t)=>d("TextDrawSetPreviewModel","ii",e,t),qr=(e,t,n,r,i=1)=>{d("TextDrawSetPreviewRot","iffff",e,t,n,r,i)},$r=(e,t,n)=>Boolean(d("TextDrawSetPreviewVehCol","iii",e,p(t),p(n))),ei=(e,t,n,r)=>d("GangZoneCreate","ffff",e,t,n,r),ti=e=>d("GangZoneDestroy","i",e),ni=(e,t,n)=>d("GangZoneShowForPlayer","iii",e,t,p(n)),ri=(e,t)=>d("GangZoneShowForAll","ii",e,p(t)),ii=(e,t)=>d("GangZoneHideForPlayer","ii",e,t),ai=e=>d("GangZoneHideForAll","i",e),si=(e,t,n)=>d("GangZoneFlashForPlayer","iii",e,t,p(n)),di=(e,t)=>d("GangZoneFlashForAll","ii",e,p(t)),oi=(e,t)=>d("GangZoneStopFlashForPlayer","ii",e,t),li=e=>d("GangZoneStopFlashForAll","i",e),_i=(e,t=R)=>I.decodeFromBuf(I.getValidStr(d("gpci","iAi",e,41)),t),ci=e=>Boolean(d("BeginObjectSelecting","i",e)),hi=e=>Boolean(d("EndObjectEditing","i",e)),ui=e=>Boolean(d("SetObjectsDefaultCameraCol","i",e)),mi=(e,t,n,r,i,a,s,l,h,u,y,S,P)=>d("SetSpawnInfo","iiiffffiiiiii",e,t,n,r,i,a,s,l,h,u,y,S,P),yi=e=>d("SpawnPlayer","i",e),_t=(e,t,n,r)=>d("SetPlayerPos","ifff",e,t,n,r),Si=(e,t,n,r)=>d("SetPlayerPosFindZ","ifff",e,t,n,r),gi=e=>d("GetPlayerPos","iFFF",e),Pi=(e,t)=>d("SetPlayerFacingAngle","if",e,t),pi=e=>d("GetPlayerFacingAngle","iF",e),Ai=(e,t,n,r,i)=>Boolean(d("IsPlayerInRangeOfPoint","iffff",e,t,n,r,i)),Ii=(e,t,n,r)=>H("GetPlayerDistanceFromPoint","ifff",e,t,n,r),fi=(e,t)=>Boolean(d("IsPlayerStreamedIn","ii",e,t)),Ci=(e,t)=>d("SetPlayerInterior","ii",e,t),Ei=e=>d("GetPlayerInterior","i",e),Ti=(e,t)=>d("SetPlayerHealth","if",e,t),Di=e=>d("GetPlayerHealth","iF",e),Li=(e,t)=>d("SetPlayerArmour","if",e,t),Ri=e=>d("GetPlayerArmour","iF",e),bi=(e,t,n)=>d("SetPlayerAmmo","iii",e,t,n),Oi=e=>d("GetPlayerAmmo","i",e),Bi=e=>d("GetPlayerWeaponState","i",e),wi=e=>d("GetPlayerTargetPlayer","i",e),ki=(e,t)=>{d("SetPlayerTeam","ii",e,t)},Gi=e=>d("GetPlayerTeam","i",e),Mi=(e,t)=>d("SetPlayerScore","ii",e,t),Fi=e=>d("GetPlayerScore","i",e),Ni=e=>d("GetPlayerDrunkLevel","i",e),vi=(e,t)=>d("SetPlayerDrunkLevel","ii",e,t),Hi=(e,t)=>d("SetPlayerColor","ii",e,p(t)),xi=e=>d("GetPlayerColor","i",e),Vi=(e,t)=>d("SetPlayerSkin","ii",e,t),Ui=e=>d("GetPlayerSkin","i",e),Wi=(e,t,n)=>d("GivePlayerWeapon","iii",e,t,n),Ki=e=>d("ResetPlayerWeapons","i",e),ji=(e,t)=>d("SetPlayerArmedWeapon","ii",e,t),Zi=(e,t)=>d("GetPlayerWeaponData","iiII",e,t),zi=(e,t)=>d("GivePlayerMoney","ii",e,t),Xi=e=>d("ResetPlayerMoney","i",e),Yi=e=>d("GetPlayerMoney","i",e),Ji=e=>d("GetPlayerState","i",e),Qi=e=>d("GetPlayerPing","i",e),qi=e=>d("GetPlayerWeapon","i",e),$i=e=>d("GetPlayerKeys","iIII",e),ea=(e,t,n)=>d("SetPlayerTime","iii",e,t,n),ta=e=>d("GetPlayerTime","iII",e),na=(e,t)=>d("TogglePlayerClock","ii",e,t),ra=(e,t)=>d("SetPlayerWeather","ii",e,t),ia=e=>d("ForceClassSelection","i",e),aa=(e,t)=>d("SetPlayerWantedLevel","ii",e,t),sa=e=>d("GetPlayerWantedLevel","i",e),da=(e,t)=>d("SetPlayerFightingStyle","ii",e,t),oa=e=>d("GetPlayerFightingStyle","i",e),la=(e,t,n,r)=>d("SetPlayerVelocity","ifff",e,t,n,r),_a=e=>d("GetPlayerVelocity","iFFF",e),ca=(e,t,n)=>d("PlayCrimeReportForPlayer","iii",e,t,n),ha=(e,t,n,r,i,a,s=!1)=>d("PlayAudioStreamForPlayer","isffffi",e,t,n,r,i,a,s),ua=e=>d("StopAudioStreamForPlayer","i",e),ma=(e,t)=>d("SetPlayerShopName","is",e,t),ya=(e,t,n)=>d("SetPlayerSkillLevel","iii",e,t,n),Sa=e=>d("GetPlayerSurfingVehicleID","i",e),ga=e=>d("GetPlayerSurfingObjectID","i",e),Pa=(e,t,n,r,i,a)=>d("RemoveBuildingForPlayer","iiffff",e,t,n,r,i,a),pa=e=>d("GetPlayerLastShotVectors","iFFFFFF",e),Aa=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E)=>d("SetPlayerAttachedObject","iiiifffffffffii",e,t,n,r,i,a,s,l,h,u,y,S,P,p(f),p(E)),Ia=(e,t)=>d("RemovePlayerAttachedObject","ii",e,t),fa=(e,t)=>Boolean(d("IsPlayerAttachedObjectSlotUsed","ii",e,t)),Ca=(e,t,n,r)=>d("CreatePlayerTextDraw","iffs",e,t,n,r),Ea=(e,t)=>{d("PlayerTextDrawDestroy","ii",e,t)},Ta=(e,t,n,r)=>d("PlayerTextDrawLetterSize","iiff",e,t,n,r),Da=(e,t,n)=>d("PlayerTextDrawAlignment","iii",e,t,n),La=(e,t,n)=>Boolean(d("PlayerTextDrawColor","iii",e,t,p(n))),Ra=(e,t,n)=>d("PlayerTextDrawUseBox","iii",e,t,n),ba=(e,t,n)=>Boolean(d("PlayerTextDrawBoxColor","iii",e,t,p(n))),Oa=(e,t,n)=>d("PlayerTextDrawSetShadow","iii",e,t,n),Ba=(e,t,n)=>d("PlayerTextDrawSetOutline","iii",e,t,n),wa=(e,t,n)=>Boolean(d("PlayerTextDrawBackgroundColour","iii",e,t,p(n))),ka=(e,t,n)=>d("PlayerTextDrawFont","iii",e,t,n),Ga=(e,t,n)=>d("PlayerTextDrawSetProportional","iii",e,t,n),Ma=(e,t,n)=>d("PlayerTextDrawSetSelectable","iii",e,t,n),Fa=(e,t)=>d("PlayerTextDrawShow","ii",e,t),Na=(e,t)=>d("PlayerTextDrawHide","ii",e,t),va=(e,t,n)=>d("PlayerTextDrawSetString","iis",e,t,n),Ha=(e,t,n)=>d("PlayerTextDrawSetPreviewModel","iii",e,t,n),xa=(e,t,n,r,i,a)=>d("PlayerTextDrawSetPreviewRot","iiffff",e,t,n,r,i,a),Va=(e,t,n,r)=>Boolean(d("PlayerTextDrawSetPreviewVehCol","iiii",e,t,n,r)),Ua=(e,t,n,r,i)=>d("SetPlayerChatBubble","isifi",e,t,p(n),r,i),Wa=(e,t,n)=>d("PutPlayerInVehicle","iii",e,t,n),Ka=e=>d("GetPlayerVehicleID","i",e),ja=e=>d("GetPlayerVehicleSeat","i",e),Za=e=>d("RemovePlayerFromVehicle","i",e),za=(e,t)=>d("TogglePlayerControllable","ii",e,t),Xa=(e,t,n,r,i)=>d("PlayerPlaySound","iifff",e,t,n,r,i),Ya=(e,t,n,r,i,a,s,l,h,u)=>d("ApplyAnimation","issfiiiiii",e,t,n,r,i,a,s,l,h,u),Ja=(e,t)=>d("ClearAnimations","ii",e,t),Qa=e=>d("GetPlayerAnimationIndex","i",e),qa=e=>d("GetPlayerSpecialAction","i",e),$a=(e,t)=>d("SetPlayerSpecialAction","ii",e,t),es=(e,t)=>d("DisableRemoteVehicleCollisions","ii",e,t),ts=(e,t,n,r,i)=>d("SetPlayerWorldBounds","iffff",e,t,n,r,i),ns=(e,t,n)=>d("SetPlayerMarkerForPlayer","iii",e,t,p(n)),rs=(e,t,n)=>d("ShowPlayerNameTagForPlayer","iii",e,t,n),is=(e,t,n,r)=>d("SetPlayerCameraPos","ifff",e,t,n,r),as=(e,t,n,r,i)=>d("SetPlayerCameraLookAt","ifffi",e,t,n,r,i),ss=e=>d("SetCameraBehindPlayer","i",e),ds=e=>d("GetPlayerCameraPos","iFFF",e),os=e=>d("GetPlayerCameraFrontVector","iFFF",e),ls=e=>d("GetPlayerCameraMode","i",e),_s=(e,t)=>d("EnablePlayerCameraTarget","ii",e,t),cs=e=>d("GetPlayerCameraTargetVehicle","i",e),hs=e=>d("GetPlayerCameraTargetPlayer","i",e),us=e=>H("GetPlayerCameraAspectRatio","i",e),ms=e=>H("GetPlayerCameraZoom","i",e),ys=(e,t,n,r,i,a,s,l,h)=>d("InterpolateCameraPos","iffffffii",e,t,n,r,i,a,s,l,h),Ss=(e,t,n,r,i,a,s,l,h)=>d("InterpolateCameraLookAt","iffffffii",e,t,n,r,i,a,s,l,h),ct=e=>Boolean(d("IsPlayerConnected","i",e)),gs=(e,t)=>Boolean(d("IsPlayerInVehicle","ii",e,t)),Ps=e=>Boolean(d("IsPlayerInAnyVehicle","i",e)),ps=(e,t)=>d("SetPlayerVirtualWorld","ii",e,t),As=e=>d("GetPlayerVirtualWorld","i",e),Is=(e,t)=>d("EnableStuntBonusForPlayer","ii",e,t),fs=e=>d("EnableStuntBonusForAll","i",e),Cs=(e,t)=>d("TogglePlayerSpectating","ii",e,t),Es=(e,t,n)=>d("PlayerSpectatePlayer","iii",e,t,n),Ts=(e,t,n)=>d("PlayerSpectateVehicle","iii",e,t,n),Ds=(e,t,n)=>d("StartRecordingPlayerData","iis",e,t,n),Ls=e=>d("StopRecordingPlayerData","i",e),Rs=(e,t)=>{d("SelectTextDraw","ii",e,p(t))},bs=e=>{d("CancelSelectTextDraw","i",e)},Os=(e,t,n,r,i,a)=>d("CreateExplosionForPlayer","ifffif",e,t,n,r,i,a),Bs=(e,t,n,r,i)=>d("SendClientCheck","iiiii",e,t,n,r,i),ws=(e,t,n,r,i,a,s,l,h)=>d("CreateVehicle","iffffiiii",e,t,n,r,i,p(a),p(s),l,h),ks=e=>d("DestroyVehicle","i",e),Gs=(e,t)=>Boolean(d("IsVehicleStreamedIn","ii",e,t)),Ms=e=>{const t=d("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},Fs=(e,t,n,r)=>d("SetVehiclePos","ifff",e,t,n,r),Ns=e=>d("GetVehicleZAngle","iF",e),vs=e=>d("GetVehicleRotationQuat","iFFFF",e),Hs=(e,t,n,r)=>H("GetVehicleDistanceFromPoint","ifff",e,t,n,r),xs=(e,t)=>d("SetVehicleZAngle","if",e,t),Vs=(e,t,n,r)=>d("SetVehicleParamsForPlayer","iiii",e,t,n,r),Us=()=>d("ManualVehicleEngineAndLights",""),Ws=(e,t,n,r,i,a,s,l)=>d("SetVehicleParamsEx","iiiiiiii",e,t,n,r,i,a,s,l),Ks=e=>d("GetVehicleParamsEx","iIIIIIII",e),js=e=>d("GetVehicleParamsSirenState","i",e),Zs=(e,t,n,r,i)=>d("SetVehicleParamsCarDoors","iiiii",e,t,n,r,i),zs=e=>{const t=d("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},Xs=(e,t,n,r,i)=>d("SetVehicleParamsCarWindows","iiiii",e,t,n,r,i),Ys=e=>{const t=d("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},Js=e=>d("SetVehicleToRespawn","i",e),Qs=(e,t)=>d("LinkVehicleToInterior","ii",e,t),qs=(e,t)=>d("AddVehicleComponent","ii",e,t),$s=(e,t)=>d("RemoveVehicleComponent","ii",e,t),ed=(e,t,n)=>d("ChangeVehicleColor","iii",e,p(t),p(n)),td=(e,t)=>d("ChangeVehiclePaintjob","ii",e,t),nd=(e,t)=>d("SetVehicleHealth","if",e,t),rd=e=>d("GetVehicleHealth","iF",e),id=(e,t)=>d("AttachTrailerToVehicle","ii",e,t),ad=e=>d("DetachTrailerFromVehicle","i",e),sd=e=>Boolean(d("IsTrailerAttachedToVehicle","i",e)),dd=e=>d("GetVehicleTrailer","i",e),od=(e,t)=>d("SetVehicleNumberPlate","is",e,t),ld=e=>d("GetVehicleModel","i",e),_d=(e,t)=>d("GetVehicleComponentInSlot","ii",e,t),cd=e=>d("GetVehicleComponentType","i",e),hd=e=>d("RepairVehicle","i",e),ud=e=>d("GetVehicleVelocity","iFFF",e),md=(e,t,n,r)=>d("SetVehicleVelocity","ifff",e,t,n,r),yd=(e,t,n,r)=>d("SetVehicleAngularVelocity","ifff",e,t,n,r),Sd=e=>{const t=d("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]}},gd=(e,t,n,r,i)=>d("UpdateVehicleDamageStatus","iiiii",e,t,n,r,i),Pd=(e,t)=>{const n=d("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]}},pd=(e,t)=>d("SetVehicleVirtualWorld","ii",e,t),Ad=e=>d("GetVehicleVirtualWorld","i",e),ht=e=>Boolean(d("IsValidVehicle","i",e)),Id=(e,t)=>d("StartRecordingPlayback","is",e,t),fd=()=>d("StopRecordingPlayback",""),Cd=()=>d("PauseRecordingPlayback",""),Ed=()=>d("ResumeRecordingPlayback",""),Td=e=>d("GetPlayerCustomSkin","i",e),Dd=(e,t)=>d("RedirectDownload","is",e,t),Ld=(e,t,n,r,i)=>d("AddSimpleModel","iiiss",e,t,n,r,i),Rd=(e,t,n,r,i,a,s)=>d("AddSimpleModelTimed","iiissii",e,t,n,r,i,a,s),bd=e=>d("GetWeaponName","iSi",e,32),Od=e=>d("NetStats_GetIpPort","iSi",e,128+6),Bd=e=>d("GetPlayerIp","iSi",e,128),wd=e=>d("GetAnimationName","iSiSi",e,32,32),kd=e=>d("GetPlayerVersion","iSi",e,24),Gd=e=>d("FindModelFileNameFromCRC","iSi",e,255),Md=e=>d("FindTextureFileNameFromCRC","iSi",e,255);class G{constructor(){}static recordStatus;static connectNPC=ir;static startRecordingPlayerData(t,n,r){if(t.isRecording)return _.warn("[NpcFunc]: It should be stopped before recording");Ds(t.id,n,r),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return _.warn("[NpcFunc]: It should be started before stop");Ls(t.id),t.isRecording=!1}static startRecordingPlayback(t,n){if(G.recordStatus>=w.start)return _.warn("[NpcFunc]: The current status cannot be replayed");Id(t,n),G.recordStatus=w.start}static stopRecordingPlayback(){if(G.recordStatus<w.start)return _.warn("[NpcFunc]: The current status cannot be stopped");fd(),G.recordStatus=w.none}static pauseRecordingPlayback(){if(G.recordStatus!==w.start)return _.warn("[NpcFunc]: The current status cannot be paused");Cd(),G.recordStatus=w.pause}static resumeRecordingPlayback(){if(G.recordStatus!==w.pause)return _.warn("[NpcFunc]: The current status cannot be paused");Ed(),G.recordStatus=w.start}}const Fd=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}]]]),Nd=e=>{const t=Fd.get(e);return t===void 0?!1:t},ut=(e,t)=>{const n=Nd(e);if(n)return n.find(r=>r.n===t)?.d},_e=new Map,ce=(e,t=!1)=>{const n=_e.get(e);return n?(t&&n.reject("[Player]: An attempt to check the player client response timed out"),clearTimeout(n.timeout),_e.delete(e),!0):!1};Sn((e,t,n,r)=>{const i=_e.get(e);return i?(clearTimeout(i.timeout),setTimeout(()=>i.resolve({actionid:t,memaddr:n,retndata:r})),1):0});class L{map=new Map;on(t,n){let r=this.map.get(t);r||(r=new Set,this.map.set(t,r)),r.add(n)}emit(t,n){const r=this.map.get(t);!r||[...r].forEach(i=>i(n))}off(t,n){if(!t){this.map.clear();return}if(!n){this.map.delete(t);return}const r=this.map.get(t);!r||r.delete(n)}}var M=(e=>(e.pause="OnPlayerPause",e.create="OnPlayerEventCreate",e.setCommonProp="OnPlayerSetCommonProp",e))(M||{});const F=new L;class k{_id;_isNpc;_locale=St;_charset=R;_isRecording=!1;lastDrunkLevel=0;lastFps=0;isPaused=!1;lastUpdateTick=0;get id(){return this._id}get locale(){return this._locale}set locale(t){F.emit(M.setCommonProp,{player:this,prop:"_locale",value:t})}get charset(){return this._charset}set charset(t){F.emit(M.setCommonProp,{player:this,prop:"_charset",value:t})}get isRecording(){return this._isRecording}set isRecording(t){F.emit(M.setCommonProp,{player:this,prop:"_isRecording",value:t})}constructor(t){this._id=t,this._isNpc=ar(this.id)}sendClientMessage(t,n){return it(this,t,n)}static sendClientMessageToAll(t,n,r){gt(t,n,r)}sendPlayerMessage(t,n){return at(t,this.id,n)}sendPlayerMessageToAll(t,n){return Pt(t,this.id,n)}isNpc(){return this._isNpc}getFps(){return this.lastFps}getDrunkLevel(){return Ni(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return _.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));vi(this.id,t)}allowTeleport(t){c.AllowPlayerTeleport(this.id,t)}isTeleportAllowed(){return c.IsPlayerTeleportAllowed(this.id)}enableCameraTarget(t){_s(this.id,t)}enableStuntBonus(t){Is(this.id,t)}getInterior(){return Ei(this.id)}setInterior(t){return Ci(this.id,t)}showPlayerNameTag(t,n){rs(this.id,t.id,n)}setColor(t){Hi(this.id,t)}getColor(){return xi(this.id)}setPlayerMarker(t,n){ns(this.id,t.id,n)}resetMoney(){return Xi(this.id)}getMoney(){return Yi(this.id)}giveMoney(t){return zi(this.id,t)}resetWeapons(){return Ki(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):yi(this.id)}setHealth(t){return Ti(this.id,t)}getHealth(){return Di(this.id)}toggleClock(t){return na(this.id,t)}toggleControllable(t){return za(this.id,t)}toggleSpectating(t){return Cs(this.id,t)}spectatePlayer(t,n=le.NORMAL){return Es(this.id,t.id,n)}spectateVehicle(t,n=le.NORMAL){return Ts(this.id,t.id,n)}forceClassSelection(){ia(this.id)}kick(){dr(this.id)}ban(){or(this.id)}banEx(t,n){Rt(this.id,t,n)}isAdmin(){return sr(this.id)}isInRangeOfPoint(t,n,r,i){return Ai(this.id,t,n,r,i)}isStreamedIn(t){return fi(this.id,t.id)}setSkin(t,n=!1){return!n&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===Re.DUCK?0:Vi(this.id,t)}getSkin(){return Ui(this.id)}isInAnyVehicle(){return Ps(this.id)}getSpecialAction(){return qa(this.id)}setSpecialAction(t){return $a(this.id,t)}setScore(t){return Mi(this.id,t)}getScore(){return Fi(this.id)}getPing(){return Qi(this.id)||0}setPos(t,n,r){return _t(this.id,t,n,r)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===v.NONE)return;const[t,n,r]=gi(this.id);return{x:t,y:n,z:r}}isSpectating(){return this.getState()===v.SPECTATING}isWasted(){return this.getState()===v.WASTED}getState(){return Ji(this.id)}getVersion(){return this.isNpc()?"":kd(this.id)}setVirtualWorld(t){return ps(this.id,t)}getVirtualWorld(){return As(this.id)}removeFromVehicle(){return Za(this.id)}setWantedLevel(t){return t<0||t>6?(_.error("[Player]: player's wanted level ranges from 0 to 6"),0):aa(this.id,t)}getWantedLevel(){return sa(this.id)}setFacingAngle(t){return Pi(this.id,t)}getFacingAngle(){return pi(this.id)}setWeather(t){if(t<0||t>255){_.warn("[Player]: The valid weather value is only 0 to 255");return}ra(this.id,t)}getWeather(){return c.GetPlayerWeather(this.id)}setTime(t,n){if(t<0||t>23){_.warn("[Player]: The valid hour value is only 0 to 23");return}if(n<0||n>59){_.warn("[Player]: The valid minute value is only 0 to 59");return}return ea(this.id,t,n)}getTime(){const[t,n]=ta(this.id);return{hour:t,minute:n}}removeBuilding(t,n,r,i,a){Pa(this.id,t,n,r,i,a)}setTeam(t){t<0||t>C.NO_TEAM||ki(this.id,t)}getTeam(){return Gi(this.id)}setSkillLevel(t,n){if(n<0||n>999){_.warn("[Player]: The valid skill level is only 0 to 999");return}ya(this.id,t,n)}getName(){return Dt(this)}setName(t){return Lt(this,t)}setVelocity(t,n,r){return la(this.id,t,n,r)}getVelocity(){const[t,n,r]=_a(this.id);return{x:t,y:n,z:r}}getKeys(){const[t,n,r]=$i(this.id);return{keys:t,updown:n,leftright:r}}getIp(){return Bd(this.id)}getFightingStyle(){return oa(this.id)}setFightingStyle(t){da(this.id,t)}setArmour(t){return Li(this.id,t)}getArmour(){return Ri(this.id)}setCameraBehind(){return ss(this.id)}setCameraPos(t,n,r){return is(this.id,t,n,r)}setCameraLookAt(t,n,r,i){return as(this.id,t,n,r,i)}getCameraAspectRatio(){return us(this.id)}getCameraFrontVector(){const[t,n,r]=os(this.id);return{x:t,y:n,z:r}}getCameraMode(){return ls(this.id)}getCameraPos(){const[t,n,r]=ds(this.id);return{x:t,y:n,z:r}}getCameraTargetPlayer(t){const n=hs(this.id);return t.find(r=>r.id===n)}getCameraTargetVehicle(t){const n=cs(this.id);return t.find(r=>r.id===n)}getCameraZoom(){return ms(this.id)}playAudioStream(t,n=0,r=0,i=0,a=5){let s=!1;return(n!==0||r!==0||i!==0)&&(s=!0),ha(this.id,t,n,r,i,a,s)}stopAudioStream(){ua(this.id)}playSound(t,n=0,r=0,i=0){return Xa(this.id,t,n,r,i)}static getPoolSize(){return Gn()}static getMaxPlayers(){return wn()}playCrimeReport(t,n){return n<3||n>22?(_.warn("[Player]: Available crime ids range from 3 to 22"),0):ca(this.id,t.id,n)}interpolateCameraPos(t,n,r,i,a,s,l,h=oe.CUT){ys(this.id,t,n,r,i,a,s,l,h)}interpolateCameraLookAt(t,n,r,i,a,s,l,h=oe.CUT){Ss(this.id,t,n,r,i,a,s,l,h)}createExplosion(t,n,r,i,a){return i<0||i>13?(_.error("[Player]: The valid explosion type value is only 0 to 13"),0):Os(this.id,t,n,r,i,a)}static isConnected(t){return ct(t)}isConnected(){return ct(this.id)}disableRemoteVehicleCollisions(t){return es(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const n=Ka(this.id);return t.find(r=>r.id===n)}getVehicleSeat(){return ja(this.id)}getSurfingVehicle(t){const n=Sa(this.id);if(n!==C.VEHICLE_ID)return t.find(r=>r.id===n)}applyAnimation(t,n,r=!1,i=!0,a=!0,s=!1,l=!1){const h=ut(t,n);if(h===void 0)return _.error("[Player]: Invalid anim library or name");Ya(this.id,t,n,4.1,r,i,a,s,r?0:h,l)}clearAnimations(t=!1){Ja(this.id,t)}getAnimationIndex(){return Qa(this.id)}getAnimationName(){const[t,n]=wd(this.getAnimationIndex());return{animLib:t,animName:n}}setShopName(t){ma(this.id,t)}setPosFindZ(t,n,r=150){return new Promise(i=>{_t(this.id,t,n,r),setTimeout(()=>i(Si(this.id,t,n,r)))})}setWorldBounds(t,n,r,i){ts(this.id,t,n,r,i)}setChatBubble(t,n,r,i){Ua(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Ii(this.id,t,n,r)}getCustomSkin(){return Td(this.id)}getTargetPlayer(t){const n=wi(this.id);if(n!==C.PLAYER_ID)return t.find(r=>r.id===n)}getLastShotVectors(){const[t,n,r,i,a,s]=pa(this.id);return{fOriginX:t,fOriginY:n,fOriginZ:r,fHitPosX:i,fHitPosY:a,fHitPosZ:s}}getWeapon(){return qi(this.id)}getWeaponData(t){if(t<0||t>12){_.error("[Player]: weapon slots range from 0 to 12");return}const[n,r]=Zi(this.id,t);return{weapons:n,ammo:r}}getWeaponState(){return Bi(this.id)}giveWeapon(t,n){return Wi(this.id,t,n)}setAmmo(t,n){return bi(this.id,t,n)}getAmmo(){return Oi(this.id)}setArmedWeapon(t){return ji(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,be.CONNECT)}sendDeathMessage(t,n){Tn(t===C.PLAYER_ID?t:t.id,this.id,n)}sendDeathMessageToPlayer(t,n,r){Dn(this.id,t===C.PLAYER_ID?t:t.id,n===C.PLAYER_ID?n:n.id,r)}setSpawnInfo(t,n,r,i,a,s,l,h,u,y,S,P){t<0||t>C.NO_TEAM||n<0||n>311||n==74||h<0||y<0||P<0||mi(this.id,t,n,r,i,a,s,l,h,u,y,S,P)}redirectDownload(t){return Dd(this.id,t)}sendClientCheck(t,n,r,i){const a=[2,5,69,70,71,72];return a.includes(t)?new Promise((s,l)=>{if(ce(this.id,!0),this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const h=new Promise((u,y)=>{const S=this.getPing(),P=(S>=200?0:S)+200;_e.set(this.id,{resolve:u,reject:y,timeout:setTimeout(()=>ce(this.id,!0),P)}),Bs(this.id,t,n,r,i)});h.then(s,l),h.finally(()=>ce(this.id))}):_.error(`[Player]: sendClientCheck valid types are ${a.toString()}`)}selectTextDraw(t){Rs(this.id,t)}cancelSelectTextDraw(){bs(this.id)}beginObjectSelecting(){ci(this.id)}endObjectEditing(){hi(this.id)}getSurfingObject(t){const n=ga(this.id);if(n!==C.OBJECT_ID)return t.get(n)}isAttachedObjectSlotUsed(t){return fa(this.id,t)}setAttachedObject(t,n,r,i,a,s,l,h,u,y,S,P,f,E){return this.isAttachedObjectSlotUsed(t)?0:Aa(this.id,t,n,r,i,a,s,l,h,u,y,S,P,f,E)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Ia(this.id,t):0}toggleWidescreen(t){return c.TogglePlayerWidescreen(this.id,t)}isPlayerWidescreenToggled(){return c.IsPlayerWidescreenToggled(this.id)}getSpawnInfo(){return c.GetSpawnInfo(this.id)}getSkillLevel(t){return c.GetPlayerSkillLevel(this.id,t)}isCheckpointActive(){return c.IsPlayerCheckpointActive(this.id)}getCheckpoint(){return c.GetPlayerCheckpoint(this.id)}isRaceCheckpointActive(){return c.IsPlayerRaceCheckpointActive(this.id)}getRaceCheckpoint(){return c.GetPlayerRaceCheckpoint(this.id)}getWorldBounds(){c.GetPlayerWorldBounds(this.id)}isInModShop(){return c.IsPlayerInModShop(this.id)}getSirenState(){return c.GetPlayerSirenState(this.id)}getLandingGearState(){return c.GetPlayerLandingGearState(this.id)}getHydraReactorAngle(){return c.GetPlayerHydraReactorAngle(this.id)}getTrainSpeed(){return c.GetPlayerTrainSpeed(this.id)}getZAim(){return c.GetPlayerZAim(this.id)}getSurfingOffsets(){return c.GetPlayerSurfingOffsets(this.id)}getRotationQuat(){return c.GetPlayerRotationQuat(this.id)}getDialogID(){return c.GetPlayerDialogID(this.id)}getSpectateID(){return c.GetPlayerSpectateID(this.id)}getSpectateType(){return c.GetPlayerSpectateType(this.id)}getRawIp(){return c.GetPlayerRawIp(this.id)}setGravity(t){return c.SetPlayerGravity(this.id,t)}getGravity(){return c.GetPlayerGravity(this.id)}setAdmin(t){return c.SetPlayerAdmin(this.id,t)}isSpawned(){return c.IsPlayerSpawned(this.id)}isControllable(){return c.IsPlayerControllable(this.id)}isCameraTargetEnabled(){return c.IsPlayerCameraTargetEnabled(this.id)}toggleGhostMode(t){return c.TogglePlayerGhostMode(this.id,t)}getGhostMode(){return c.GetPlayerGhostMode(this.id)}getBuildingsRemoved(){return c.GetPlayerBuildingsRemoved(this.id)}getAttachedObject(t){return c.GetPlayerAttachedObject(this.id,t)}removeWeapon(t){return c.RemovePlayerWeapon(this.id,t)}isUsingOfficialClient(){return c.IsPlayerUsingOfficialClient(this.id)}allowWeapons(t){return c.AllowPlayerWeapons(this.id,t)}areWeaponsAllowed(){return c.ArePlayerWeaponsAllowed(this.id)}gpci(t){return _i(this.id,t)}}let he=null,ue=null;F.on(M.create,e=>{ue===null&&(ue=e)}),ot(()=>(!he&&ue&&k.getPoolSize()>-1&&(he=setInterval(()=>{for(const e of ue){const t=e[1];!t.isNpc()&&!t.isPaused&&t.getState()!==v.NONE&&Date.now()-t.lastUpdateTick>1e3&&F.emit(M.pause,t)}},500)),1)),lt(()=>(he&&k.getPoolSize()<=0&&clearInterval(he),1));class vd{eventMap=new Map;on=(t,n,r)=>(n instanceof Array||(n=[n]),n.forEach(i=>{const a=this.eventMap.get(i);if(!a)this.eventMap.set(i,new Map().set(t,r instanceof Array?r:[r]));else{const s=a.get(t);s?(r instanceof Array?r:[r]).forEach(l=>s.push(l)):a.set(t,r instanceof Array?r:[r])}}),()=>this.off(t,n,r));off=(t,n,r)=>{n instanceof Array||(n=[n]),n.forEach(i=>{const a=this.eventMap.get(i);if(!a)return;const s=a.get(t);if(s){r instanceof Array||(r=[r]);for(let l=0;l<s.length;l++){const h=s[l];!r.includes(h)||(s.splice(l,1),l--)}}})}}const Be={format:{code:0,msg:"failed to recognize command (almost never)"},notExist:{code:1,msg:"command does not exist"},rejected:{code:2,msg:"rejected because true/1 was not returned"}};class Z{players=new Map;static cmdBus=new vd;constructor(t){ot(n=>{const r=t(n);return this.players.set(n,r),m(this,"onConnect")(r)}),lt((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;T.close(i),ce(n,!0);const a=m(this,"onDisconnect")(i,r);return this.players.delete(n),a}),At((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onText",0)(i,I.decodeFromBuf(r,i.charset)):1}),It((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=I.decodeFromBuf(r,i.charset),s=a.match(/[^/\s]+/gi);return s===null||s.length===0?(this.onCommandError&&this.onCommandError(i,a,Be.format),0):(this.promiseCommand(i,s),1)}),jt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onEnterExitModShop")(a,r,i):0}),dn((n,r,i,a)=>{const s=this.findPlayerById(n);return s?m(this,"onClickMap")(s,r,i,a):0}),yn((n,r,i)=>{const a=this.findPlayerById(n);if(!a)return 0;const s=this.findPlayerById(r);return s?m(this,"onClickPlayer")(a,s,i):0}),Ft((n,r,i)=>{const a=m(this,"onDeath"),s=this.findPlayerById(n);if(!s)return 0;if(r===C.PLAYER_ID)return a(s,r,i);const l=this.findPlayerById(r);return l?a(s,l,i):0}),sn((n,r,i,a,s)=>{const l=this.findPlayerById(n);if(!l)return 0;const h=this.findPlayerById(r);return h?m(this,"onGiveDamage")(l,h,i,a,s):0}),qt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onKeyStateChange")(a,r,i):0}),Ht((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onRequestClass")(i,r):0}),Wt(n=>{const r=this.findPlayerById(n);return r?m(this,"onRequestSpawn")(r):0}),Mt(n=>{const r=this.findPlayerById(n);return r?m(this,"onSpawn")(r):0}),Ut((n,r,i)=>{const a=this.findPlayerById(n);return a?(i===v.NONE&&(a.lastUpdateTick=Date.now()),m(this,"onStateChange")(a,r,i)):0}),en((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onStreamIn")(i,a):0}),tn((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onStreamOut")(i,a):0}),an((n,r,i,a,s)=>{const l=this.findPlayerById(n);if(!l)return 0;if(r===C.PLAYER_ID)return m(this,"onTakeDamage")(l,r,i,a,s);const h=this.findPlayerById(r);return h?m(this,"onTakeDamage")(l,h,i,a,s):0}),$t(n=>{const r=this.findPlayerById(n);if(!r)return 0;if(!r.isNpc()){const a=Date.now();r.isPaused&&(r.isPaused=!1,this.onResume&&this.onResume(r,a-r.lastUpdateTick)),r.lastUpdateTick=a,Z.fpsHeartbeat(r)}const i=m(this,"throttleUpdate")(r);return i===void 0?0:i}),Qt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onInteriorChange")(a,r,i):0}),mn((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onRequestDownload")(a,r,i):0}),un((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onFinishedDownloading")(i,r):0}),F.emit(M.create,this.players),F.on(M.pause,n=>{n.isPaused=!0,this.onPause&&this.onPause(n,n.lastUpdateTick)}),F.on(M.setCommonProp,({player:n,prop:r,value:i})=>{Reflect.set(n,r,i),this.players.set(n.id,n)})}findPlayerById(t){return this.players.get(t)}getPlayersArr(){return[...this.players.values()]}getPlayersMap(){return this.players}throttleUpdate=O.throttle(t=>this.onUpdate&&this.onUpdate(t),60);static fpsHeartbeat=O.throttle(t=>{if(!k.isConnected(t.id))return;const n=t.getDrunkLevel();if(n<100){t.setDrunkLevel(2e3),t.lastDrunkLevel=2e3,t.lastFps=0;return}t.lastFps=t.lastDrunkLevel-n-1,t.lastDrunkLevel=n},1e3);onCommandText=(t,n)=>Z.cmdBus.on(this,t,n);offCommandText=(t,n)=>{Z.cmdBus.off(this,t,n)};promiseCommand=async(t,n)=>{const r=n.join(" "),i=n[0],a=Z.cmdBus.eventMap.get(i);if(!a&&this.onCommandError){this.onCommandError(t,r,Be.notExist);return}const s=a?.get(this);if(!s)return;let l=this.onCommandReceived&&this.onCommandReceived(t,r);if(l!==void 0&&(l instanceof Promise&&(l=await l),!l))return st();s.forEach(async h=>{let u=h.call(this,t,...n.slice(1));if(u instanceof Promise&&(u=await u),u==null&&(u=!1),u){let y=this.onCommandPerformed&&this.onCommandPerformed(t,r);return y instanceof Promise&&(y=await y),y?void 0:st()}m(this,"onCommandError")(t,r,Be.rejected)})}}const Hd=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],xd=[[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],[],[],[],[],[],[],[],[]],Vd=(e,t)=>{if(!Ud(e))return _.error("[vehicleUtils]: Invalid model id"),!1;const n=xd[e-400];if(n===null)return!1;const r=t-1e3;return Hd.includes(r)||n.includes(r)},Ud=e=>e>=400&&e<=611,Wd=(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};var X=(e=>(e.created="OnVehicleCreate",e.destroyed="OnVehicleDestroy",e))(X||{});const me=new L;class V{_id=-1;static createdCount=0;sourceInfo;isStatic;get id(){return this._id}constructor(t,n=!1){this.sourceInfo=t,this.isStatic=n}create(t=!1){if(this.id!==-1)return _.warn("[Vehicle]: Unable to create the vehicle again");if(V.createdCount===B.MAX_VEHICLES)return _.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelid:n,x:r,y:i,z:a,z_angle:s,colour1:l,colour2:h,respawn_delay:u,addsiren:y}=this.sourceInfo;if(!(!t&&(n<400||n>611))){if(this.isStatic){if(u===void 0){this._id=xn(n,r,i,a,s,l,h);return}this._id=Vn(n,r,i,a,s,l,h,u||-1,y||!1)}else this._id=ws(n,r,i,a,s,l,h,u||-1,y||!1);V.createdCount++,me.emit(X.created,this)}}destroy(){if(this.id===-1)return _.warn("[Vehicle]: Unable to destroy the vehicle before create");ks(this.id),V.createdCount--,me.emit(X.destroyed,this),this._id=-1}addComponent(t){return this.id===-1?0:Vd(this.getModel(),t)?qs(this.id,t):(_.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(V.getComponentType(t))===0?(_.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):$s(this.id,t)}getComponentInSlot(t){return _d(this.id,t)}static getComponentType(t){return cd(t)}linkToInterior(t){return this.id===-1?0:Qs(this.id,t)}setVirtualWorld(t){return this.id===-1?0:pd(this.id,t)}getVirtualWorld(){return this.id===-1?0:Ad(this.id)}repair(){return this.id===-1?0:hd(this.id)}setPos(t,n,r){return this.id===-1?0:Fs(this.id,t,n,r)}getPos(){if(this.id!==-1)return Ms(this.id)}getHealth(){return this.id===-1?0:rd(this.id)}setHealth(t){return this.id===-1?0:nd(this.id,t)}isPlayerIn(t){return this.id===-1?!1:gs(t.id,this.id)}putPlayerIn(t,n){return this.id===-1||n<0?0:(n>4&&_.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),Wa(t.id,this.id,n))}getZAngle(){return this.id===-1?0:Ns(this.id)}setZAngle(t){return this.id===-1?0:xs(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(_.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?od(this.id,t):(_.error("[Vehicle]: number plates only allow letters and numbers"),0)}static getPoolSize(){return Mn()}changeColours(t,n){return this.id===-1?0:ed(this.id,t,n)}setVelocity(t,n,r){return this.id===-1?0:md(this.id,t,n,r)}getVelocity(){if(this.id===-1)return;const[t,n,r]=ud(this.id);return{x:t,y:n,z:r}}setAngularVelocity(t,n,r){return this.id===-1?0:yd(this.id,t,n,r)}getDamageStatus(){if(this.id!==-1)return Sd(this.id)}updateDamageStatus(t,n,r,i){this.id!==-1&&gd(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Hs(this.id,t,n,r)}getModel(){return ld(this.id)}static getModelInfo(t,n){return Pd(t,n)}getModelInfo(t){if(this.id!==-1)return V.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,n,r,i]=vs(this.id);return{w:t,x:n,y:r,z:i}}setRespawn(){return this.id===-1?0:Js(this.id)}isStreamedIn(t){return this.id===-1?!1:Gs(this.id,t.id)}setParamsCarDoors(t,n,r,i){return this.id===-1?0:Zs(this.id,t,n,r,i)}setParamsCarWindows(t,n,r,i){return this.id===-1?0:Xs(this.id,t,n,r,i)}getParamsCarDoors(){if(this.id!==-1)return zs(this.id)}getParamsCarWindows(){if(this.id!==-1)return Ys(this.id)}setParamsEx(t,n,r,i,a,s,l){return this.id===-1?0:Ws(this.id,t,n,r,i,a,s,l)}getParamsEx(){if(this.id===-1)return;const[t,n,r,i,a,s,l]=Ks(this.id);return{engine:t,lights:n,alarm:r,doors:i,bonnet:a,boot:s,objective:l}}getParamsSirenState(){return this.id===-1?-2:js(this.id)}setParamsForPlayer(t,n,r){return this.id===-1?0:Vs(this.id,t.id,n,r)}isTrailerAttached(){return this.id===-1?!1:sd(this.id)}changePaintjob(t){return this.id===-1||!Wd(this.getModel(),t)?0:(this.changeColours("#fff","#fff"),td(this.id,t),1)}attachTrailer(t){return this.id===-1?0:id(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&ad(this.id)}getTrailer(t){if(this.id!==-1)return t.find(n=>n.id===dd(this.id))}isValid(){return ht(this.id)}static isValid(t){return ht(t)}getMatrix(){if(this.id!==-1)return c.GetVehicleMatrix(this.id)}getTrainSpeed(){return this.id===-1?0:c.GetVehicleTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===-1?0:c.GetVehicleHydraReactorAngle(this.id)}getLandingGearState(){return this.id===-1?0:c.GetVehicleLandingGearState(this.id)}getSirenState(){return this.id===-1?0:c.GetVehicleSirenState(this.id)}static getModelsUsed=c.GetVehicleModelsUsed;getDriver(t){if(this.id!==-1)return t.get(c.GetVehicleDriver(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(c.GetVehicleLastDriver(this.id))}static getModelCount=c.GetVehicleModelCount;isSirenEnabled(){return c.IsVehicleSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===-1?0:c.ToggleVehicleSirenEnabled(this.id,t)}isDead(){return this.id===-1?!0:c.IsVehicleDead(this.id)}getRespawnTick(){return this.id===-1?0:c.GetVehicleRespawnTick(this.id)}isOccupied(){return this.id===-1?!1:c.IsVehicleOccupied(this.id)}hasBeenOccupied(){return this.id===-1?!1:c.HasVehicleBeenOccupied(this.id)}getOccupiedTick(){return this.id===-1?0:c.GetVehicleOccupiedTick(this.id)}getCab(){return this.id===-1?0:c.GetVehicleCab(this.id)}getRespawnDelay(){return this.id===-1?0:c.GetVehicleRespawnDelay(this.id)}setRespawnDelay(t){return this.id===-1?0:c.SetVehicleRespawnDelay(this.id,t)}getNumberPlate(){return this.id===-1?"":c.GetVehicleNumberPlate(this.id)}getInterior(){return this.id===-1?0:c.GetVehicleInterior(this.id)}getPaintjob(){return this.id===-1?-1:c.GetVehiclePaintjob(this.id)}getColours(){if(this.id!==-1)return c.GetVehicleColours(this.id)}setSpawnInfo(t,n,r,i,a,s,l,h=-2,u=-2,y=!1){return this.id===-1||!y&&(t<400||t>611)?0:c.SetVehicleSpawnInfo(this.id,t,n,r,i,a,p(s),p(l),h,u)}getSpawnInfo(){if(this.id!==-1)return c.GetVehicleSpawnInfo(this.id)}}class Kd{vehicles=new Map;players;constructor(t,n=!0){this.players=t,me.on(X.created,r=>{this.vehicles.set(r.id,r)}),me.on(X.destroyed,r=>{this.vehicles.delete(r.id)}),n&&D(()=>{this.vehicles.forEach(r=>r.destroy()),this.vehicles.clear()}),Xt((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onDamageStatusUpdate")(a,s):0}),vt((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onDeath")(a,s):0}),Kt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 1;const l=this.findVehicleById(i);return l?m(this,"onMod")(s,l,a):1}),Zt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 1;const l=this.findVehicleById(i);return l?m(this,"onPaintjob")(s,l,a):1}),zt((r,i,a,s)=>{const l=this.findPlayerById(r);if(!l)return 1;const h=this.findVehicleById(i);return h?m(this,"onRespray")(l,h,a,s):1}),hn((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 0;const l=this.findVehicleById(i);return l?m(this,"onSirenStateChange")(s,l,Boolean(a)):0}),Nt(r=>{const i=this.findVehicleById(r);return i?m(this,"onSpawn")(i):1}),nn((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onStreamIn")(a,s):0}),rn((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onStreamOut")(a,s):0}),xt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 0;const l=this.findVehicleById(i);return l?m(this,"onPlayerEnter")(s,l,Boolean(a)):0}),Vt((r,i)=>{const a=this.findPlayerById(r);if(!a)return 0;const s=this.findVehicleById(i);return s?m(this,"onPlayerExit")(a,s):0}),gn((r,i)=>{const a=this.findVehicleById(r);return a?m(this,"onNpcEnter")(a,i):0}),Pn(m(this,"onNpcExit")),cn((r,i)=>{const a=this.findPlayerById(r);if(!a)return 0;const s=this.findVehicleById(i);return s?m(this,"onTrailerUpdate")(a,s):0})}findVehicleById(t){return this.vehicles.get(t)}findPlayerById(t){return this.players.get(t)}getVehiclesArr(){return[...this.vehicles.values()]}getVehiclesMap(){return this.vehicles}}const x=[],K=[],we=e=>{setTimeout(async()=>{try{const t=x.findIndex(r=>r.name===e);if(t===-1)return;const n=x[t];await n.load(),x.splice(t,1),K.push(n)}catch(t){_.error(`[GameMode]: script ${e} load fail`),_.warn(new Error(JSON.stringify(t)))}})},ke=e=>{setTimeout(async()=>{try{const t=K.findIndex(r=>r.name===e);if(t===-1)return;const n=K[t];await n.unload(),K.splice(t,1),x.push(n)}catch(t){_.error(`[GameMode]: script ${e} unload fail`),_.warn(new Error(JSON.stringify(t)))}})},jd=e=>{ke(e),we(e)};dt(()=>{x.forEach(e=>we(e.name))}),D(()=>{K.forEach(e=>ke(e.name))});const Zd=function(e,...t){if(x.some(n=>n===e)||K.some(n=>n===e)){_.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),x.push(e)};class se{static charset=R;initialized=!1;constructor(){dt(()=>{if(this.initialized)return _.error("[GameMode]: Cannot be initialized more than once");se.supportAllNickname(),this.initialized=!0,this.onInit&&this.onInit()}),D(()=>{if(!this.initialized)return _.error("[GameMode]: Cannot unload more than once");this.initialized=!1,this.onExit&&this.onExit()}),_n(m(this,"onIncomingConnection")),Et(m(this,"onRconCommand")),Tt(m(this,"onRconLoginAttempt"))}isInitialized(){return this.initialized}static exit(){Kn()}static use=(t,...n)=>(Zd(t,...n),this);static loadScript=we;static unloadScript=ke;static reloadScript=jd;static supportAllNickname(){for(let t=0;t<=255;t++)se.isNickNameCharacterAllowed(t)||se.allowNickNameCharacter(t,!0)}static allowAdminTeleport=c.AllowAdminTeleport;static isAdminTeleportAllowed=c.IsAdminTeleportAllowed;static allowInteriorWeapons=c.AllowInteriorWeapons;static areInteriorWeaponsAllowed=c.AreInteriorWeaponsAllowed;static areAllAnimationsEnabled=c.AreAllAnimationsEnabled;static enableAllAnimations=c.EnableAllAnimations;static enableStuntBonusForAll=fs;static enableVehicleFriendlyFire=Zn;static enableZoneNames=Qn;static disableInteriorEnterExits=$n;static setGameModeText=Fn;static getGravity=Xn;static setGravity=Yn;static showNameTags=Un;static disableNameTagLOS=tr;static usePlayerPedAnims=qn;static showPlayerMarkers=Wn;static limitPlayerMarkerRadius=rr;static limitGlobalChatRadius=nr;static setNameTagDrawDistance=er;static setWeather(t){return t<0||t>255?(_.error("[GameMode]: The valid weather value is only 0 to 255"),0):zn(t)}static setWorldTime(t){return t<0||t>23?(_.error("[GameMode]: The valid hour value is only 0 to 23"),0):jn(t)}static setTeamCount=Nn;static sendRconCommand=lr;static addPlayerClass=vn;static addPlayerClassEx=Hn;static createExplosion(t,n,r,i,a){return i<0||i>13?(_.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Jn(t,n,r,i,a)}static manualVehicleEngineAndLights=Us;static blockIpAddress=hr;static unBlockIpAddress=ur;static getServerTickRate=mr;static addSimpleModel(t,n,r,i,a){return this.checkSimpleModel(t,n,r,i,a)?Ld(t,n,r,i,a):0}static addSimpleModelTimed(t,n,r,i,a,s,l){return this.checkSimpleModel(t,n,r,i,a,s,l)?Rd(t,n,r,i,a,s,l):0}static checkSimpleModel(t,n,r,i,a,s,l){return t<-1?(_.error("[GameMode]: AddSimpleModel - Error virtual world"),0):n<0?(_.error("[GameMode]: AddSimpleModel - Error baseid"),0):r>-1e3||r<-3e4?(_.error("[GameMode]: AddSimpleModel - Error newid range"),0):i.trim().length<0?(_.error("[GameMode]: AddSimpleModel - Empty dffname"),0):a.trim().length<0?(_.error("[GameMode]: AddSimpleModel - Empty txdname"),0):s!==void 0&&(s<0||s>23)?(_.error("[GameMode]: AddSimpleModel - Error time on range"),0):l!==void 0&&(l<0||l>23)?(_.error("[GameMode]: AddSimpleModel - Error time off range"),0):1}static findModelFileNameFromCRC=Gd;static findTextureFileNameFromCRC=Md;static getWeaponName=bd;static setObjectsDefaultCameraCollision=ui;static vectorSize=kn;static clearBanList=c.ClearBanList;static isBanned=c.IsBanned;static isValidNickName=c.IsValidNickName;static allowNickNameCharacter=c.AllowNickNameCharacter;static isNickNameCharacterAllowed=c.IsNickNameCharacterAllowed;static addServerRule=c.AddServerRule;static setServerRule=c.SetServerRule;static isValidServerRule=c.IsValidServerRule;static removeServerRule=c.RemoveServerRule;static getWeaponSlot=c.GetWeaponSlot;static getAvailableClasses=c.GetAvailableClasses;static getPlayerClass=c.GetPlayerClass;static editPlayerClass=c.EditPlayerClass;static toggleChatTextReplacement=c.ToggleChatTextReplacement;static chatTextReplacementToggled=c.ChatTextReplacementToggled}class zd{constructor(){}static getNetworkStats(){return cr()}static getPlayerNetworkStats(t){return _r(t.id)}static getBytesReceived(t){return gr(t.id)}static getBytesSent(t){return pr(t.id)}static getConnectionStatus(t){return fr(t.id)}static getConnectedTime(t){return yr(t.id)}static getIpPort(t){return Od(t.id)}static getMessagesReceived(t){return Sr(t.id)}static getMessagesRecvPerSecond(t){return Ar(t.id)}static getMessagesSent(t){return Pr(t.id)}static getPacketLossPercent(t){return Ir(t.id)}}class Xd{_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){Rn(t)}static has(t,n){return On(t.id,n)}forAll(){Ln(this.text,this.time,this.style)}forPlayer(t){bn(t.id,this.text,this.time,this.style)}hideForPlayer(t){return Bn(t.id,this.style)}}var Y=(e=>(e.created="OnMenuCreate",e.destroyed="OnMenuDestroy",e))(Y||{});const ye=new L;class Te{static menuCount=0;_id=-1;_itemCount=0;get itemCount(){return this._itemCount}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){_.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,a,s){this._title=t,this.columns=n,this._x=r,this._y=i,this._col1width=a,this._col2width=s}create(){return this._id!==-1?_.error("[Menu]: Cannot be created twice"):Te.menuCount===B.MAX_MENUS?_.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=Cr(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),ye.emit(Y.created,this),Te.menuCount++,this)}destroy(){return this._id===-1?_.error("[Menu]: Cannot destroy before create"):(Er(this.id),ye.emit(Y.destroyed,this),this)}addItem(t,n){return this._id===-1?_.error("[Menu]: Cannot addItem before create"):this._itemCount===B.MAX_MENU_ROW?_.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?_.error("[Menu]: Wrong number of columns"):(Tr(this.id,t,n),this._itemCount++,this)}setColumnHeader(t,n){return this._id===-1?_.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?_.error("[Menu]: Wrong number of columns"):(Dr(this.id,t,n),this)}disable(){return this._id===-1?_.error("[Menu]: Cannot disable menu before create"):(Or(this.id),this)}disableRow(t){if(this._id===-1)return _.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return _.error("[Menu]: Wrong number of rows");Br(this.id,t)}isValid(){return br(this.id)}showForPlayer(t){return this._id===-1?_.error("[Menu]: Cannot show menu before create"):Lr(this.id,t.id)}hideForPlayer(t){return this._id===-1?_.error("[Menu]: Cannot hide menu before create"):Rr(this.id,t.id)}static getMenu(t,n){return n.find(r=>r.id===Oe(t.id))}isDisabled(){return this._id===-1?!1:c.IsMenuDisabled(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:c.IsMenuRowDisabled(this.id,t)}getItems(t){return this._id===-1?0:c.GetMenuItems(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:c.GetMenuPos(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:c.GetMenuColumnWidth(this.id)}getColumnHeader(t){return this._id===-1?_.error("[Menu]: Cannot get column header before create"):c.GetMenuColumnHeader(this.id,t)}getItem(t,n){if(this._id===-1)return _.error("[Menu]: Cannot get item before create");if(!(n<0||n>this.getItems(t)-1))return c.GetMenuItem(this.id,t,n)}}class Yd{menus=new Map;players;constructor(t,n=!0){this.players=t,ye.on(Y.created,r=>{this.menus.set(r.id,r)}),ye.on(Y.destroyed,r=>{this.menus.delete(r.id)}),n&&D(()=>{this.menus.forEach(r=>r.destroy()),this.menus.clear()}),Jt(r=>{const i=this.findMenuById(Oe(r));if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onPlayerExited")(a,i):0}),Yt((r,i)=>{const a=this.findMenuById(Oe(r));if(!a)return 0;const s=this.findPlayerById(r);return s?m(this,"onPlayerSelectedRow")(s,a,i):0})}findPlayerById(t){return this.players.get(t)}findMenuById(t){if(t!==C.MENU)return this.menus.get(t)}getMenusArr(){return[...this.menus.values()]}getMenusMap(){return this.menus}}var J=(e=>(e.created="OnGangZoneCreate",e.destroyed="OnGangZoneDestroy",e))(J||{});const Se=new L;class N{_id=-1;static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;constructor(t){this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return _.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(N.createdPlayerCount===B.MAX_GANG_ZONES)return _.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minx:n,miny:r,maxx:i,maxy:a}=this.sourceInfo;this._id=c.CreatePlayerGangZone(t.id,n,r,i,a),N.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(N.createdGlobalCount===B.MAX_GANG_ZONES)return _.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minx:n,miny:r,maxx:i,maxy:a}=this.sourceInfo;this._id=ei(n,r,i,a),N.createdGlobalCount++}Se.emit(J.created,{key:{id:this.id,global:t===void 0},value:this})}destroy(){if(this.id===-1)return _.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(c.PlayerGangZoneDestroy(t.id,this.id),N.createdPlayerCount--):(ti(this.id),N.createdGlobalCount--),Se.emit(J.destroyed,{id:this.id,global:t===void 0}),this._id=-1}showForAll(t){return this.id===-1?_.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be show for all."):(ri(this.id,t),this)}showForPlayer(t,n){if(this.id===-1)return _.warn("[GangZone]: Unable to show the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneShow(r.id,this.id,p(t));else if(n)ni(n.id,this.id,t);else return _.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?_.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be hide for all."):(ai(this.id),this)}hideForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to hide the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneHide(n.id,this.id);else if(t)ii(t.id,this.id);else return _.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?_.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be flash for all."):(di(this.id,t),this)}flashForPlayer(t,n){if(this.id===-1)return _.warn("[GangZone]: Unable to flash the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneFlash(r.id,this.id,p(n));else if(t)si(t.id,this.id,n);else return _.warn("[GangZone]: invalid player for flash");return this}StopFlashForAll(){return this.id===-1?_.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be stop flash for all."):(li(this.id),this)}StopFlashForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to stop flash the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneStopFlash(n.id,this.id);else if(t)oi(t.id,this.id);else return _.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.IsValidPlayerGangZone(t.id,this.id):c.IsValidGangZone(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerInPlayerGangZone(n.id,this.id):c.IsPlayerInGangZone(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneVisible(n.id,this.id):c.IsGangZoneVisibleForPlayer(t.id,this.id)}getColourForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to get colour before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetColour(n.id,this.id):c.GangZoneGetColourForPlayer(t.id,this.id)}getFlashColourForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to get flash colour before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetFlashColour(n.id,this.id):c.GangZoneGetFlashColourForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneFlashing(n.id,this.id):c.IsGangZoneFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===-1)return _.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?c.PlayerGangZoneGetPos(t.id,this.id):c.GangZoneGetPos(this.id)}useCheck(t){if(this.id===-1)return _.warn("[GangZone]: Unable to use check before create");const n=this.sourceInfo.player;return n?c.UsePlayerGangZoneCheck(n.id,this.id,t):c.UseGangZoneCheck(this.id,t),this}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}}class Jd{gangZones=new Map;players;constructor(t,n=!0){this.players=t,Se.on(J.created,r=>{this.gangZones.set(r.key,r.value)}),Se.on(J.destroyed,r=>{this.gangZones.has(r)&&this.gangZones.delete(r)}),n&&D(()=>{this.gangZones.forEach(r=>r.destroy()),this.gangZones.clear()}),c.OnPlayerEnterGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!0});return s?m(this,"onPlayerEnter")(a,s):0}),c.OnPlayerEnterPlayerGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!1});return s?m(this,"onPlayerEnter")(a,s):0}),c.OnPlayerLeaveGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!0});return s?m(this,"onPlayerLeave")(a,s):0}),c.OnPlayerLeavePlayerGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!1});return s?m(this,"onPlayerLeave")(a,s):0})}}class A{constructor(){}static getTickRate=o.Streamer_GetTickRate;static setTickRate=o.Streamer_SetTickRate;static getPlayerTickRate(t){return o.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,n=50){return o.Streamer_SetPlayerTickRate(t.id,n)}static toggleChunkStream=o.Streamer_ToggleChunkStream;static isToggleChunkStream=o.Streamer_IsToggleChunkStream;static getChunkTickRate(t,n=-1){return n instanceof k?o.Streamer_GetChunkTickRate(t,n.id):o.Streamer_GetChunkTickRate(t,n)}static setChunkTickRate(t,n,r=-1){return r instanceof k?o.Streamer_SetChunkTickRate(t,n,r.id):o.Streamer_SetChunkTickRate(t,n,r)}static getChunkSize=o.Streamer_GetChunkSize;static setChunkSize=o.Streamer_SetChunkSize;static getMaxItems=o.Streamer_GetMaxItems;static setMaxItems=o.Streamer_SetMaxItems;static getVisibleItems(t,n=-1){return n instanceof k?o.Streamer_GetVisibleItems(t,n.id):o.Streamer_GetVisibleItems(t,n)}static setVisibleItems(t,n,r=-1){return r instanceof k?o.Streamer_SetVisibleItems(t,n,r.id):o.Streamer_SetVisibleItems(t,n,r)}static getRadiusMultiplier(t,n=-1){return n instanceof k?o.Streamer_GetRadiusMultiplier(t,n.id):o.Streamer_GetRadiusMultiplier(t,n)}static setRadiusMultiplier(t,n,r=-1){return r instanceof k?o.Streamer_SetRadiusMultiplier(t,r.id):o.Streamer_SetRadiusMultiplier(t,n,r)}static getTypePriority=o.Streamer_GetTypePriority;static setTypePriority=o.Streamer_SetTypePriority;static getCellDistance=o.Streamer_GetCellDistance;static setCellDistance=o.Streamer_SetCellDistance;static getCellSize=o.Streamer_GetCellSize;static setCellSize=o.Streamer_SetCellSize;static toggleItemStatic=o.Streamer_ToggleItemStatic;static isToggleItemStatic=o.Streamer_IsToggleItemStatic;static toggleItemInvAreas=o.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=o.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=o.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=o.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=o.Streamer_ToggleErrorCallback;static isToggleErrorCallback=o.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=o.Streamer_AmxUnloadDestroyItems;static processActiveItems=o.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,n){return o.Streamer_ToggleIdleUpdate(t.id,n)}static isToggleIdleUpdate(t){return o.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,n){return o.Streamer_ToggleCameraUpdate(t.id,n)}static isToggleCameraUpdate(t){return o.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,n,r){return o.Streamer_ToggleItemUpdate(t.id,n,r)}static isToggleItemUpdate(t,n){return o.Streamer_IsToggleItemUpdate(t.id,n)}static getLastUpdateTime(){return o.Streamer_GetLastUpdateTime()}static update(t,n=-1){return o.Streamer_Update(t.id,n)}static updateEx(t,n,r,i,a,s,l,h,u){return o.Streamer_UpdateEx(t.id,n,r,i,a,s,l,h,u)}static getDistanceToItem=o.Streamer_GetDistanceToItem;static toggleItem(t,n,r,i){return o.Streamer_ToggleItem(t.id,n,r,i)}static isToggleItem(t,n,r){return o.Streamer_IsToggleItem(t.id,n,r)}static toggleAllItems(t,n,r,i=[-1]){return o.Streamer_ToggleAllItems(t.id,n,r,i)}static getItemInternalID(t,n,r){return o.Streamer_GetItemInternalID(t.id,n,r)}static getItemStreamerID(t,n,r){return o.Streamer_GetItemStreamerID(t.id,n,r)}static isItemVisible(t,n,r){return o.Streamer_IsItemVisible(t.id,n,r)}static destroyAllVisibleItems(t,n,r=1){return o.Streamer_DestroyAllVisibleItems(t.id,n,r)}static countVisibleItems(t,n,r=1){return o.Streamer_CountVisibleItems(t.id,n,r)}static destroyAllItems=o.Streamer_DestroyAllItems;static countItems=o.Streamer_CountItems;static getNearbyItems=o.Streamer_GetNearbyItems;static getAllVisibleItems(t,n,r){o.Streamer_GetAllVisibleItems(t.id,n,r)}static getItemPos=o.Streamer_GetItemPos;static setItemPos=o.Streamer_SetItemPos;static getItemOffset=o.Streamer_GetItemOffset;static setItemOffset=o.Streamer_SetItemOffset;static getFloatData=o.Streamer_GetFloatData;static setFloatData=o.Streamer_SetFloatData;static getIntData=o.Streamer_GetIntData;static setIntData=o.Streamer_SetIntData;static getArrayData=o.Streamer_GetArrayData;static setArrayData=o.Streamer_SetArrayData;static isInArrayData=o.Streamer_IsInArrayData;static appendArrayData=o.Streamer_AppendArrayData;static removeArrayData=o.Streamer_RemoveArrayData;static getArrayDataLength=o.Streamer_GetArrayDataLength;static getUpperBound=o.Streamer_GetUpperBound;static onItemStreamIn=o.Streamer_OnItemStreamIn;static onItemStreamOut=o.Streamer_OnItemStreamOut;static onPluginError=o.Streamer_OnPluginError}var j=(e=>(e.created="OnMapIconCreate",e.destroyed="OnMapIconDestroy",e))(j||{});const Q=new L;class Qd{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamdistance:n,worldid:r,interiorid:i,playerid:a,areaid:s,priority:l}=this.sourceInfo;const{x:h,y:u,z:y,type:S,colour:P,extended:f}=this.sourceInfo;return S<0||S>63?_.error("[StreamerMapIcon]: Invalid map icon type"):(t??=o.MapIconStyles.LOCAL,n??=o.StreamerDistances.MAP_ICON_SD,l??=0,f?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=o.CreateDynamicMapIconEx(h,u,y,S,p(P),t,n,r,i,a,s,l),Q.emit(j.created,this),this):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=o.CreateDynamicMapIcon(h,u,y,S,p(P),r,i,a,n,t,s,l),Q.emit(j.created,this),this))}destroy(){return this.id===-1?_.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(o.DestroyDynamicMapIcon(this.id),Q.emit(j.destroyed,this),this)}isValid(){return o.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.MAP_ICON,this.id)}}class qd{mapIcons=new Map;players;constructor(t,n=!0){this.players=t,Q.on(j.created,r=>{this.mapIcons.set(r.id,r)}),Q.on(j.destroyed,r=>{this.mapIcons.delete(r.id)}),n&&D(()=>{this.mapIcons.forEach(r=>r.destroy()),this.mapIcons.clear()}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.MAP_ICON){const s=this.mapIcons.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.MAP_ICON){const s=this.mapIcons.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getMapIconsArr(){return[...this.mapIcons.values()]}getMapIconsMap(){return this.mapIcons}}var q=(e=>(e.created="OnPickupCreate",e.destroyed="OnPickupDestroy",e))(q||{});const ge=new L;class $d{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerPickup]: Unable to create pickup again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{type:l,modelid:h,x:u,y,z:S,extended:P}=this.sourceInfo;return l<0||l>22?_.error("[StreamerPickup]: Invalid pickup type"):(t??=o.StreamerDistances.PICKUP_SD,s??=0,P?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicPickupEx(h,l,u,y,S,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicPickup(h,l,u,y,S,n,r,i,t,a,s)),ge.emit(q.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(o.DestroyDynamicPickup(this.id),ge.emit(q.destroyed,this),this)}isValid(){return o.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerPickup]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.PICKUP,this.id)}}class eo{pickups=new Map;players;constructor(t,n=!0){this.players=t,ge.on(q.created,r=>{this.pickups.set(r.id,r)}),ge.on(q.destroyed,r=>{this.pickups.delete(r.id)}),n&&D(()=>{this.pickups.forEach(r=>r.destroy()),this.pickups.clear()}),o.OnPlayerPickUpDynamicPickup((r,i)=>{const a=this.pickups.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerPickUp")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.PICKUP){const s=this.pickups.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.PICKUP){const s=this.pickups.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getPickupsArr(){return[...this.pickups.values()]}getPickupsMap(){return this.pickups}}var $=(e=>(e.created="OnCheckPointCreate",e.destroyed="OnCheckPointDestroy",e))($||{});const Pe=new L;class to{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{size:l,x:h,y:u,z:y,extended:S}=this.sourceInfo;return l<0?_.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=o.StreamerDistances.CP_SD,s??=0,S?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicCPEx(h,u,y,l,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicCP(h,u,y,l,n,r,i,t,a,s)),Pe.emit($.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(o.DestroyDynamicCP(this.id),Pe.emit($.destroyed,this),this)}isValid(){return o.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(o.TogglePlayerDynamicCP(t.id,this.id,n),this)}static togglePlayerAll(t,n){return o.TogglePlayerAllDynamicCPs(t.id,n)}isPlayerIn(t){return this.id===-1?!1:o.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t,n){return n.get(o.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.CP,this.id)}}class no{checkpoints=new Map;players;constructor(t,n=!0){this.players=t,Pe.on($.created,r=>{this.checkpoints.set(r.id,r)}),Pe.on($.destroyed,r=>{this.checkpoints.delete(r.id)}),n&&D(()=>{this.checkpoints.forEach(r=>r.destroy()),this.checkpoints.clear()}),o.OnPlayerEnterDynamicCP((r,i)=>{const a=this.checkpoints.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerEnter")(s,a):0}),o.OnPlayerLeaveDynamicCP((r,i)=>{const a=this.checkpoints.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerLeave")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.CP){const s=this.checkpoints.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.CP){const s=this.checkpoints.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getCheckPointsArr(){return[...this.checkpoints.values()]}getCheckPointsMap(){return this.checkpoints}}var ee=(e=>(e.created="OnRaceCPCreate",e.destroyed="OnRaceCPDestroy",e))(ee||{});const pe=new L;class ro{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{type:l,size:h,x:u,y,z:S,nextx:P,nexty:f,nextz:E,extended:b}=this.sourceInfo;return l<0||l>8?_.error("[StreamerRaceCP]: Invalid type"):h<0?_.error("[StreamerRaceCP]: Invalid size"):(t??=o.StreamerDistances.RACE_CP_SD,s??=0,b?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicRaceCPEx(l,u,y,S,P,f,E,h,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicRaceCP(l,u,y,S,P,f,E,h,n,r,i,t,a,s)),pe.emit(ee.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(o.DestroyDynamicCP(this.id),pe.emit(ee.destroyed,this),this)}isValid(){return o.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(o.TogglePlayerDynamicRaceCP(t.id,this.id,n),this)}static togglePlayerAll(t,n){return o.TogglePlayerAllDynamicRaceCPs(t.id,n)}isPlayerIn(t){return this.id===-1?!1:o.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t,n){return n.get(o.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.RACE_CP,this.id)}}class io{raceCPs=new Map;players;constructor(t,n=!0){this.players=t,pe.on(ee.created,r=>{this.raceCPs.set(r.id,r)}),pe.on(ee.destroyed,r=>{this.raceCPs.delete(r.id)}),n&&D(()=>{this.raceCPs.forEach(r=>r.destroy()),this.raceCPs.clear()}),o.OnPlayerEnterDynamicRaceCP((r,i)=>{const a=this.raceCPs.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerEnter")(s,a):0}),o.OnPlayerLeaveDynamicRaceCP((r,i)=>{const a=this.raceCPs.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerLeave")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.RACE_CP){const s=this.raceCPs.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.RACE_CP){const s=this.raceCPs.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getRaceCPsArr(){return[...this.raceCPs.values()]}getRaceCPsMap(){return this.raceCPs}}var te=(e=>(e.created="OnActorCreate",e.destroyed="OnActorDestroy",e))(te||{});const Ae=new L;class ao{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerActor]: Unable to create actor again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{modelid:l,x:h,y:u,z:y,r:S,invulnerable:P,health:f,extended:E}=this.sourceInfo;return t??=o.StreamerDistances.ACTOR_SD,s??=0,E?(typeof n=="number"?n=[0]:n??=[0],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicActorEx(l,h,u,y,S,P,f,t,n,r,i,a,s)):(Array.isArray(n)?n=0:n??=0,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicActor(l,h,u,y,S,P,f,n,r,i,t,a,s)),Ae.emit(te.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerActor]: Unable to destroy the actor before create"):(o.DestroyDynamicActor(this.id),Ae.emit(te.destroyed,this),this)}isValid(){return o.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:o.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?_.warn("[StreamerActor]: Unable to get virtual world before create"):o.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set virtual world before create"):o.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,n,r=!1,i=!0,a=!0,s=!1){if(this.id===-1)return _.warn("[StreamerActor]: Unable to apply animation before create");const l=ut(t,n);return l===void 0?_.error("[StreamerActor]: Invalid anim library or name"):o.ApplyDynamicActorAnimation(this.id,t,n,4.1,r,i,a,s,r?0:l)}clearAnimations(){return this.id===-1?_.warn("[StreamerActor]: Unable to clear animation before create"):o.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?_.warn("[StreamerActor]: Unable to get facing angle before create"):o.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set facing angle before create"):o.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?_.warn("[StreamerActor]: Unable to get pos before create"):o.GetDynamicActorPos(this.id)}setPos(t,n,r){return this.id===-1?_.warn("[StreamerActor]: Unable to set pos before create"):o.SetDynamicActorPos(this.id,t,n,r)}getHealth(){return this.id===-1?_.warn("[StreamerActor]: Unable to get health before create"):o.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set health before create"):o.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:o.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?_.warn("[StreamerActor]: Unable to set invulnerable before create"):o.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t,n){if(this.id===-1)return;const r=o.GetPlayerTargetDynamicActor(t.id);return n.get(r)}getPlayerCameraTarget(t,n){if(this.id===-1)return;const r=o.GetPlayerCameraTargetDynActor(t.id);return n.get(r)}getSkin(){return this.id===-1?_.warn("[StreamerActor]: Unable to get skin before create"):c.GetActorSkin(this.id)}setSkin(t,n=!1){return this.id===-1?_.warn("[StreamerActor]: Unable to set skin before create"):!n&&(t<0||t>311||t==74)?0:c.SetActorSkin(this.id,t)}getSpawnInfo(){return this.id===-1?_.warn("[StreamerActor]: Unable to get spawn info before create"):c.GetActorSpawnInfo(this.id)}getAnimation(){return this.id===-1?_.warn("[StreamerActor]: Unable to get animation before create"):c.GetActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerActor]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.ACTOR,this.id)}}class so{actors=new Map;players;constructor(t,n=!0){this.players=t,Ae.on(te.created,r=>{this.actors.set(r.id,r)}),Ae.on(te.destroyed,r=>{this.actors.delete(r.id)}),n&&D(()=>{this.actors.forEach(r=>r.destroy()),this.actors.clear()}),o.OnDynamicActorStreamIn((r,i)=>{const a=this.actors.get(r);if(!a)return 0;const s=this.players.get(i);return s?m(this,"onStreamIn")(a,s):0}),o.OnDynamicActorStreamOut((r,i)=>{const a=this.actors.get(r);if(!a)return 0;const s=this.players.get(i);return s?m(this,"onStreamOut")(a,s):0}),o.OnPlayerGiveDamageDynamicActor((r,i,a,s,l)=>{const h=this.actors.get(i);if(!h)return 0;const u=this.players.get(r);return u?m(this,"onPlayerGiveDamage")(u,h,a,s,l):0})}getActorsArr(){return[...this.actors.values()]}getActorsMap(){return this.actors}}var ne=(e=>(e.created="On3dTextCreate",e.destroyed="On3dTextDestroy",e))(ne||{});const Ie=new L;class oo{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedplayer:t,attachedvehicle:n,testlos:r,streamdistance:i,worldid:a,interiorid:s,playerid:l,areaid:h,priority:u}=this.sourceInfo;const{charset:y,text:S,colour:P,drawdistance:f,x:E,y:b,z:U,extended:mt}=this.sourceInfo;return t??=C.PLAYER_ID,n??=C.VEHICLE_ID,i??=o.StreamerDistances.TEXT_3D_LABEL_SD,r??=!1,u??=0,mt?(typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof h=="number"?h=[-1]:h??=[-1],this._id=Ot(S,p(P),E,b,U,f,t,n,r,i,a,s,l,h,u,y||R)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(h)?h=-1:h??=-1,this._id=bt(y||R,S,p(P),E,b,U,f,t,n,r,a,s,l,i,h,u)),Ie.emit(ne.created,this),this}destroy(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(o.DestroyDynamic3DTextLabel(this.id),Ie.emit(ne.destroyed,this),this)}isValid(){return o.IsValidDynamic3DTextLabel(this.id)}getColour(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get colour before create"):this.sourceInfo.colour}getCharset(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get text before create"):wt(this.id,this.sourceInfo.charset||R)}updateText(t,n,r=this.sourceInfo.charset){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=r,Bt(this.id,p(t),n,r||R))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.TEXT_3D_LABEL,this.id)}}class lo{_3dTexts=new Map;players;constructor(t,n=!0){this.players=t,Ie.on(ne.created,r=>{this._3dTexts.set(r.id,r)}),Ie.on(ne.destroyed,r=>{this._3dTexts.delete(r.id)}),n&&D(()=>{this._3dTexts.forEach(r=>r.destroy()),this._3dTexts.clear()}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.TEXT_3D_LABEL){const s=this._3dTexts.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.TEXT_3D_LABEL){const s=this._3dTexts.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}get3dTextLabelsArr(){return[...this._3dTexts.values()]}get3dTextLabelsMap(){return this._3dTexts}}var re=(e=>(e.created="OnObjectCreate",e.destroyed="OnObjectDestroy",e))(re||{});const fe=new L;class _o{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerObject]: Unable to create object again");let{streamdistance:t,drawdistance:n,worldid:r,interiorid:i,playerid:a,areaid:s,priority:l}=this.sourceInfo;const{modelid:h,x:u,y,z:S,rx:P,ry:f,rz:E,extended:b}=this.sourceInfo;return t??=o.StreamerDistances.OBJECT_SD,n??=o.StreamerDistances.OBJECT_DD,l??=0,b?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=o.CreateDynamicObjectEx(h,u,y,S,P,f,E,t,n,r,i,a,s,l)):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=o.CreateDynamicObject(h,u,y,S,P,f,E,r,i,a,t,n,s,l)),fe.emit(re.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerObject]: Unable to destroy the object before create"):(o.DestroyDynamicObject(this.id),fe.emit(re.destroyed,this),this)}isValid(){return o.IsValidDynamicObject(this.id)}getPos(){return this.id===-1?_.warn("[StreamerObject]: Cannot get position before create"):o.GetDynamicObjectPos(this.id)}setPos(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Cannot set position before create"):o.SetDynamicObjectPos(this.id,t,n,r)}getRot(){return this.id===-1?_.warn("[StreamerObject]: Cannot get rotation before create"):o.GetDynamicObjectRot(this.id)}setRot(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Cannot set rotation before create"):o.SetDynamicObjectRot(this.id,t,n,r)}move(t,n,r,i,a=-1e3,s=-1e3,l=-1e3){return this.id===-1?_.warn("[StreamerObject]: Cannot start moving before create"):i<0?_.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&_.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),o.MoveDynamicObject(this.id,t,n,r,i,a,s,l))}stop(){return this.id===-1?_.warn("[StreamerObject]: Cannot stop moving before create"):o.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:o.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachCamera before both are created"):o.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,n,r,i,a,s,l,h=!0){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToObject before both are created"):o.AttachDynamicObjectToObject(this.id,t.id,n,r,i,a,s,l,h)}attachToPlayer(t,n,r,i,a,s,l){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):o.AttachDynamicObjectToPlayer(this.id,t.id,n,r,i,a,s,l)}attachToVehicle(t,n,r,i,a,s,l){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):o.AttachDynamicObjectToVehicle(this.id,t.id,n,r,i,a,s,l)}edit(t){return this.id===-1?_.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),o.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:o.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:o.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Unable to get material before create"):o.GetDynamicObjectMaterial(this.id,t,n,r)}setMaterial(t,n,r,i,a="#000"){return this.id===-1?_.warn("[StreamerObject]: Unable to set material before create"):o.SetDynamicObjectMaterial(this.id,t,n,r,i,p(a))}isMaterialTextUsed(t){return this.id===-1?!1:o.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?o.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?_.warn("[StreamerObject]: Unable to get material text before create"):Gt(this.id,t,this.sourceInfo.charset||R)}setMaterialText(t=this.sourceInfo.charset,n,r,i=o.MaterialTextSizes.SIZE_256x128,a="Arial",s=24,l=1,h="#fff",u="#000",y=0){return this.id===-1?_.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,kt(t||R,this.id,n,r,i,a,s,l,p(h),p(u),y))}getPlayerCameraTarget(t,n){const r=o.GetPlayerCameraTargetDynObject(t.id);if(r!==C.OBJECT_ID)return n.get(r)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerObject]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.OBJECT,this.id)}}class co{objects=new Map;players;constructor(t,n=!0){this.players=t,fe.on(re.created,r=>{this.objects.set(r.id,r)}),fe.on(re.destroyed,r=>{this.objects.delete(r.id)}),n&&D(()=>{this.objects.forEach(r=>r.destroy()),this.objects.clear()}),o.OnDynamicObjectMoved(r=>{const i=this.objects.get(r);return i?m(this,"onMoved")(i):0}),o.OnPlayerEditDynamicObject((r,i,a,s,l,h,u,y,S)=>{const P=this.objects.get(i);if(!P)return 0;const f=this.players.get(r);return f?m(this,"onPlayerEdit")(f,P,a,s,l,h,u,y,S):0}),o.OnPlayerSelectDynamicObject((r,i,a,s,l,h)=>{const u=this.players.get(r);if(!u)return 0;const y=this.objects.get(i);return y?m(this,"onPlayerSelect")(u,y,a,s,l,h):0}),o.OnPlayerShootDynamicObject((r,i,a,s,l,h)=>{const u=this.players.get(r);if(!u)return 0;const y=this.objects.get(a);return y?m(this,"onPlayerShoot")(u,i,y,s,l,h):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.OBJECT){const s=this.objects.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.OBJECT){const s=this.objects.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getObjectsArr(){return[...this.objects.values()]}getObjectsMap(){return this.objects}}var ie=(e=>(e.created="OnAreaCreate",e.destroyed="OnAreaDestroy",e))(ie||{});const Ce=new L;class de{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 _.warn("[StreamerArea]: Unable to create area again");let{worldid:t,interiorid:n,playerid:r}=this.sourceInfo;const{type:i,extended:a}=this.sourceInfo;if(a)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:s,y:l,size:h}=this.sourceInfo;if(h<0)return _.error("[StreamerArea]: Invalid circle extend size");this._id=o.CreateDynamicCircleEx(s,l,h,t,n,r)}else if(i==="cuboid"){const{minx:s,miny:l,minz:h,maxx:u,maxy:y,maxz:S}=this.sourceInfo;this._id=o.CreateDynamicCuboidEx(s,l,h,u,y,S,t,n,r)}else if(i==="cylinder"){const{x:s,y:l,minz:h,maxz:u,size:y}=this.sourceInfo;if(y<0)return _.error("[StreamerArea]: Invalid cylinder extend size");this._id=o.CreateDynamicCylinderEx(s,l,h,u,y,t,n,r)}else if(i==="polygon"){const{points:s,minz:l,maxz:h}=this.sourceInfo;if(s.length%2!==0)return _.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=o.CreateDynamicPolygonEx(s,l,h,t,n,r)}else if(i==="rectangle"){const{minx:s,miny:l,maxx:h,maxy:u}=this.sourceInfo;this._id=o.CreateDynamicRectangleEx(s,l,h,u,t,n,r)}else{const{x:s,y:l,z:h,size:u}=this.sourceInfo;if(u<0)return _.error("[StreamerArea]: Invalid sphere extended size");this._id=o.CreateDynamicSphereEx(s,l,h,u,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:s,y:l,size:h}=this.sourceInfo;if(h<0)return _.error("[StreamerArea]: Invalid circle size");this._id=o.CreateDynamicCircle(s,l,h,t,n,r)}else if(i==="cuboid"){const{minx:s,miny:l,minz:h,maxx:u,maxy:y,maxz:S}=this.sourceInfo;this._id=o.CreateDynamicCuboid(s,l,h,u,y,S,t,n,r)}else if(i==="cylinder"){const{x:s,y:l,minz:h,maxz:u,size:y}=this.sourceInfo;if(y<0)return _.error("[StreamerArea]: Invalid cylinder size");this._id=o.CreateDynamicCylinder(s,l,h,u,y,t,n,r)}else if(i==="polygon"){const{points:s,minz:l,maxz:h}=this.sourceInfo;if(s.length%2!==0)return _.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=o.CreateDynamicPolygon(s,l,h,t,n,r)}else if(i==="rectangle"){const{minx:s,miny:l,maxx:h,maxy:u}=this.sourceInfo;this._id=o.CreateDynamicRectangle(s,l,h,u,t,n,r)}else{const{x:s,y:l,z:h,size:u}=this.sourceInfo;if(u<0)return _.error("[StreamerArea]: Invalid sphere size");this._id=o.CreateDynamicSphere(s,l,h,u,t,n,r)}return Ce.emit(ie.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerArea]: Unable to destroy the area before create"):(o.DestroyDynamicArea(this.id),Ce.emit(ie.destroyed,this),this)}isValid(){return this.id===-1?!1:o.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?_.warn("[StreamerArea]: Unable to get type before create"):o.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return o.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return o.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,n=!1){return this.id===-1?!1:o.IsPlayerInDynamicArea(t.id,this.id,n)}static isPlayerInAny(t,n=!1){return o.IsPlayerInAnyDynamicArea(t.id,n)}isAnyPlayerIn(t=!1){return this.id===-1?!1:o.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return o.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t,n){return de.getPlayerAreasNumber(t)?o.GetPlayerDynamicAreas(t.id).map(r=>n.get(r)):[]}static getPlayerAreasNumber(t){return o.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,n,r){return this.id===-1?!1:o.IsPointInDynamicArea(this.id,t,n,r)}static isPointInAny(t,n,r){return o.IsPointInAnyDynamicArea(t,n,r)}isLineIn(t,n,r,i,a,s){return this.id===-1?!1:o.IsLineInDynamicArea(this.id,t,n,r,i,a,s)}static isLineInAny(t,n,r,i,a,s){return o.IsLineInAnyDynamicArea(t,n,r,i,a,s)}static getForPoint(t,n,r,i){return de.getNumberForPoint(t,n,r)?o.GetDynamicAreasForPoint(t,n,r).map(a=>i.get(a)):[]}static getNumberForPoint(t,n,r){return o.GetNumberDynamicAreasForPoint(t,n,r)}static getForLine(t,n,r,i,a,s,l){return de.getNumberForLine(t,n,r,i,a,s)?o.GetDynamicAreasForLine(t,n,r,i,a,s).map(h=>l.get(h)):[]}static getNumberForLine(t,n,r,i,a,s){return o.GetNumberDynamicAreasForLine(t,n,r,i,a,s)}attachToObject(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to object before create"):o.AttachDynamicAreaToObject(this.id,t.id,o.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,n,r,i)}attachToPlayer(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to player before create"):o.AttachDynamicAreaToPlayer(this.id,t.id,n,r,i)}attachToVehicle(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):o.AttachDynamicAreaToVehicle(this.id,t.id,n,r,i)}toggleSpectateMode(t){return this.id===-1?_.warn("[StreamerArea]: Unable to toggle specate mode before create"):o.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:o.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerArea]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.AREA,this.id)}}class ho{areas=new Map;players;constructor(t,n=!0){this.players=t,Ce.on(ie.created,r=>{this.areas.set(r.id,r)}),Ce.on(ie.destroyed,r=>{this.areas.has(r.id)&&this.areas.delete(r.id)}),n&&D(()=>{this.areas.forEach(r=>r.destroy()),this.areas.clear()}),o.OnPlayerEnterDynamicArea((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.areas.get(i);return s?m(this,"onPlayerEnter")(a,s):0}),o.OnPlayerLeaveDynamicArea((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.areas.get(i);return s?m(this,"onPlayerLeave")(a,s):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.AREA){const s=this.areas.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.AREA){const s=this.areas.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getAreasArr(){return[...this.areas.values()]}getAreasMap(){return this.areas}}var ae=(e=>(e.created="OnTextDrawCreate",e.destroyed="OnTextDrawDestroy",e))(ae||{});const Ee=new L;class g{static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:n,text:r,player:i}=this.sourceInfo;if(i){if(g.createdPlayerCount===B.MAX_TEXT_DRAWS)return _.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Ca(i.id,t,n,r),g.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(g.createdGlobalCount===B.MAX_TEXT_DRAWS)return _.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=wr(t,n,r),g.createdGlobalCount++}return Ee.emit(ae.created,{key:{id:this.id,global:i===void 0},value:this}),this}destroy(){if(this.id===-1)return g.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(Ea(t.id,this.id),g.createdPlayerCount--):(kr(this.id),g.createdGlobalCount--),Ee.emit(ae.destroyed,{id:this.id,global:t===void 0}),this._id=-1,this}setFont(t){if(this.id===-1)return g.beforeCreateWarn("set font");const{player:n}=this.sourceInfo;return n?ka(n.id,this.id,t):Wr(this.id,t),this}setColour(t){if(this.id===-1)return g.beforeCreateWarn("set Colour");const{player:n}=this.sourceInfo;return n?La(n.id,this.id,t):Nr(this.id,t),this}setBoxColours(t){if(this.id===-1)return g.beforeCreateWarn("set box Colour");const{player:n}=this.sourceInfo;return n?ba(n.id,this.id,t):Hr(this.id,t),this}setBackgroundColours(t){if(this.id===-1)return g.beforeCreateWarn("set background Colour");const{player:n}=this.sourceInfo;return n?wa(n.id,this.id,t):Ur(this.id,t),this}setAlignment(t){if(this.id===-1)return g.beforeCreateWarn("set alignment");const{player:n}=this.sourceInfo;return n?Da(n.id,this.id,t):Fr(this.id,t),this}setLetterSize(t,n){if(this.id===-1)return g.beforeCreateWarn("set letter size");const{player:r}=this.sourceInfo;return r?Ta(r.id,this.id,t,n):Gr(this.id,t,n),this}setOutline(t){if(this.id===-1)return g.beforeCreateWarn("set outline model");if(t<0)return _.warn("[TextDraw]: Invalid outline value");const{player:n}=this.sourceInfo;return n?Ba(n.id,this.id,t):Vr(this.id,t),this}setPreviewModel(t){if(this.id===-1)return g.beforeCreateWarn("set preview model");this.setFont(z.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?Ha(n.id,this.id,t):Qr(this.id,t),this}setPreviewRot(t,n,r,i=1){if(this.id===-1)return g.beforeCreateWarn("set preview rot");this.setFont(z.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?xa(a.id,this.id,t,n,r,i):qr(this.id,t,n,r,i),this}setPreviewVehColours(t,n){if(this.id===-1)return g.beforeCreateWarn("set preview veh col");this.setFont(z.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?Va(r.id,this.id,t,n):$r(this.id,t,n),this}setProportional(t=!0){if(this.id===-1)return g.beforeCreateWarn("set Proportional");const{player:n}=this.sourceInfo;return n?Ga(n.id,this.id,t):Kr(this.id,t),this}setSelectable(t){if(this.id===-1)return g.beforeCreateWarn("set Selectable");const{player:n}=this.sourceInfo;return n?Ma(n.id,this.id,t):jr(this.id,t),this}setShadow(t){if(this.id===-1)return g.beforeCreateWarn("set shadow");if(t<0)return _.warn("[TextDraw]: Invalid shadow value");const{player:n}=this.sourceInfo;return n?Oa(n.id,this.id,t):xr(this.id,t),this}setString(t){if(this.id===-1)return g.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return _.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?va(n.id,this.id,t):Jr(this.id,t),this}setTextSize(t,n){return this.id===-1?g.beforeCreateWarn("set TextSize"):(Mr(this.id,t,n),this)}useBox(t){if(this.id===-1)return g.beforeCreateWarn("set TextSize");const{player:n}=this.sourceInfo;return n?Ra(n.id,this.id,t):vr(this.id,t),this}static beforeCreateWarn(t){_.warn(`[TextDraw]: Unable to ${t} before create`)}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}show(t){if(this.id===-1)return g.beforeCreateWarn("show");const n=this.sourceInfo.player;if(n)Fa(n.id,this.id);else if(t)Zr(t.id,this.id);else return _.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return g.beforeCreateWarn("hide");const n=this.sourceInfo.player;if(n)Na(n.id,this.id);else if(t)zr(t.id,this.id);else return _.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?g.beforeCreateWarn("show"):this.sourceInfo.player?_.warn("[TextDraw]: player's textdraw should not be show for all."):(Xr(this.id),this)}hideAll(){return this.id===-1?g.beforeCreateWarn("hideAll"):this.sourceInfo.player?_.warn("[TextDraw]: player's textdraw should not be hide for all."):(Yr(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?c.IsValidPlayer3DTextLabel(t.id,this.id):c.IsValidTextDraw(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:c.IsTextDrawVisibleForPlayer(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetString(t.id,this.id):c.TextDrawGetString(this.id)}setPos(t,n){if(this.id===-1)return g.beforeCreateWarn("set position");const r=this.sourceInfo.player;return r?c.PlayerTextDrawSetPos(r.id,this.id,t,n):c.TextDrawSetPos(this.id,t,n),this}getLetterSize(){if(this.id===-1)return g.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetLetterSize(t.id,this.id):c.TextDrawGetLetterSize(this.id)}getTextSize(){if(this.id===-1)return g.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetTextSize(t.id,this.id):c.TextDrawGetTextSize(this.id)}getPos(){if(this.id===-1)return g.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPos(t.id,this.id):c.TextDrawGetPos(this.id)}getColour(){if(this.id===-1)return g.beforeCreateWarn("get Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetColour(t.id,this.id):c.TextDrawGetColour(this.id)}getBoxColour(){if(this.id===-1)return g.beforeCreateWarn("get box Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetBoxColour(t.id,this.id):c.TextDrawGetBoxColour(this.id)}getBackgroundColour(){if(this.id===-1)return g.beforeCreateWarn("get bg Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetBackgroundColour(t.id,this.id):c.TextDrawGetBackgroundColour(this.id)}getShadow(){if(this.id===-1)return g.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetShadow(t.id,this.id):c.TextDrawGetShadow(this.id)}getOutline(){if(this.id===-1)return g.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetOutline(t.id,this.id):c.TextDrawGetOutline(this.id)}getFont(){if(this.id===-1)return g.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetFont(t.id,this.id):c.TextDrawGetFont(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsBox(t.id,this.id):c.TextDrawIsBox(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsProportional(t.id,this.id):c.TextDrawIsProportional(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsSelectable(t.id,this.id):c.TextDrawIsSelectable(this.id)}getAlignment(){if(this.id===-1)return g.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetAlignment(t.id,this.id):c.TextDrawGetAlignment(this.id)}getPreviewModel(){if(this.id===-1)return g.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewModel(t.id,this.id):c.TextDrawGetPreviewModel(this.id)}getPreviewRot(){if(this.id===-1)return g.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewRot(t.id,this.id):c.TextDrawGetPreviewRot(this.id)}getPreviewVehColours(){if(this.id===-1)return g.beforeCreateWarn("get preview vel Colours");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewVehicleColours(t.id,this.id):c.TextDrawGetPreviewVehicleColours(this.id)}}class uo{textDraws=new Map;players;constructor(t,n=!0){this.players=t,Ee.on(ae.created,r=>{this.textDraws.set(r.key,r.value)}),Ee.on(ae.destroyed,r=>{this.textDraws.has(r)&&this.textDraws.delete(r)}),n&&D(()=>{this.textDraws.forEach(r=>r.destroy()),this.textDraws.clear()}),on((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.textDraws.get({id:i,global:!0});return m(this,"onPlayerClick")(a,s||C.TEXT_DRAW)}),ln((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.textDraws.get({id:i,global:!1});return m(this,"onPlayerClick")(a,s||C.TEXT_DRAW)})}}Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return o.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return o.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return o.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return o.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return o.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return o.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return o.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return o.StreamerObjectTypes}}),Object.defineProperty(exports,"GangZonePos",{enumerable:!0,get:function(){return c.GangZonePos}}),Object.defineProperty(exports,"IActorAnimation",{enumerable:!0,get:function(){return c.IActorAnimation}}),Object.defineProperty(exports,"IActorSpawn",{enumerable:!0,get:function(){return c.IActorSpawn}}),Object.defineProperty(exports,"IAttachedData",{enumerable:!0,get:function(){return c.IAttachedData}}),Object.defineProperty(exports,"IAttachedObject",{enumerable:!0,get:function(){return c.IAttachedObject}}),Object.defineProperty(exports,"IBounds",{enumerable:!0,get:function(){return c.IBounds}}),Object.defineProperty(exports,"ICheckPoint",{enumerable:!0,get:function(){return c.ICheckPoint}}),Object.defineProperty(exports,"IMaterial",{enumerable:!0,get:function(){return c.IMaterial}}),Object.defineProperty(exports,"IMaterialText",{enumerable:!0,get:function(){return c.IMaterialText}}),Object.defineProperty(exports,"IObjectPos",{enumerable:!0,get:function(){return c.IObjectPos}}),Object.defineProperty(exports,"IObjectRotPos",{enumerable:!0,get:function(){return c.IObjectRotPos}}),Object.defineProperty(exports,"IOffsets",{enumerable:!0,get:function(){return c.IOffsets}}),Object.defineProperty(exports,"IPlayerClass",{enumerable:!0,get:function(){return c.IPlayerClass}}),Object.defineProperty(exports,"IQuat",{enumerable:!0,get:function(){return c.IQuat}}),Object.defineProperty(exports,"IRaceCheckPoint",{enumerable:!0,get:function(){return c.IRaceCheckPoint}}),Object.defineProperty(exports,"ITextDrawCommonSize",{enumerable:!0,get:function(){return c.ITextDrawCommonSize}}),Object.defineProperty(exports,"ITextDrawRot",{enumerable:!0,get:function(){return c.ITextDrawRot}}),Object.defineProperty(exports,"IVehColor",{enumerable:!0,get:function(){return c.IVehColor}}),Object.defineProperty(exports,"IVehMatrix",{enumerable:!0,get:function(){return c.IVehMatrix}}),Object.defineProperty(exports,"IVehSpawnInfo",{enumerable:!0,get:function(){return c.IVehSpawnInfo}}),exports.ArtworkEnum=Ge,exports.BodyPartsEnum=ze,exports.BoneIdsEnum=Xe,exports.BulletHitTypesEnum=tt,exports.CameraCutStylesEnum=oe,exports.CameraModesEnum=Ze,exports.CarModTypeEnum=Je,exports.ClickSourcesEnum=Me,exports.ConnectionStatusEnum=Ne,exports.DamageDeathReasonEnum=be,exports.Dialog=T,exports.DialogStylesEnum=Le,exports.Dynamic3DTextLabel=oo,exports.Dynamic3dTextLabelEvent=lo,exports.DynamicActor=ao,exports.DynamicActorEvent=so,exports.DynamicArea=de,exports.DynamicAreaEvent=ho,exports.DynamicCheckPointEvent=no,exports.DynamicCheckpoint=to,exports.DynamicMapIcon=Qd,exports.DynamicMapIconEvent=qd,exports.DynamicObject=_o,exports.DynamicObjectEvent=co,exports.DynamicPickup=$d,exports.DynamicPickupEvent=eo,exports.DynamicRaceCP=ro,exports.DynamicRaceCPEvent=io,exports.ERecordStatus=w,exports.EditResponseTypesEnum=Fe,exports.FightingStylesEnum=Ke,exports.GameMode=se,exports.GameText=Xd,exports.GangZone=N,exports.GangZoneEvent=Jd,exports.I18n=I,exports.InvalidEnum=C,exports.KeysEnum=ve,exports.LimitsEnum=B,exports.MapIconStylesEnum=je,exports.MarkerModesEnum=He,exports.Menu=Te,exports.MenuEvent=Yd,exports.NPCPlaybackEnum=xe,exports.NetStats=zd,exports.NpcEvent=En,exports.NpcFunc=G,exports.ObjectMaterialAlignmmentEnum=Ue,exports.ObjectMaterialTextSizeEnum=Ve,exports.Player=k,exports.PlayerEvent=Z,exports.PlayerStateEnum=v,exports.RecordTypesEnum=rt,exports.SelectObjectTypesEnum=We,exports.SpecialActionsEnum=Re,exports.SpectateModesEnum=le,exports.Streamer=A,exports.TextDraw=g,exports.TextDrawAlignEnum=Ye,exports.TextDrawEvent=uo,exports.TextDrawFontsEnum=z,exports.Vehicle=V,exports.VehicleEvent=Kd,exports.VehicleModelInfoEnum=qe,exports.VehicleParamsEnum=Qe,exports.WeaponEnum=$e,exports.WeaponSkillsEnum=et,exports.WeaponStatesEnum=nt,exports.rgba=p;
|