@infernus/core 0.9.8 → 0.10.0-beta.5

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.js CHANGED
@@ -1 +1 @@
1
- "use strict";var Le=require("iconv-lite"),yt=require("pino"),O=require("lodash-unified"),o=require("@infernus/streamer"),_=require("@infernus/wrapper");const c=yt({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{c.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){c.warn(e);return}c.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 c.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){Le.encodingExists(t)||(c.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,n){return I.isValidate(n),[...Le.encode(t,n),0]}static decodeFromBuf(t,n){I.isValidate(n);const r=t instanceof Buffer?t:Buffer.from(t);return Le.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 Me=(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))(Me||{}),Fe=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Fe||{}),Re=(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))(Re||{}),Ne=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Ne||{}),ve=(e=>(e[e.NO_ACTION=0]="NO_ACTION",e[e.DISCONNECT_ASAP=1]="DISCONNECT_ASAP",e[e.DISCONNECT_ASAP_SILENTLY=2]="DISCONNECT_ASAP_SILENTLY",e[e.DISCONNECT_ON_NO_ACK=3]="DISCONNECT_ON_NO_ACK",e[e.REQUESTED_CONNECTION=4]="REQUESTED_CONNECTION",e[e.HANDLING_CONNECTION_REQUEST=5]="HANDLING_CONNECTION_REQUEST",e[e.UNVERIFIED_SENDER=6]="UNVERIFIED_SENDER",e[e.SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET=7]="SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET",e[e.CONNECTED=8]="CONNECTED",e))(ve||{}),C=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-1]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e))(C||{}),He=(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))(He||{}),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||{}),xe=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(xe||{}),Ve=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Ve||{}),w=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(w||{}),Ue=(e=>(e[e._32x32=10]="_32x32",e[e._64x32=20]="_64x32",e[e._64x64=30]="_64x64",e[e._128x32=40]="_128x32",e[e._128x64=50]="_128x64",e[e._128x128=60]="_128x128",e[e._256x32=70]="_256x32",e[e._256x64=80]="_256x64",e[e._256x128=90]="_256x128",e[e._256x256=100]="_256x256",e[e._512x64=110]="_512x64",e[e._512x128=120]="_512x128",e[e._512x256=130]="_512x256",e[e._512x512=140]="_512x512",e))(Ue||{}),We=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(We||{}),Ke=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Ke||{}),je=(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))(je||{}),Ze=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(Ze||{}),le=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(le||{}),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||{}),_e=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(_e||{}),H=(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))(H||{}),Xe=(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))(Xe||{}),Ye=(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))(Ye||{}),be=(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))(be||{}),X=(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))(X||{}),Je=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Je||{}),Qe=(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))(Qe||{}),qe=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(qe||{}),$e=(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))($e||{}),et=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.REASON_VEHICLE=49]="REASON_VEHICLE",e[e.REASON_DROWN=53]="REASON_DROWN",e[e.REASON_COLLISION=54]="REASON_COLLISION",e[e.REASON_SPLAT=54]="REASON_SPLAT",e[e.REASON_CONNECT=200]="REASON_CONNECT",e[e.REASON_DISCONNECT=200]="REASON_DISCONNECT",e[e.REASON_SUICIDE=255]="REASON_SUICIDE",e[e.WEAPON_FIST=0]="WEAPON_FIST",e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NITESTICK=3]="NITESTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.NIGHT_VISION_GOGGLES=44]="NIGHT_VISION_GOGGLES",e[e.THERMAL_GOGGLES=45]="THERMAL_GOGGLES",e[e.PARACHUTE=46]="PARACHUTE",e))(et||{}),tt=(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))(tt||{}),nt=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.VEHICLE=2]="VEHICLE",e[e.OBJECT=3]="OBJECT",e[e.PLAYER_OBJECT=4]="PLAYER_OBJECT",e))(nt||{}),rt=(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))(rt||{}),Oe=(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))(Oe||{}),it=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(it||{});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},b="utf8",St="en_US",W=(e,t)=>{const n=t.replace("-","")==="utf8"?e:I.encodeToBuf(e,t);return[n instanceof Array?"a":"s",n]},at=(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=>at(r,t,n)),1),st=(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=>st(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=b)=>{samp.addEventListener("OnClientMessageI18n",(n,r)=>e(n,I.decodeFromBuf(r,t)))};samp.registerEvent("OnRconCommandI18n","ai");const Et=(e,t=b)=>{samp.addEventListener("OnRconCommandI18n",n=>e(I.decodeFromBuf(n,t)))};samp.registerEvent("OnRconLoginAttemptI18n","aiaii");const Tt=(e,t=b)=>{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,R)=>{const F=I.encodeToBuf(t,e);return d("CreateDynamic3DTextLabel","aiffffiiiiiifii",F,n,r,i,a,s,l,h,u,y,S,P,f,E,R)},Ot=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E,R)=>{const F=I.encodeToBuf(e,R);return d("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",F,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)},dt=(e=0)=>m({NOOP:()=>e},"NOOP"),{callNative:d,callNativeFloat:x}=samp;ft((e,t,n,r,i)=>{const a=T.waitingQueue.get(e);return a?(a.showId!==t||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:Re.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),_.HidePlayerDialog(t.id)}}const ot=e=>{samp.addEventListener("OnGameModeInit",e)},D=e=>{samp.addEventListener("OnGameModeExit",e)},lt=e=>{samp.addEventListener("OnPlayerConnect",e)},_t=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)=>x("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=()=>x("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=>x("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),Be=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=b)=>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),ct=(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)=>x("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=>d("GetPlayerSurfingPlayerObjectID","i",e),pa=(e,t,n,r,i,a)=>d("RemoveBuildingForPlayer","iiffff",e,t,n,r,i,a),Aa=e=>d("GetPlayerLastShotVectors","iFFFFFF",e),Ia=(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)),fa=(e,t)=>d("RemovePlayerAttachedObject","ii",e,t),Ca=(e,t)=>Boolean(d("IsPlayerAttachedObjectSlotUsed","ii",e,t)),Ea=(e,t,n,r)=>d("CreatePlayerTextDraw","iffs",e,t,n,r),Ta=(e,t)=>{d("PlayerTextDrawDestroy","ii",e,t)},Da=(e,t,n,r)=>d("PlayerTextDrawLetterSize","iiff",e,t,n,r),La=(e,t,n)=>d("PlayerTextDrawAlignment","iii",e,t,n),Ra=(e,t,n)=>Boolean(d("PlayerTextDrawColor","iii",e,t,p(n))),ba=(e,t,n)=>d("PlayerTextDrawUseBox","iii",e,t,n),Oa=(e,t,n)=>Boolean(d("PlayerTextDrawBoxColor","iii",e,t,p(n))),Ba=(e,t,n)=>d("PlayerTextDrawSetShadow","iii",e,t,n),wa=(e,t,n)=>d("PlayerTextDrawSetOutline","iii",e,t,n),ka=(e,t,n)=>Boolean(d("PlayerTextDrawBackgroundColour","iii",e,t,p(n))),Ga=(e,t,n)=>d("PlayerTextDrawFont","iii",e,t,n),Ma=(e,t,n)=>d("PlayerTextDrawSetProportional","iii",e,t,n),Fa=(e,t,n)=>d("PlayerTextDrawSetSelectable","iii",e,t,n),Na=(e,t)=>d("PlayerTextDrawShow","ii",e,t),va=(e,t)=>d("PlayerTextDrawHide","ii",e,t),Ha=(e,t,n)=>d("PlayerTextDrawSetString","iis",e,t,n),xa=(e,t,n)=>d("PlayerTextDrawSetPreviewModel","iii",e,t,n),Va=(e,t,n,r,i,a)=>d("PlayerTextDrawSetPreviewRot","iiffff",e,t,n,r,i,a),Ua=(e,t,n,r)=>Boolean(d("PlayerTextDrawSetPreviewVehCol","iiii",e,t,n,r)),Wa=(e,t,n,r,i)=>d("SetPlayerChatBubble","isifi",e,t,p(n),r,i),Ka=(e,t,n)=>d("PutPlayerInVehicle","iii",e,t,n),ja=e=>d("GetPlayerVehicleID","i",e),Za=e=>d("GetPlayerVehicleSeat","i",e),za=e=>d("RemovePlayerFromVehicle","i",e),Xa=(e,t)=>d("TogglePlayerControllable","ii",e,t),Ya=(e,t,n,r,i)=>d("PlayerPlaySound","iifff",e,t,n,r,i),Ja=(e,t,n,r,i,a,s,l,h,u)=>d("ApplyAnimation","issfiiiiii",e,t,n,r,i,a,s,l,h,u),Qa=(e,t)=>d("ClearAnimations","ii",e,t),qa=e=>d("GetPlayerAnimationIndex","i",e),$a=e=>d("GetPlayerSpecialAction","i",e),es=(e,t)=>d("SetPlayerSpecialAction","ii",e,t),ts=(e,t)=>d("DisableRemoteVehicleCollisions","ii",e,t),ns=(e,t,n,r,i)=>d("SetPlayerWorldBounds","iffff",e,t,n,r,i),rs=(e,t,n)=>d("SetPlayerMarkerForPlayer","iii",e,t,p(n)),is=(e,t,n)=>d("ShowPlayerNameTagForPlayer","iii",e,t,n),as=(e,t,n,r)=>d("SetPlayerCameraPos","ifff",e,t,n,r),ss=(e,t,n,r,i)=>d("SetPlayerCameraLookAt","ifffi",e,t,n,r,i),ds=e=>d("SetCameraBehindPlayer","i",e),os=e=>d("GetPlayerCameraPos","iFFF",e),ls=e=>d("GetPlayerCameraFrontVector","iFFF",e),_s=e=>d("GetPlayerCameraMode","i",e),cs=(e,t)=>d("EnablePlayerCameraTarget","ii",e,t),hs=e=>d("GetPlayerCameraTargetVehicle","i",e),us=e=>d("GetPlayerCameraTargetPlayer","i",e),ms=e=>x("GetPlayerCameraAspectRatio","i",e),ys=e=>x("GetPlayerCameraZoom","i",e),Ss=(e,t,n,r,i,a,s,l,h)=>d("InterpolateCameraPos","iffffffii",e,t,n,r,i,a,s,l,h),gs=(e,t,n,r,i,a,s,l,h)=>d("InterpolateCameraLookAt","iffffffii",e,t,n,r,i,a,s,l,h),ht=e=>Boolean(d("IsPlayerConnected","i",e)),Ps=(e,t)=>Boolean(d("IsPlayerInVehicle","ii",e,t)),ps=e=>Boolean(d("IsPlayerInAnyVehicle","i",e)),As=(e,t)=>d("SetPlayerVirtualWorld","ii",e,t),Is=e=>d("GetPlayerVirtualWorld","i",e),fs=(e,t)=>d("EnableStuntBonusForPlayer","ii",e,t),Cs=e=>d("EnableStuntBonusForAll","i",e),Es=(e,t)=>d("TogglePlayerSpectating","ii",e,t),Ts=(e,t,n)=>d("PlayerSpectatePlayer","iii",e,t,n),Ds=(e,t,n)=>d("PlayerSpectateVehicle","iii",e,t,n),Ls=(e,t,n)=>d("StartRecordingPlayerData","iis",e,t,n),Rs=e=>d("StopRecordingPlayerData","i",e),bs=(e,t)=>{d("SelectTextDraw","ii",e,p(t))},Os=e=>{d("CancelSelectTextDraw","i",e)},Bs=(e,t,n,r,i,a)=>d("CreateExplosionForPlayer","ifffif",e,t,n,r,i,a),ws=(e,t,n,r,i)=>d("SendClientCheck","iiiii",e,t,n,r,i),ks=(e,t,n,r,i,a,s,l,h)=>d("CreateVehicle","iffffiiii",e,t,n,r,i,p(a),p(s),l,h),Gs=e=>d("DestroyVehicle","i",e),Ms=(e,t)=>Boolean(d("IsVehicleStreamedIn","ii",e,t)),Fs=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]}},Ns=(e,t,n,r)=>d("SetVehiclePos","ifff",e,t,n,r),vs=e=>d("GetVehicleZAngle","iF",e),Hs=e=>d("GetVehicleRotationQuat","iFFFF",e),xs=(e,t,n,r)=>x("GetVehicleDistanceFromPoint","ifff",e,t,n,r),Vs=(e,t)=>d("SetVehicleZAngle","if",e,t),Us=(e,t,n,r)=>d("SetVehicleParamsForPlayer","iiii",e,t,n,r),Ws=()=>d("ManualVehicleEngineAndLights",""),Ks=(e,t,n,r,i,a,s,l)=>d("SetVehicleParamsEx","iiiiiiii",e,t,n,r,i,a,s,l),js=e=>d("GetVehicleParamsEx","iIIIIIII",e),Zs=e=>d("GetVehicleParamsSirenState","i",e),zs=(e,t,n,r,i)=>d("SetVehicleParamsCarDoors","iiiii",e,t,n,r,i),Xs=e=>{const t=d("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},Ys=(e,t,n,r,i)=>d("SetVehicleParamsCarWindows","iiiii",e,t,n,r,i),Js=e=>{const t=d("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},Qs=e=>d("SetVehicleToRespawn","i",e),qs=(e,t)=>d("LinkVehicleToInterior","ii",e,t),$s=(e,t)=>d("AddVehicleComponent","ii",e,t),ed=(e,t)=>d("RemoveVehicleComponent","ii",e,t),td=(e,t,n)=>d("ChangeVehicleColor","iii",e,p(t),p(n)),nd=(e,t)=>d("ChangeVehiclePaintjob","ii",e,t),rd=(e,t)=>d("SetVehicleHealth","if",e,t),id=e=>d("GetVehicleHealth","iF",e),ad=(e,t)=>d("AttachTrailerToVehicle","ii",e,t),sd=e=>d("DetachTrailerFromVehicle","i",e),dd=e=>Boolean(d("IsTrailerAttachedToVehicle","i",e)),od=e=>d("GetVehicleTrailer","i",e),ld=(e,t)=>d("SetVehicleNumberPlate","is",e,t),_d=e=>d("GetVehicleModel","i",e),cd=(e,t)=>d("GetVehicleComponentInSlot","ii",e,t),hd=e=>d("GetVehicleComponentType","i",e),ud=e=>d("RepairVehicle","i",e),md=e=>d("GetVehicleVelocity","iFFF",e),yd=(e,t,n,r)=>d("SetVehicleVelocity","ifff",e,t,n,r),Sd=(e,t,n,r)=>d("SetVehicleAngularVelocity","ifff",e,t,n,r),gd=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]}},Pd=(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]}},Ad=(e,t)=>d("SetVehicleVirtualWorld","ii",e,t),Id=e=>d("GetVehicleVirtualWorld","i",e),ut=e=>Boolean(d("IsValidVehicle","i",e)),fd=(e,t)=>d("StartRecordingPlayback","is",e,t),Cd=()=>d("StopRecordingPlayback",""),Ed=()=>d("PauseRecordingPlayback",""),Td=()=>d("ResumeRecordingPlayback",""),Dd=e=>d("GetPlayerCustomSkin","i",e),Ld=(e,t)=>d("RedirectDownload","is",e,t),Rd=(e,t,n,r,i)=>d("AddSimpleModel","iiiss",e,t,n,r,i),bd=(e,t,n,r,i,a,s)=>d("AddSimpleModelTimed","iiissii",e,t,n,r,i,a,s),Od=e=>d("GetWeaponName","iSi",e,32),Bd=e=>d("NetStats_GetIpPort","iSi",e,128+6),wd=e=>d("GetPlayerIp","iSi",e,128),kd=e=>d("GetAnimationName","iSiSi",e,32,32),Gd=e=>d("GetPlayerVersion","iSi",e,24),Md=e=>d("FindModelFileNameFromCRC","iSi",e,255),Fd=e=>d("FindTextureFileNameFromCRC","iSi",e,255);class G{constructor(){}static recordStatus;static connectNPC=ir;static startRecordingPlayerData(t,n,r){if(t.isRecording)return c.warn("[NpcFunc]: It should be stopped before recording");Ls(t.id,n,r),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return c.warn("[NpcFunc]: It should be started before stop");Rs(t.id),t.isRecording=!1}static startRecordingPlayback(t,n){if(G.recordStatus>=w.start)return c.warn("[NpcFunc]: The current status cannot be replayed");fd(t,n),G.recordStatus=w.start}static stopRecordingPlayback(){if(G.recordStatus<w.start)return c.warn("[NpcFunc]: The current status cannot be stopped");Cd(),G.recordStatus=w.none}static pauseRecordingPlayback(){if(G.recordStatus!==w.start)return c.warn("[NpcFunc]: The current status cannot be paused");Ed(),G.recordStatus=w.pause}static resumeRecordingPlayback(){if(G.recordStatus!==w.pause)return c.warn("[NpcFunc]: The current status cannot be paused");Td(),G.recordStatus=w.start}}const Nd=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}]]]),vd=e=>{const t=Nd.get(e);return t===void 0?!1:t},mt=(e,t)=>{const n=vd(e);if(n)return n.find(r=>r.n===t)?.d},ce=new Map,he=(e,t=!1)=>{const n=ce.get(e);return n?(t&&n.reject("[Player]: An attempt to check the player client response timed out"),clearTimeout(n.timeout),ce.delete(e),!0):!1};Sn((e,t,n,r)=>{const i=ce.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 N=new L;class k{_id;_isNpc;_locale=St;_charset=b;_isRecording=!1;lastDrunkLevel=0;lastFps=0;isPaused=!1;lastUpdateTick=0;get id(){return this._id}get locale(){return this._locale}set locale(t){N.emit(M.setCommonProp,{player:this,prop:"_locale",value:t})}get charset(){return this._charset}set charset(t){N.emit(M.setCommonProp,{player:this,prop:"_charset",value:t})}get isRecording(){return this._isRecording}set isRecording(t){N.emit(M.setCommonProp,{player:this,prop:"_isRecording",value:t})}constructor(t){this._id=t,this._isNpc=ar(this.id)}sendClientMessage(t,n){return at(this,t,n)}static sendClientMessageToAll(t,n,r){gt(t,n,r)}sendPlayerMessage(t,n){return st(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 c.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));vi(this.id,t)}allowTeleport(t){_.AllowPlayerTeleport(this.id,t)}isTeleportAllowed(){return _.IsPlayerTeleportAllowed(this.id)}enableCameraTarget(t){cs(this.id,t)}enableStuntBonus(t){fs(this.id,t)}getInterior(){return Ei(this.id)}setInterior(t){return Ci(this.id,t)}showPlayerNameTag(t,n){is(this.id,t.id,n)}setColor(t){Hi(this.id,t)}getColor(){return xi(this.id)}setPlayerMarker(t,n){rs(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 Xa(this.id,t)}toggleSpectating(t){return Es(this.id,t)}spectatePlayer(t,n=_e.NORMAL){return Ts(this.id,t.id,n)}spectateVehicle(t,n=_e.NORMAL){return Ds(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()===be.DUCK?0:Vi(this.id,t)}getSkin(){return Ui(this.id)}isInAnyVehicle(){return ps(this.id)}getSpecialAction(){return $a(this.id)}setSpecialAction(t){return es(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 ct(this.id,t,n,r)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===H.NONE)return;const[t,n,r]=gi(this.id);return{x:t,y:n,z:r}}isSpectating(){return this.getState()===H.SPECTATING}isWasted(){return this.getState()===H.WASTED}getState(){return Ji(this.id)}getVersion(){return this.isNpc()?"":Gd(this.id)}setVirtualWorld(t){return As(this.id,t)}getVirtualWorld(){return Is(this.id)}removeFromVehicle(){return za(this.id)}setWantedLevel(t){return t<0||t>6?(c.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){c.warn("[Player]: The valid weather value is only 0 to 255");return}ra(this.id,t)}getWeather(){return _.GetPlayerWeather(this.id)}setTime(t,n){if(t<0||t>23){c.warn("[Player]: The valid hour value is only 0 to 23");return}if(n<0||n>59){c.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){c.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 wd(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 ds(this.id)}setCameraPos(t,n,r){return as(this.id,t,n,r)}setCameraLookAt(t,n,r,i){return ss(this.id,t,n,r,i)}getCameraAspectRatio(){return ms(this.id)}getCameraFrontVector(){const[t,n,r]=ls(this.id);return{x:t,y:n,z:r}}getCameraMode(){return _s(this.id)}getCameraPos(){const[t,n,r]=os(this.id);return{x:t,y:n,z:r}}getCameraTargetPlayer(t){const n=us(this.id);return t.find(r=>r.id===n)}getCameraTargetVehicle(t){const n=hs(this.id);return t.find(r=>r.id===n)}getCameraZoom(){return ys(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 Ya(this.id,t,n,r,i)}static getPoolSize(){return Gn()}static getMaxPlayers(){return wn()}playCrimeReport(t,n){return n<3||n>22?(c.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=le.CUT){Ss(this.id,t,n,r,i,a,s,l,h)}interpolateCameraLookAt(t,n,r,i,a,s,l,h=le.CUT){gs(this.id,t,n,r,i,a,s,l,h)}createExplosion(t,n,r,i,a){return i<0||i>13?(c.error("[Player]: The valid explosion type value is only 0 to 13"),0):Bs(this.id,t,n,r,i,a)}static isConnected(t){return ht(t)}isConnected(){return ht(this.id)}disableRemoteVehicleCollisions(t){return ts(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const n=ja(this.id);return t.find(r=>r.id===n)}getVehicleSeat(){return Za(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=mt(t,n);if(h===void 0)return c.error("[Player]: Invalid anim library or name");Ja(this.id,t,n,4.1,r,i,a,s,r?0:h,l)}clearAnimations(t=!1){Qa(this.id,t)}getAnimationIndex(){return qa(this.id)}getAnimationName(){const[t,n]=kd(this.getAnimationIndex());return{animLib:t,animName:n}}setShopName(t){ma(this.id,t)}setPosFindZ(t,n,r=150){return new Promise(i=>{ct(this.id,t,n,r),setTimeout(()=>i(Si(this.id,t,n,r)))})}setWorldBounds(t,n,r,i){ns(this.id,t,n,r,i)}setChatBubble(t,n,r,i){Wa(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Ii(this.id,t,n,r)}getCustomSkin(){return Dd(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]=Aa(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){c.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,Oe.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 Ld(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(he(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;ce.set(this.id,{resolve:u,reject:y,timeout:setTimeout(()=>he(this.id,!0),P)}),ws(this.id,t,n,r,i)});h.then(s,l),h.finally(()=>he(this.id))}):c.error(`[Player]: sendClientCheck valid types are ${a.toString()}`)}selectTextDraw(t){bs(this.id,t)}cancelSelectTextDraw(){Os(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)}getSurfingPlayerObject(t){const n=Pa(this.id);if(n!==C.OBJECT_ID)return t.get(n)}isAttachedObjectSlotUsed(t){return Ca(this.id,t)}setAttachedObject(t,n,r,i,a,s,l,h,u,y,S,P,f,E){return this.isAttachedObjectSlotUsed(t)?0:Ia(this.id,t,n,r,i,a,s,l,h,u,y,S,P,f,E)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?fa(this.id,t):0}toggleWidescreen(t){return _.TogglePlayerWidescreen(this.id,t)}isPlayerWidescreenToggled(){return _.IsPlayerWidescreenToggled(this.id)}getSpawnInfo(){return _.GetSpawnInfo(this.id)}getSkillLevel(t){return _.GetPlayerSkillLevel(this.id,t)}isCheckpointActive(){return _.IsPlayerCheckpointActive(this.id)}getCheckpoint(){return _.GetPlayerCheckpoint(this.id)}isRaceCheckpointActive(){return _.IsPlayerRaceCheckpointActive(this.id)}getRaceCheckpoint(){return _.GetPlayerRaceCheckpoint(this.id)}getWorldBounds(){_.GetPlayerWorldBounds(this.id)}isInModShop(){return _.IsPlayerInModShop(this.id)}getSirenState(){return _.GetPlayerSirenState(this.id)}getLandingGearState(){return _.GetPlayerLandingGearState(this.id)}getHydraReactorAngle(){return _.GetPlayerHydraReactorAngle(this.id)}getTrainSpeed(){return _.GetPlayerTrainSpeed(this.id)}getZAim(){return _.GetPlayerZAim(this.id)}getSurfingOffsets(){return _.GetPlayerSurfingOffsets(this.id)}getRotationQuat(){return _.GetPlayerRotationQuat(this.id)}getDialogID(){return _.GetPlayerDialogID(this.id)}getSpectateID(){return _.GetPlayerSpectateID(this.id)}getSpectateType(){return _.GetPlayerSpectateType(this.id)}getRawIp(){return _.GetPlayerRawIp(this.id)}setGravity(t){return _.SetPlayerGravity(this.id,t)}getGravity(){return _.GetPlayerGravity(this.id)}setAdmin(t){return _.SetPlayerAdmin(this.id,t)}isSpawned(){return _.IsPlayerSpawned(this.id)}isControllable(){return _.IsPlayerControllable(this.id)}isCameraTargetEnabled(){return _.IsPlayerCameraTargetEnabled(this.id)}toggleGhostMode(t){return _.TogglePlayerGhostMode(this.id,t)}getGhostMode(){return _.GetPlayerGhostMode(this.id)}getBuildingsRemoved(){return _.GetPlayerBuildingsRemoved(this.id)}getAttachedObject(t){return _.GetPlayerAttachedObject(this.id,t)}removeWeapon(t){return _.RemovePlayerWeapon(this.id,t)}isUsingOfficialClient(){return _.IsPlayerUsingOfficialClient(this.id)}allowWeapons(t){return _.AllowPlayerWeapons(this.id,t)}areWeaponsAllowed(){return _.ArePlayerWeaponsAllowed(this.id)}gpci(t){return _i(this.id,t)}}let ue=null,me=null;N.on(M.create,e=>{me===null&&(me=e)}),lt(()=>(!ue&&me&&k.getPoolSize()>-1&&(ue=setInterval(()=>{for(const e of me){const t=e[1];!t.isNpc()&&!t.isPaused&&t.getState()!==H.NONE&&Date.now()-t.lastUpdateTick>1e3&&N.emit(M.pause,t)}},500)),1)),_t(()=>(ue&&k.getPoolSize()<=0&&clearInterval(ue),1));class Hd{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 we={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 Hd;constructor(t){lt(n=>{const r=t(n);return this.players.set(n,r),m(this,"onConnect")(r)}),_t((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;T.close(i),he(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,we.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===H.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}),N.emit(M.create,this.players),N.on(M.pause,n=>{n.isPaused=!0,this.onPause&&this.onPause(n,n.lastUpdateTick)}),N.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,we.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 dt();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:dt()}m(this,"onCommandError")(t,r,we.rejected)})}}const xd=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Vd=[[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],[],[],[],[],[],[],[],[]],Ud=(e,t)=>{if(!Wd(e))return c.error("[vehicleUtils]: Invalid model id"),!1;const n=Vd[e-400];if(n===null)return!1;const r=t-1e3;return xd.includes(r)||n.includes(r)},Wd=e=>e>=400&&e<=611,Kd=(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 Y=(e=>(e.created="OnVehicleCreate",e.destroyed="OnVehicleDestroy",e))(Y||{});const ye=new L;class U{_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 c.warn("[Vehicle]: Unable to create the vehicle again");if(U.createdCount===B.MAX_VEHICLES)return c.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=ks(n,r,i,a,s,l,h,u||-1,y||!1);U.createdCount++,ye.emit(Y.created,this)}}destroy(){if(this.id===-1)return c.warn("[Vehicle]: Unable to destroy the vehicle before create");Gs(this.id),U.createdCount--,ye.emit(Y.destroyed,this),this._id=-1}addComponent(t){return this.id===-1?0:Ud(this.getModel(),t)?$s(this.id,t):(c.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(U.getComponentType(t))===0?(c.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):ed(this.id,t)}getComponentInSlot(t){return cd(this.id,t)}static getComponentType(t){return hd(t)}linkToInterior(t){return this.id===-1?0:qs(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Ad(this.id,t)}getVirtualWorld(){return this.id===-1?0:Id(this.id)}repair(){return this.id===-1?0:ud(this.id)}setPos(t,n,r){return this.id===-1?0:Ns(this.id,t,n,r)}getPos(){if(this.id!==-1)return Fs(this.id)}getHealth(){return this.id===-1?0:id(this.id)}setHealth(t){return this.id===-1?0:rd(this.id,t)}isPlayerIn(t){return this.id===-1?!1:Ps(t.id,this.id)}putPlayerIn(t,n){return this.id===-1||n<0?0:(n>4&&c.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),Ka(t.id,this.id,n))}getZAngle(){return this.id===-1?0:vs(this.id)}setZAngle(t){return this.id===-1?0:Vs(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(c.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?ld(this.id,t):(c.error("[Vehicle]: number plates only allow letters and numbers"),0)}static getPoolSize(){return Mn()}changeColours(t,n){return this.id===-1?0:td(this.id,t,n)}setVelocity(t,n,r){return this.id===-1?0:yd(this.id,t,n,r)}getVelocity(){if(this.id===-1)return;const[t,n,r]=md(this.id);return{x:t,y:n,z:r}}setAngularVelocity(t,n,r){return this.id===-1?0:Sd(this.id,t,n,r)}getDamageStatus(){if(this.id!==-1)return gd(this.id)}updateDamageStatus(t,n,r,i){this.id!==-1&&Pd(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return xs(this.id,t,n,r)}getModel(){return _d(this.id)}static getModelInfo(t,n){return pd(t,n)}getModelInfo(t){if(this.id!==-1)return U.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,n,r,i]=Hs(this.id);return{w:t,x:n,y:r,z:i}}setRespawn(){return this.id===-1?0:Qs(this.id)}isStreamedIn(t){return this.id===-1?!1:Ms(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:Ys(this.id,t,n,r,i)}getParamsCarDoors(){if(this.id!==-1)return Xs(this.id)}getParamsCarWindows(){if(this.id!==-1)return Js(this.id)}setParamsEx(t,n,r,i,a,s,l){return this.id===-1?0:Ks(this.id,t,n,r,i,a,s,l)}getParamsEx(){if(this.id===-1)return;const[t,n,r,i,a,s,l]=js(this.id);return{engine:t,lights:n,alarm:r,doors:i,bonnet:a,boot:s,objective:l}}getParamsSirenState(){return this.id===-1?-2:Zs(this.id)}setParamsForPlayer(t,n,r){return this.id===-1?0:Us(this.id,t.id,n,r)}isTrailerAttached(){return this.id===-1?!1:dd(this.id)}changePaintjob(t){return this.id===-1||!Kd(this.getModel(),t)?0:(this.changeColours("#fff","#fff"),nd(this.id,t),1)}attachTrailer(t){return this.id===-1?0:ad(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&sd(this.id)}getTrailer(t){if(this.id!==-1)return t.find(n=>n.id===od(this.id))}isValid(){return ut(this.id)}static isValid(t){return ut(t)}getMatrix(){if(this.id!==-1)return _.GetVehicleMatrix(this.id)}getTrainSpeed(){return this.id===-1?0:_.GetVehicleTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===-1?0:_.GetVehicleHydraReactorAngle(this.id)}getLandingGearState(){return this.id===-1?0:_.GetVehicleLandingGearState(this.id)}getSirenState(){return this.id===-1?0:_.GetVehicleSirenState(this.id)}static getModelsUsed=_.GetVehicleModelsUsed;getDriver(t){if(this.id!==-1)return t.get(_.GetVehicleDriver(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(_.GetVehicleLastDriver(this.id))}static getModelCount=_.GetVehicleModelCount;isSirenEnabled(){return _.IsVehicleSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===-1?0:_.ToggleVehicleSirenEnabled(this.id,t)}isDead(){return this.id===-1?!0:_.IsVehicleDead(this.id)}getRespawnTick(){return this.id===-1?0:_.GetVehicleRespawnTick(this.id)}isOccupied(){return this.id===-1?!1:_.IsVehicleOccupied(this.id)}hasBeenOccupied(){return this.id===-1?!1:_.HasVehicleBeenOccupied(this.id)}getOccupiedTick(){return this.id===-1?0:_.GetVehicleOccupiedTick(this.id)}getCab(){return this.id===-1?0:_.GetVehicleCab(this.id)}getRespawnDelay(){return this.id===-1?0:_.GetVehicleRespawnDelay(this.id)}setRespawnDelay(t){return this.id===-1?0:_.SetVehicleRespawnDelay(this.id,t)}getNumberPlate(){return this.id===-1?"":_.GetVehicleNumberPlate(this.id)}getInterior(){return this.id===-1?0:_.GetVehicleInterior(this.id)}getPaintjob(){return this.id===-1?-1:_.GetVehiclePaintjob(this.id)}getColours(){if(this.id!==-1)return _.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:_.SetVehicleSpawnInfo(this.id,t,n,r,i,a,p(s),p(l),h,u)}getSpawnInfo(){if(this.id!==-1)return _.GetVehicleSpawnInfo(this.id)}}class jd{vehicles=new Map;players;constructor(t,n=!0){this.players=t,ye.on(Y.created,r=>{this.vehicles.set(r.id,r)}),ye.on(Y.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 V=[],K=[],ke=e=>{setTimeout(async()=>{try{const t=V.findIndex(r=>r.name===e);if(t===-1)return;const n=V[t];await n.load(),V.splice(t,1),K.push(n)}catch(t){c.error(`[GameMode]: script ${e} load fail`),c.warn(new Error(JSON.stringify(t)))}})},Ge=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),V.push(n)}catch(t){c.error(`[GameMode]: script ${e} unload fail`),c.warn(new Error(JSON.stringify(t)))}})},Zd=e=>{Ge(e),ke(e)};ot(()=>{V.forEach(e=>ke(e.name))}),D(()=>{K.forEach(e=>Ge(e.name))});const zd=function(e,...t){if(V.some(n=>n===e)||K.some(n=>n===e)){c.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),V.push(e)};class z{static charset=b;initialized=!1;constructor(){ot(()=>{if(this.initialized)return c.error("[GameMode]: Cannot be initialized more than once");z.supportAllNickname(),this.initialized=!0,this.onInit&&this.onInit()}),D(()=>{if(!this.initialized)return c.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=ke;static unloadScript=Ge;static reloadScript=Zd;static supportAllNickname(){for(let t=0;t<=255;t++)z.isNickNameCharacterAllowed(t)||z.allowNickNameCharacter(t,!0)}static allowAdminTeleport=_.AllowAdminTeleport;static isAdminTeleportAllowed=_.IsAdminTeleportAllowed;static allowInteriorWeapons=_.AllowInteriorWeapons;static areInteriorWeaponsAllowed=_.AreInteriorWeaponsAllowed;static areAllAnimationsEnabled=_.AreAllAnimationsEnabled;static enableAllAnimations=_.EnableAllAnimations;static enableStuntBonusForAll=Cs;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?(c.error("[GameMode]: The valid weather value is only 0 to 255"),0):zn(t)}static setWorldTime(t){return t<0||t>23?(c.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?(c.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Jn(t,n,r,i,a)}static manualVehicleEngineAndLights=Ws;static blockIpAddress=hr;static unBlockIpAddress=ur;static getServerTickRate=mr;static addSimpleModel(t,n,r,i,a){return this.checkSimpleModel(t,n,r,i,a)?Rd(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)?bd(t,n,r,i,a,s,l):0}static checkSimpleModel(t,n,r,i,a,s,l){return t<-1?(c.error("[GameMode]: AddSimpleModel - Error virtual world"),0):n<0?(c.error("[GameMode]: AddSimpleModel - Error baseid"),0):r>-1e3||r<-3e4?(c.error("[GameMode]: AddSimpleModel - Error newid range"),0):i.trim().length<0?(c.error("[GameMode]: AddSimpleModel - Empty dffname"),0):a.trim().length<0?(c.error("[GameMode]: AddSimpleModel - Empty txdname"),0):s!==void 0&&(s<0||s>23)?(c.error("[GameMode]: AddSimpleModel - Error time on range"),0):l!==void 0&&(l<0||l>23)?(c.error("[GameMode]: AddSimpleModel - Error time off range"),0):1}static findModelFileNameFromCRC=Md;static findTextureFileNameFromCRC=Fd;static getWeaponName=Od;static setObjectsDefaultCameraCollision=ui;static vectorSize=kn;static clearBanList=_.ClearBanList;static isBanned=_.IsBanned;static isValidNickName=_.IsValidNickName;static allowNickNameCharacter=_.AllowNickNameCharacter;static isNickNameCharacterAllowed=_.IsNickNameCharacterAllowed;static addServerRule=_.AddServerRule;static setServerRule=_.SetServerRule;static isValidServerRule=_.IsValidServerRule;static removeServerRule=_.RemoveServerRule;static getWeaponSlot=_.GetWeaponSlot;static getAvailableClasses=_.GetAvailableClasses;static getPlayerClass=_.GetPlayerClass;static editPlayerClass=_.EditPlayerClass;static toggleChatTextReplacement=_.ToggleChatTextReplacement;static chatTextReplacementToggled=_.ChatTextReplacementToggled;static getConsoleVarAsString(t){const n=_.GetConsoleVarAsByteArray(t);return I.decodeFromBuf(I.getValidStr(n),z.charset)}static getConsoleVarAsInt=_.GetConsoleVarAsInt;static getConsoleVarAsBool=_.GetConsoleVarAsBool}class Xd{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 Bd(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 Yd{_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 J=(e=>(e.created="OnMenuCreate",e.destroyed="OnMenuDestroy",e))(J||{});const Se=new L;class De{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){c.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?c.error("[Menu]: Cannot be created twice"):De.menuCount===B.MAX_MENUS?c.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),Se.emit(J.created,this),De.menuCount++,this)}destroy(){return this._id===-1?c.error("[Menu]: Cannot destroy before create"):(Er(this.id),Se.emit(J.destroyed,this),this)}addItem(t,n){return this._id===-1?c.error("[Menu]: Cannot addItem before create"):this._itemCount===B.MAX_MENU_ROW?c.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?c.error("[Menu]: Wrong number of columns"):(Tr(this.id,t,n),this._itemCount++,this)}setColumnHeader(t,n){return this._id===-1?c.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?c.error("[Menu]: Wrong number of columns"):(Dr(this.id,t,n),this)}disable(){return this._id===-1?c.error("[Menu]: Cannot disable menu before create"):(Or(this.id),this)}disableRow(t){if(this._id===-1)return c.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return c.error("[Menu]: Wrong number of rows");Br(this.id,t)}isValid(){return br(this.id)}showForPlayer(t){return this._id===-1?c.error("[Menu]: Cannot show menu before create"):Lr(this.id,t.id)}hideForPlayer(t){return this._id===-1?c.error("[Menu]: Cannot hide menu before create"):Rr(this.id,t.id)}static getMenu(t,n){return n.find(r=>r.id===Be(t.id))}isDisabled(){return this._id===-1?!1:_.IsMenuDisabled(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:_.IsMenuRowDisabled(this.id,t)}getItems(t){return this._id===-1?0:_.GetMenuItems(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:_.GetMenuPos(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:_.GetMenuColumnWidth(this.id)}getColumnHeader(t){return this._id===-1?c.error("[Menu]: Cannot get column header before create"):_.GetMenuColumnHeader(this.id,t)}getItem(t,n){if(this._id===-1)return c.error("[Menu]: Cannot get item before create");if(!(n<0||n>this.getItems(t)-1))return _.GetMenuItem(this.id,t,n)}}class Jd{menus=new Map;players;constructor(t,n=!0){this.players=t,Se.on(J.created,r=>{this.menus.set(r.id,r)}),Se.on(J.destroyed,r=>{this.menus.delete(r.id)}),n&&D(()=>{this.menus.forEach(r=>r.destroy()),this.menus.clear()}),Jt(r=>{const i=this.findMenuById(Be(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(Be(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 Q=(e=>(e.created="OnGangZoneCreate",e.destroyed="OnGangZoneDestroy",e))(Q||{});const ge=new L;class v{_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 c.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(v.createdPlayerCount===B.MAX_GANG_ZONES)return c.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=_.CreatePlayerGangZone(t.id,n,r,i,a),v.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(v.createdGlobalCount===B.MAX_GANG_ZONES)return c.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),v.createdGlobalCount++}ge.emit(Q.created,{key:{id:this.id,global:t===void 0},value:this})}destroy(){if(this.id===-1)return c.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(_.PlayerGangZoneDestroy(t.id,this.id),v.createdPlayerCount--):(ti(this.id),v.createdGlobalCount--),ge.emit(Q.destroyed,{id:this.id,global:t===void 0}),this._id=-1}showForAll(t){return this.id===-1?c.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?c.warn("[GangZone]: player's gangzone should not be show for all."):(ri(this.id,t),this)}showForPlayer(t,n){if(this.id===-1)return c.warn("[GangZone]: Unable to show the gangzone before create");const r=this.sourceInfo.player;if(r)_.PlayerGangZoneShow(r.id,this.id,p(t));else if(n)ni(n.id,this.id,t);else return c.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?c.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?c.warn("[GangZone]: player's gangzone should not be hide for all."):(ai(this.id),this)}hideForPlayer(t){if(this.id===-1)return c.warn("[GangZone]: Unable to hide the gangzone before create");const n=this.sourceInfo.player;if(n)_.PlayerGangZoneHide(n.id,this.id);else if(t)ii(t.id,this.id);else return c.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?c.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?c.warn("[GangZone]: player's gangzone should not be flash for all."):(di(this.id,t),this)}flashForPlayer(t,n){if(this.id===-1)return c.warn("[GangZone]: Unable to flash the gangzone before create");const r=this.sourceInfo.player;if(r)_.PlayerGangZoneFlash(r.id,this.id,p(n));else if(t)si(t.id,this.id,n);else return c.warn("[GangZone]: invalid player for flash");return this}StopFlashForAll(){return this.id===-1?c.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?c.warn("[GangZone]: player's gangzone should not be stop flash for all."):(li(this.id),this)}StopFlashForPlayer(t){if(this.id===-1)return c.warn("[GangZone]: Unable to stop flash the gangzone before create");const n=this.sourceInfo.player;if(n)_.PlayerGangZoneStopFlash(n.id,this.id);else if(t)oi(t.id,this.id);else return c.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?_.IsValidPlayerGangZone(t.id,this.id):_.IsValidGangZone(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?_.IsPlayerInPlayerGangZone(n.id,this.id):_.IsPlayerInGangZone(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?_.IsPlayerGangZoneVisible(n.id,this.id):_.IsGangZoneVisibleForPlayer(t.id,this.id)}getColourForPlayer(t){if(this.id===-1)return c.warn("[GangZone]: Unable to get colour before create");const n=this.sourceInfo.player;return n?_.PlayerGangZoneGetColour(n.id,this.id):_.GangZoneGetColourForPlayer(t.id,this.id)}getFlashColourForPlayer(t){if(this.id===-1)return c.warn("[GangZone]: Unable to get flash colour before create");const n=this.sourceInfo.player;return n?_.PlayerGangZoneGetFlashColour(n.id,this.id):_.GangZoneGetFlashColourForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?_.IsPlayerGangZoneFlashing(n.id,this.id):_.IsGangZoneFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===-1)return c.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?_.PlayerGangZoneGetPos(t.id,this.id):_.GangZoneGetPos(this.id)}useCheck(t){if(this.id===-1)return c.warn("[GangZone]: Unable to use check before create");const n=this.sourceInfo.player;return n?_.UsePlayerGangZoneCheck(n.id,this.id,t):_.UseGangZoneCheck(this.id,t),this}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}}class Qd{gangZones=new Map;players;constructor(t,n=!0){this.players=t,ge.on(Q.created,r=>{this.gangZones.set(r.key,r.value)}),ge.on(Q.destroyed,r=>{this.gangZones.has(r)&&this.gangZones.delete(r)}),n&&D(()=>{this.gangZones.forEach(r=>r.destroy()),this.gangZones.clear()}),_.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}),_.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}),_.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}),_.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 c.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?c.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?c.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?c.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 $d{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 $=(e=>(e.created="OnPickupCreate",e.destroyed="OnPickupDestroy",e))($||{});const Pe=new L;class eo{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return c.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?c.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)),Pe.emit($.created,this),this)}destroy(){return this.id===-1?c.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(o.DestroyDynamicPickup(this.id),Pe.emit($.destroyed,this),this)}isValid(){return o.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?c.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 to{pickups=new Map;players;constructor(t,n=!0){this.players=t,Pe.on($.created,r=>{this.pickups.set(r.id,r)}),Pe.on($.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 ee=(e=>(e.created="OnCheckPointCreate",e.destroyed="OnCheckPointDestroy",e))(ee||{});const pe=new L;class no{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return c.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?c.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(ee.created,this),this)}destroy(){return this.id===-1?c.warn("[StreamerCheckpoint]: 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?c.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?c.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 ro{checkpoints=new Map;players;constructor(t,n=!0){this.players=t,pe.on(ee.created,r=>{this.checkpoints.set(r.id,r)}),pe.on(ee.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 te=(e=>(e.created="OnRaceCPCreate",e.destroyed="OnRaceCPDestroy",e))(te||{});const Ae=new L;class io{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return c.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:R}=this.sourceInfo;return l<0||l>8?c.error("[StreamerRaceCP]: Invalid type"):h<0?c.error("[StreamerRaceCP]: Invalid size"):(t??=o.StreamerDistances.RACE_CP_SD,s??=0,R?(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)),Ae.emit(te.created,this),this)}destroy(){return this.id===-1?c.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(o.DestroyDynamicCP(this.id),Ae.emit(te.destroyed,this),this)}isValid(){return o.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?c.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?c.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 ao{raceCPs=new Map;players;constructor(t,n=!0){this.players=t,Ae.on(te.created,r=>{this.raceCPs.set(r.id,r)}),Ae.on(te.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 ne=(e=>(e.created="OnActorCreate",e.destroyed="OnActorDestroy",e))(ne||{});const Ie=new L;class so{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return c.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)),Ie.emit(ne.created,this),this}destroy(){return this.id===-1?c.warn("[StreamerActor]: Unable to destroy the actor before create"):(o.DestroyDynamicActor(this.id),Ie.emit(ne.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?c.warn("[StreamerActor]: Unable to get virtual world before create"):o.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?c.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 c.warn("[StreamerActor]: Unable to apply animation before create");const l=mt(t,n);return l===void 0?c.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?c.warn("[StreamerActor]: Unable to clear animation before create"):o.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?c.warn("[StreamerActor]: Unable to get facing angle before create"):o.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?c.warn("[StreamerActor]: Unable to set facing angle before create"):o.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?c.warn("[StreamerActor]: Unable to get pos before create"):o.GetDynamicActorPos(this.id)}setPos(t,n,r){return this.id===-1?c.warn("[StreamerActor]: Unable to set pos before create"):o.SetDynamicActorPos(this.id,t,n,r)}getHealth(){return this.id===-1?c.warn("[StreamerActor]: Unable to get health before create"):o.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?c.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?c.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?c.warn("[StreamerActor]: Unable to get skin before create"):_.GetActorSkin(this.id)}setSkin(t,n=!1){return this.id===-1?c.warn("[StreamerActor]: Unable to set skin before create"):!n&&(t<0||t>311||t==74)?0:_.SetActorSkin(this.id,t)}getSpawnInfo(){return this.id===-1?c.warn("[StreamerActor]: Unable to get spawn info before create"):_.GetActorSpawnInfo(this.id)}getAnimation(){return this.id===-1?c.warn("[StreamerActor]: Unable to get animation before create"):_.GetActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?c.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 oo{actors=new Map;players;constructor(t,n=!0){this.players=t,Ie.on(ne.created,r=>{this.actors.set(r.id,r)}),Ie.on(ne.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 re=(e=>(e.created="On3dTextCreate",e.destroyed="On3dTextDestroy",e))(re||{});const fe=new L;class lo{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return c.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:R,z:F,extended:oe}=this.sourceInfo;return t??=C.PLAYER_ID,n??=C.VEHICLE_ID,i??=o.StreamerDistances.TEXT_3D_LABEL_SD,r??=!1,u??=0,oe?(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,R,F,f,t,n,r,i,a,s,l,h,u,y||b)):(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||b,S,p(P),E,R,F,f,t,n,r,a,s,l,i,h,u)),fe.emit(re.created,this),this}destroy(){return this.id===-1?c.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(o.DestroyDynamic3DTextLabel(this.id),fe.emit(re.destroyed,this),this)}isValid(){return o.IsValidDynamic3DTextLabel(this.id)}getColour(){return this.id===-1?c.warn("[Streamer3DTextLabel]: Unable to get colour before create"):this.sourceInfo.colour}getCharset(){return this.id===-1?c.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?c.warn("[Streamer3DTextLabel]: Unable to get text before create"):wt(this.id,this.sourceInfo.charset||b)}updateText(t,n,r=this.sourceInfo.charset){return this.id===-1?c.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=r,Bt(this.id,p(t),n,r||b))}toggleCallbacks(t=!0){return this.id===-1?c.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 _o{_3dTexts=new Map;players;constructor(t,n=!0){this.players=t,fe.on(re.created,r=>{this._3dTexts.set(r.id,r)}),fe.on(re.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 ie=(e=>(e.created="OnObjectCreate",e.destroyed="OnObjectDestroy",e))(ie||{});const Ce=new L;class co{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return c.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:R}=this.sourceInfo;return t??=o.StreamerDistances.OBJECT_SD,n??=o.StreamerDistances.OBJECT_DD,l??=0,R?(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)),Ce.emit(ie.created,this),this}destroy(){return this.id===-1?c.warn("[StreamerObject]: Unable to destroy the object before create"):(o.DestroyDynamicObject(this.id),Ce.emit(ie.destroyed,this),this)}isValid(){return o.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelid}getPos(){return this.id===-1?c.warn("[StreamerObject]: Cannot get position before create"):o.GetDynamicObjectPos(this.id)}setPos(t,n,r){return this.id===-1?c.warn("[StreamerObject]: Cannot set position before create"):o.SetDynamicObjectPos(this.id,t,n,r)}getRot(){return this.id===-1?c.warn("[StreamerObject]: Cannot get rotation before create"):o.GetDynamicObjectRot(this.id)}setRot(t,n,r){return this.id===-1?c.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?c.warn("[StreamerObject]: Cannot start moving before create"):i<0?c.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&c.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?c.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?c.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?c.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?c.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?c.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?c.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?c.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?c.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?c.warn("[StreamerObject]: Unable to get material text before create"):Gt(this.id,t,this.sourceInfo.charset||b)}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?c.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,kt(t||b,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?c.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 ho{objects=new Map;players;constructor(t,n=!0){this.players=t,Ce.on(ie.created,r=>{this.objects.set(r.id,r)}),Ce.on(ie.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}),_.OnPlayerEditAttachedObject((r,i,a,s,l,h,u,y,S,P,f,E,R,F)=>{const oe=this.players.get(r);return oe?m(this,"onPlayerEditAttached")(oe,i,a,s,l,h,u,y,S,P,f,E,R,F):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 ae=(e=>(e.created="OnAreaCreate",e.destroyed="OnAreaDestroy",e))(ae||{});const Ee=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 c.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 c.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 c.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 c.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 c.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 c.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 c.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 c.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 c.error("[StreamerArea]: Invalid sphere size");this._id=o.CreateDynamicSphere(s,l,h,u,t,n,r)}return Ee.emit(ae.created,this),this}destroy(){return this.id===-1?c.warn("[StreamerArea]: Unable to destroy the area before create"):(o.DestroyDynamicArea(this.id),Ee.emit(ae.destroyed,this),this)}isValid(){return this.id===-1?!1:o.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?c.warn("[StreamerArea]: Unable to get type before create"):o.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return c.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return o.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return c.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?c.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?c.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?c.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?c.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?c.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 uo{areas=new Map;players;constructor(t,n=!0){this.players=t,Ee.on(ae.created,r=>{this.areas.set(r.id,r)}),Ee.on(ae.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 se=(e=>(e.created="OnTextDrawCreate",e.destroyed="OnTextDrawDestroy",e))(se||{});const Te=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 c.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 c.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Ea(i.id,t,n,r),g.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(g.createdGlobalCount===B.MAX_TEXT_DRAWS)return c.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=wr(t,n,r),g.createdGlobalCount++}return Te.emit(se.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?(Ta(t.id,this.id),g.createdPlayerCount--):(kr(this.id),g.createdGlobalCount--),Te.emit(se.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?Ga(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?Ra(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?Oa(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?ka(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?La(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?Da(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 c.warn("[TextDraw]: Invalid outline value");const{player:n}=this.sourceInfo;return n?wa(n.id,this.id,t):Vr(this.id,t),this}setPreviewModel(t){if(this.id===-1)return g.beforeCreateWarn("set preview model");this.setFont(X.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?xa(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(X.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?Va(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(X.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?Ua(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?Ma(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?Fa(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 c.warn("[TextDraw]: Invalid shadow value");const{player:n}=this.sourceInfo;return n?Ba(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 c.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?Ha(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?ba(n.id,this.id,t):vr(this.id,t),this}static beforeCreateWarn(t){c.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)Na(n.id,this.id);else if(t)Zr(t.id,this.id);else return c.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)va(n.id,this.id);else if(t)zr(t.id,this.id);else return c.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?g.beforeCreateWarn("show"):this.sourceInfo.player?c.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?c.warn("[TextDraw]: player's textdraw should not be hide for all."):(Yr(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?_.IsValidPlayer3DTextLabel(t.id,this.id):_.IsValidTextDraw(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:_.IsTextDrawVisibleForPlayer(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetString(t.id,this.id):_.TextDrawGetString(this.id)}setPos(t,n){if(this.id===-1)return g.beforeCreateWarn("set position");const r=this.sourceInfo.player;return r?_.PlayerTextDrawSetPos(r.id,this.id,t,n):_.TextDrawSetPos(this.id,t,n),this}getLetterSize(){if(this.id===-1)return g.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetLetterSize(t.id,this.id):_.TextDrawGetLetterSize(this.id)}getTextSize(){if(this.id===-1)return g.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetTextSize(t.id,this.id):_.TextDrawGetTextSize(this.id)}getPos(){if(this.id===-1)return g.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetPos(t.id,this.id):_.TextDrawGetPos(this.id)}getColour(){if(this.id===-1)return g.beforeCreateWarn("get Colour");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetColour(t.id,this.id):_.TextDrawGetColour(this.id)}getBoxColour(){if(this.id===-1)return g.beforeCreateWarn("get box Colour");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetBoxColour(t.id,this.id):_.TextDrawGetBoxColour(this.id)}getBackgroundColour(){if(this.id===-1)return g.beforeCreateWarn("get bg Colour");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetBackgroundColour(t.id,this.id):_.TextDrawGetBackgroundColour(this.id)}getShadow(){if(this.id===-1)return g.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetShadow(t.id,this.id):_.TextDrawGetShadow(this.id)}getOutline(){if(this.id===-1)return g.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetOutline(t.id,this.id):_.TextDrawGetOutline(this.id)}getFont(){if(this.id===-1)return g.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetFont(t.id,this.id):_.TextDrawGetFont(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?_.PlayerTextDrawIsBox(t.id,this.id):_.TextDrawIsBox(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?_.PlayerTextDrawIsProportional(t.id,this.id):_.TextDrawIsProportional(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?_.PlayerTextDrawIsSelectable(t.id,this.id):_.TextDrawIsSelectable(this.id)}getAlignment(){if(this.id===-1)return g.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetAlignment(t.id,this.id):_.TextDrawGetAlignment(this.id)}getPreviewModel(){if(this.id===-1)return g.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetPreviewModel(t.id,this.id):_.TextDrawGetPreviewModel(this.id)}getPreviewRot(){if(this.id===-1)return g.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetPreviewRot(t.id,this.id):_.TextDrawGetPreviewRot(this.id)}getPreviewVehColours(){if(this.id===-1)return g.beforeCreateWarn("get preview vel Colours");const t=this.sourceInfo.player;return t?_.PlayerTextDrawGetPreviewVehicleColours(t.id,this.id):_.TextDrawGetPreviewVehicleColours(this.id)}isGlobal(){return!!this.sourceInfo.player}}class mo{textDraws=new Map;players;constructor(t,n=!0){this.players=t,Te.on(se.created,r=>{this.textDraws.set(r.key,r.value)}),Te.on(se.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 _.GangZonePos}}),Object.defineProperty(exports,"IActorAnimation",{enumerable:!0,get:function(){return _.IActorAnimation}}),Object.defineProperty(exports,"IActorSpawn",{enumerable:!0,get:function(){return _.IActorSpawn}}),Object.defineProperty(exports,"IAttachedData",{enumerable:!0,get:function(){return _.IAttachedData}}),Object.defineProperty(exports,"IAttachedObject",{enumerable:!0,get:function(){return _.IAttachedObject}}),Object.defineProperty(exports,"IBounds",{enumerable:!0,get:function(){return _.IBounds}}),Object.defineProperty(exports,"ICheckPoint",{enumerable:!0,get:function(){return _.ICheckPoint}}),Object.defineProperty(exports,"IMaterial",{enumerable:!0,get:function(){return _.IMaterial}}),Object.defineProperty(exports,"IMaterialText",{enumerable:!0,get:function(){return _.IMaterialText}}),Object.defineProperty(exports,"IObjectPos",{enumerable:!0,get:function(){return _.IObjectPos}}),Object.defineProperty(exports,"IObjectRotPos",{enumerable:!0,get:function(){return _.IObjectRotPos}}),Object.defineProperty(exports,"IOffsets",{enumerable:!0,get:function(){return _.IOffsets}}),Object.defineProperty(exports,"IPlayerClass",{enumerable:!0,get:function(){return _.IPlayerClass}}),Object.defineProperty(exports,"IQuat",{enumerable:!0,get:function(){return _.IQuat}}),Object.defineProperty(exports,"IRaceCheckPoint",{enumerable:!0,get:function(){return _.IRaceCheckPoint}}),Object.defineProperty(exports,"ITextDrawCommonSize",{enumerable:!0,get:function(){return _.ITextDrawCommonSize}}),Object.defineProperty(exports,"ITextDrawRot",{enumerable:!0,get:function(){return _.ITextDrawRot}}),Object.defineProperty(exports,"IVehColor",{enumerable:!0,get:function(){return _.IVehColor}}),Object.defineProperty(exports,"IVehMatrix",{enumerable:!0,get:function(){return _.IVehMatrix}}),Object.defineProperty(exports,"IVehSpawnInfo",{enumerable:!0,get:function(){return _.IVehSpawnInfo}}),exports.ArtworkEnum=Me,exports.BodyPartsEnum=Xe,exports.BoneIdsEnum=Ye,exports.BulletHitTypesEnum=nt,exports.CameraCutStylesEnum=le,exports.CameraModesEnum=ze,exports.CarModTypeEnum=Qe,exports.ClickSourcesEnum=Fe,exports.ConnectionStatusEnum=ve,exports.DamageDeathReasonEnum=Oe,exports.Dialog=T,exports.DialogStylesEnum=Re,exports.Dynamic3DTextLabel=lo,exports.Dynamic3dTextLabelEvent=_o,exports.DynamicActor=so,exports.DynamicActorEvent=oo,exports.DynamicArea=de,exports.DynamicAreaEvent=uo,exports.DynamicCheckPointEvent=ro,exports.DynamicCheckpoint=no,exports.DynamicMapIcon=qd,exports.DynamicMapIconEvent=$d,exports.DynamicObject=co,exports.DynamicObjectEvent=ho,exports.DynamicPickup=eo,exports.DynamicPickupEvent=to,exports.DynamicRaceCP=io,exports.DynamicRaceCPEvent=ao,exports.ERecordStatus=w,exports.EditResponseTypesEnum=Ne,exports.FightingStylesEnum=je,exports.GameMode=z,exports.GameText=Yd,exports.GangZone=v,exports.GangZoneEvent=Qd,exports.I18n=I,exports.InvalidEnum=C,exports.KeysEnum=He,exports.LimitsEnum=B,exports.MapIconStylesEnum=Ze,exports.MarkerModesEnum=xe,exports.Menu=De,exports.MenuEvent=Jd,exports.NPCPlaybackEnum=Ve,exports.NetStats=Xd,exports.NpcEvent=En,exports.NpcFunc=G,exports.ObjectMaterialAlignmmentEnum=We,exports.ObjectMaterialTextSizeEnum=Ue,exports.Player=k,exports.PlayerEvent=Z,exports.PlayerStateEnum=H,exports.RecordTypesEnum=it,exports.SelectObjectTypesEnum=Ke,exports.SpecialActionsEnum=be,exports.SpectateModesEnum=_e,exports.Streamer=A,exports.TextDraw=g,exports.TextDrawAlignEnum=Je,exports.TextDrawEvent=mo,exports.TextDrawFontsEnum=X,exports.Vehicle=U,exports.VehicleEvent=jd,exports.VehicleModelInfoEnum=$e,exports.VehicleParamsEnum=qe,exports.WeaponEnum=et,exports.WeaponSkillsEnum=tt,exports.WeaponStatesEnum=rt,exports.rgba=p;
1
+ "use strict";var de=require("iconv-lite"),it=require("pino"),V=require("lodash-unified"),_=require("@infernus/streamer"),I=require("@infernus/wrapper");function Se(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if(n!=="default"){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var u=Se(_),h=Se(I);const s=it({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{s.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){s.warn(e);return}s.warn(new Error(JSON.stringify(e)))});class C{constructor(t,n){this.defaultLocale=t,this.locales=n,this.defaultLocale=V.snakeCase(t),this.locales=C.snakeLocaleKeys(n)}addLocales=t=>{V.merge(this.locales,C.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=V.omit(this.locales,t)};$t=(t,n,r=this.defaultLocale)=>{const i=this.locales[V.snakeCase(r)],o=V.get(this.locales[this.defaultLocale],t),d=V.get(i,t,o);if(d===void 0)return s.warn(`[i18n]: cannot find ${r}["${t}"]`),"undefined";if(typeof d!="string")return JSON.stringify(d);let l=d;if(n&&n.length){const c=/%s/i;for(let m=0;m<n.length&&l.match(c)!==null;m++)l=l.replace(c,n[m])}return l};static isValidate(t){de.encodingExists(t)||(s.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,n){return C.isValidate(n),[...de.encode(t,n),0]}static decodeFromBuf(t,n){C.isValidate(n);const r=t instanceof Buffer?t:Buffer.from(t);return de.decode(r,n)}static getValidStr(t){return t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return V.mapKeys(t,(n,r)=>V.snakeCase(r))}}const te=new Map;function ge(e){te.set(e,[])}function at(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function ot(e,...t){const{defaultValue:n=!0,name:r,beforeEach:i,afterEach:o}=e,d=te.get(r);if(!d||!d.length)return+n;const l=i?i(...t):{},c=[];let m=-1;const y=()=>{if(m++,m<d.length){try{const P=d[m]({next:y,...l});return P instanceof Promise&&c.push(P),P}catch(P){const A=JSON.stringify(P),E=`executing event [name:${r},index:${m}] error: ${A}.`;s.error(E)}return n}return o&&(c.length?Promise.allSettled(c).then(()=>o(l)):o(l)),n};return at(y(),n)}function S(e){const{name:t,identifier:n,isNative:r=!0}=e;if(te.has(t)){const l=`event [name:${t}] error: already defined.`;throw s.error(l),new Error(l)}ge(t);function i(...l){return ot(e,...l)}function o(l){const c=te.get(t).push(l)-1;return()=>{const m=te.get(t)||[],y=m.length-1,P=y<c?y:c;for(let A=P;A>=0;A--)if(m[A]===l){m.splice(A,1);break}}}const d=[o,i];return r&&(n&&samp.registerEvent(t,n),samp.on(t,i)),d}const[dt]=S({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[st]=S({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[lt]=S({name:"OnNpcModeInit"}),[_t]=S({name:"OnNpcModeExit"}),[ct]=S({name:"OnNpcSpawn"}),[ht]=S({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:C.decodeFromBuf(t,"utf8")}}}),ut={onConnect:dt,onDisconnect:st,onModeInit:lt,onModeExit:_t,onSpawn:ct,onClientMessage:ht};var ye=(e=>(e[e.DOWNLOAD_REQUEST_EMPTY=0]="DOWNLOAD_REQUEST_EMPTY",e[e.DOWNLOAD_REQUEST_MODEL_FILE=1]="DOWNLOAD_REQUEST_MODEL_FILE",e[e.DOWNLOAD_REQUEST_TEXTURE_FILE=2]="DOWNLOAD_REQUEST_TEXTURE_FILE",e))(ye||{}),Ie=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Ie||{}),se=(e=>(e[e.MSGBOX=0]="MSGBOX",e[e.INPUT=1]="INPUT",e[e.LIST=2]="LIST",e[e.PASSWORD=3]="PASSWORD",e[e.TABLIST=4]="TABLIST",e[e.TABLIST_HEADERS=5]="TABLIST_HEADERS",e))(se||{}),Pe=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Pe||{}),pe=(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))(pe||{}),D=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-1]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e))(D||{}),Ae=(e=>(e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(Ae||{}),M=(e=>(e[e.MAX_PLAYER_NAME=24]="MAX_PLAYER_NAME",e[e.MAX_PLAYERS=1e3]="MAX_PLAYERS",e[e.MAX_VEHICLES=2e3]="MAX_VEHICLES",e[e.MAX_ACTORS=1e3]="MAX_ACTORS",e[e.MAX_OBJECTS=1e3]="MAX_OBJECTS",e[e.MAX_GANG_ZONES=1024]="MAX_GANG_ZONES",e[e.MAX_TEXT_DRAWS=2048]="MAX_TEXT_DRAWS",e[e.MAX_PLAYER_TEXT_DRAWS=256]="MAX_PLAYER_TEXT_DRAWS",e[e.MAX_MENUS=128]="MAX_MENUS",e[e.MAX_MENU_ROW=12]="MAX_MENU_ROW",e[e.MAX_MENU_COL=2]="MAX_MENU_COL",e[e.MAX_3DTEXT_GLOBAL=1024]="MAX_3DTEXT_GLOBAL",e[e.MAX_3DTEXT_PLAYER=1024]="MAX_3DTEXT_PLAYER",e[e.MAX_PICKUPS=4096]="MAX_PICKUPS",e[e.MAX_PLAYER_ATTACHED_OBJECTS=10]="MAX_PLAYER_ATTACHED_OBJECTS",e[e.MAX_CHATBUBBLE_LENGTH=144]="MAX_CHATBUBBLE_LENGTH",e))(M||{}),fe=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(fe||{}),Ee=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Ee||{}),F=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(F||{}),Ce=(e=>(e[e._32x32=10]="_32x32",e[e._64x32=20]="_64x32",e[e._64x64=30]="_64x64",e[e._128x32=40]="_128x32",e[e._128x64=50]="_128x64",e[e._128x128=60]="_128x128",e[e._256x32=70]="_256x32",e[e._256x64=80]="_256x64",e[e._256x128=90]="_256x128",e[e._256x256=100]="_256x256",e[e._512x64=110]="_512x64",e[e._512x128=120]="_512x128",e[e._512x256=130]="_512x256",e[e._512x512=140]="_512x512",e))(Ce||{}),Te=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Te||{}),De=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(De||{}),be=(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))(be||{}),Le=(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))(Le||{}),ae=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ae||{}),Re=(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))(Re||{}),oe=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(oe||{}),$=(e=>(e[e.NONE=0]="NONE",e[e.ONFOOT=1]="ONFOOT",e[e.DRIVER=2]="DRIVER",e[e.PASSENGER=3]="PASSENGER",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.ENTER_VEHICLE_DRIVER=5]="ENTER_VEHICLE_DRIVER",e[e.ENTER_VEHICLE_PASSENGER=6]="ENTER_VEHICLE_PASSENGER",e[e.WASTED=7]="WASTED",e[e.SPAWNED=8]="SPAWNED",e[e.SPECTATING=9]="SPECTATING",e))($||{}),Oe=(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))(Oe||{}),Be=(e=>(e[e.Spine=1]="Spine",e[e.Head=2]="Head",e[e.LeftUpperArm=3]="LeftUpperArm",e[e.RightUpperArm=4]="RightUpperArm",e[e.LeftHand=5]="LeftHand",e[e.RightHand=6]="RightHand",e[e.LeftThigh=7]="LeftThigh",e[e.RightThigh=8]="RightThigh",e[e.LeftFoot=9]="LeftFoot",e[e.RightFoot=10]="RightFoot",e[e.RightCalf=11]="RightCalf",e[e.LeftCalf=12]="LeftCalf",e[e.LeftForearm=13]="LeftForearm",e[e.RightForearm=14]="RightForearm",e[e.LeftClavicle=15]="LeftClavicle",e[e.RightClavicle=16]="RightClavicle",e[e.Neck=17]="Neck",e[e.Jaw=18]="Jaw",e))(Be||{}),le=(e=>(e[e.NONE=0]="NONE",e[e.DUCK=1]="DUCK",e[e.USEJETPACK=2]="USEJETPACK",e[e.ENTER_VEHICLE=3]="ENTER_VEHICLE",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.DANCE1=5]="DANCE1",e[e.DANCE2=6]="DANCE2",e[e.DANCE3=7]="DANCE3",e[e.DANCE4=8]="DANCE4",e[e.HANDSUP=10]="HANDSUP",e[e.USECELLPHONE=11]="USECELLPHONE",e[e.SITTING=12]="SITTING",e[e.STOPUSECELLPHONE=13]="STOPUSECELLPHONE",e[e.DRINK_BEER=20]="DRINK_BEER",e[e.SMOKE_CIGGY=21]="SMOKE_CIGGY",e[e.DRINK_WINE=22]="DRINK_WINE",e[e.DRINK_SPRUNK=23]="DRINK_SPRUNK",e[e.CUFFED=24]="CUFFED",e[e.CARRY=25]="CARRY",e[e.PISSING=68]="PISSING",e))(le||{}),ne=(e=>(e[e.FONT_0=0]="FONT_0",e[e.FONT_1=1]="FONT_1",e[e.FONT_2=2]="FONT_2",e[e.FONT_3=3]="FONT_3",e[e.SPRITE_DRAW=4]="SPRITE_DRAW",e[e.MODEL_PREVIEW=5]="MODEL_PREVIEW",e[e.BANK=0]="BANK",e[e.STANDARD=1]="STANDARD",e[e.SPACEAGE=2]="SPACEAGE",e[e.HEADING=3]="HEADING",e[e.BECKETT_REGULAR=0]="BECKETT_REGULAR",e[e.AHARONI_BOLD=1]="AHARONI_BOLD",e[e.BANK_GOTHIC=2]="BANK_GOTHIC",e[e.PRICEDOWN=3]="PRICEDOWN",e[e.SPRITE=4]="SPRITE",e[e.PREVIEW=5]="PREVIEW",e))(ne||{}),we=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(we||{}),Ge=(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))(Ge||{}),ke=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(ke||{}),Me=(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))(Me||{}),Fe=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.REASON_VEHICLE=49]="REASON_VEHICLE",e[e.REASON_DROWN=53]="REASON_DROWN",e[e.REASON_COLLISION=54]="REASON_COLLISION",e[e.REASON_SPLAT=54]="REASON_SPLAT",e[e.REASON_CONNECT=200]="REASON_CONNECT",e[e.REASON_DISCONNECT=200]="REASON_DISCONNECT",e[e.REASON_SUICIDE=255]="REASON_SUICIDE",e[e.WEAPON_FIST=0]="WEAPON_FIST",e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NITESTICK=3]="NITESTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.NIGHT_VISION_GOGGLES=44]="NIGHT_VISION_GOGGLES",e[e.THERMAL_GOGGLES=45]="THERMAL_GOGGLES",e[e.PARACHUTE=46]="PARACHUTE",e))(Fe||{}),Ne=(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))(Ne||{}),He=(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))(He||{}),ve=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NO_BULLETS=0]="NO_BULLETS",e[e.LAST_BULLET=1]="LAST_BULLET",e[e.MORE_BULLETS=2]="MORE_BULLETS",e[e.RELOADING=3]="RELOADING",e))(ve||{}),_e=(e=>(e[e.VEHICLE=49]="VEHICLE",e[e.HELICOPTERBLADES=50]="HELICOPTERBLADES",e[e.EXPLOSION=51]="EXPLOSION",e[e.DROWN=53]="DROWN",e[e.COLLISION=54]="COLLISION",e[e.CONNECT=200]="CONNECT",e[e.DISCONNECT=201]="DISCONNECT",e[e.SUICIDE=255]="SUICIDE",e))(_e||{}),xe=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(xe||{});const f=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(r=>parseInt(r,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let n=0;return t.reverse().forEach((r,i)=>{r!==0&&(n+=Math.pow(16,i*2)*r)}),n},Q=(e,t)=>{const n=t.replace("-","")==="utf8"?e:C.encodeToBuf(e,t);return[n instanceof Array?"a":"s",n]},Ve=(e,t,n)=>{const r=Q(n,e.charset);return a("SendClientMessage",`ii${r[0]}`,e.id,f(t),r[1])},mt=(e,t,n)=>(e.forEach(r=>Ve(r,t,n)),1),Ue=(e,t,n)=>{const r=Q(n,e.charset);return a("SendPlayerMessageToPlayer",`ii${r[0]}`,e.id,t,r[1])},St=(e,t,n)=>(e.forEach(r=>Ue(r,t,n)),1),gt=(e,t,n)=>{const{charset:r}=e,{style:i,caption:o,info:d,button1:l,button2:c}=n,[m,y]=Q(o||"",r),[,P]=Q(d||"",r),[,A]=Q(l||"",r),[,E]=Q(c||"",r);return a("ShowPlayerDialog",`iii${m.repeat(4)}`,e.id,t,i,y,P,A,E)};samp.registerEvent("OnPlayerTextI18n","iai"),samp.registerEvent("OnPlayerCommandTextI18n","iai"),samp.registerEvent("OnDialogResponseI18n","iiiiai"),samp.registerEvent("OnClientMessageI18n","iai"),samp.registerEvent("OnRconCommandI18n","ai"),samp.registerEvent("OnRconLoginAttemptI18n","aiaii");const yt=e=>{const t=a("GetPlayerName","iAi",e.id,M.MAX_PLAYER_NAME);return C.decodeFromBuf(C.getValidStr(t),e.charset)},It=(e,t)=>a("SetPlayerName","ia",e.id,C.encodeToBuf(t,e.charset)),Pt=(e,t,n)=>{const r=C.encodeToBuf(t,n);return a("BanEx","ia",e,r)},pt=(e,t,n,r,i,o,d,l,c,m,y,P,A,E,b,w)=>{const x=C.encodeToBuf(t,e);return a("CreateDynamic3DTextLabel","aiffffiiiiiifii",x,n,r,i,o,d,l,c,m,y,P,A,E,b,w)},At=(e,t,n,r,i,o,d,l,c,m,y,P,A,E,b,w)=>{const x=C.encodeToBuf(e,w);return a("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",x,t,n,r,i,o,d,l,c,m,y,P,A,E,b,y.length,P.length,A.length,E.length)},ft=(e,t,n,r)=>{const i=C.encodeToBuf(n,r);return a("UpdateDynamic3DTextLabelText","iia",e,t,i)},Et=(e,t)=>{const n=a("GetDynamic3DTextLabelText","iAi",e,1024);return C.decodeFromBuf(C.getValidStr(n),t)},Ct=(e,t,n,r,i,o,d,l,c,m,y)=>{const P=C.encodeToBuf(r,e),A=C.encodeToBuf(o,e);return a("SetDynamicObjectMaterialText","iiaiaiiiii",t,n,P,i,A,d,l,c,m,y)},Tt=(e,t,n)=>{const[r,i,o,d,l,c,m]=a("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),y=C.decodeFromBuf(r,n),P=C.decodeFromBuf(o,n);return{text:y,materialsize:i,fontface:P,bold:d,fontcolour:l,backcolour:c,textalignment:m}},{callNative:a,callNativeFloat:j}=samp,Dt=(e,t,n)=>a("SendDeathMessage","iii",e,t,n),bt=(e,t,n,r)=>a("SendDeathMessageToPlayer","iiii",e,t,n,r),Lt=(e,t,n)=>a("GameTextForAll","sii",e,t,n),Rt=e=>{a("HideGameTextForAll","i",e)},Ot=(e,t,n,r)=>Boolean(a("GameTextForPlayer","isii",e,t,n,r)),Bt=(e,t)=>Boolean(a("HasGameText","ii",e,t)),wt=(e,t)=>Boolean(a("HideGameTextForPlayer","ii",e,t)),Gt=()=>a("GetMaxPlayers",""),kt=(e,t,n,r,i,o)=>j("VectorSize","ffffff",e,t,n,r,i,o),Mt=()=>a("GetPlayerPoolSize",""),Ft=()=>a("GetVehiclePoolSize",""),Nt=e=>a("SetGameModeText","s",e),Ht=e=>a("SetTeamCount","i",e),vt=(e,t,n,r,i,o,d,l,c,m,y)=>a("AddPlayerClass","iffffiiiiii",e,t,n,r,i,o,d,l,c,m,y),xt=(e,t,n,r,i,o,d,l,c,m,y,P)=>a("AddPlayerClassEx","iiffffiiiiii",e,t,n,r,i,o,d,l,c,m,y,P),Vt=(e,t,n,r,i,o,d)=>a("AddStaticVehicle","iffffii",e,t,n,r,i,o,d),Ut=(e,t,n,r,i,o,d,l,c)=>a("AddStaticVehicleEx","iffffiiii",e,t,n,r,i,o,d,l,c),Wt=e=>a("ShowNameTags","i",e),Kt=e=>a("ShowPlayerMarkers","i",e),jt=e=>a("SetWorldTime","i",e),Zt=()=>a("EnableVehicleFriendlyFire",""),Xt=e=>a("SetWeather","i",e),zt=()=>j("GetGravity",""),Yt=e=>a("SetGravity","f",e),Jt=(e,t,n,r,i)=>a("CreateExplosion","fffif",e,t,n,r,i),$t=e=>a("EnableZoneNames","i",e),Qt=()=>a("UsePlayerPedAnims",""),qt=()=>a("DisableInteriorEnterExits",""),en=e=>a("SetNameTagDrawDistance","f",e),tn=()=>a("DisableNameTagLOS",""),nn=e=>a("LimitGlobalChatRadius","f",e),rn=e=>a("LimitPlayerMarkerRadius","f",e),an=(e,t)=>a("ConnectNPC","ss",e,t),on=e=>Boolean(a("IsPlayerNPC","i",e)),dn=e=>Boolean(a("IsPlayerAdmin","i",e)),sn=e=>a("Kick","i",e),ln=e=>a("Ban","i",e),_n=e=>a("SendRconCommand","s",e),cn=e=>a("GetPlayerNetworkStats","iSi",e,1024),hn=()=>a("GetNetworkStats","Si",1024),un=(e,t)=>a("BlockIpAddress","si",e,t),mn=e=>a("UnBlockIpAddress","s",e),Sn=()=>a("GetServerTickRate",""),gn=e=>a("NetStats_GetConnectedTime","i",e),yn=e=>a("NetStats_MessagesReceived","i",e),In=e=>a("NetStats_BytesReceived","i",e),Pn=e=>a("NetStats_MessagesSent","i",e),pn=e=>a("NetStats_BytesSent","i",e),An=e=>a("NetStats_MessagesRecvPerSecond","i",e),fn=e=>j("NetStats_PacketLossPercent","i",e),En=e=>a("NetStats_ConnectionStatus","i",e),Cn=(e,t,n,r,i,o)=>a("CreateMenu","siffff",e,t,n,r,i,o),Tn=e=>a("DestroyMenu","i",e),Dn=(e,t,n)=>a("AddMenuItem","iis",e,t,n),bn=(e,t,n)=>a("SetMenuColumnHeader","iis",e,t,n),Ln=(e,t)=>a("ShowMenuForPlayer","ii",e,t),Rn=(e,t)=>a("HideMenuForPlayer","ii",e,t),On=e=>Boolean(a("IsValidMenu","i",e)),Bn=e=>a("DisableMenu","i",e),wn=(e,t)=>a("DisableMenuRow","ii",e,t),Gn=e=>a("GetPlayerMenu","i",e),kn=(e,t,n)=>a("TextDrawCreate","ffs",e,t,n),Mn=e=>a("TextDrawDestroy","i",e),Fn=(e,t,n)=>a("TextDrawLetterSize","iff",e,t,n),Nn=(e,t,n)=>a("TextDrawTextSize","iff",e,t,n),Hn=(e,t)=>a("TextDrawAlignment","ii",e,t),vn=(e,t)=>Boolean(a("TextDrawColor","ii",e,f(t))),xn=(e,t)=>a("TextDrawUseBox","ii",e,t),Vn=(e,t)=>Boolean(a("TextDrawBoxColor","ii",e,f(t))),Un=(e,t)=>a("TextDrawSetShadow","ii",e,t),Wn=(e,t)=>a("TextDrawSetOutline","ii",e,t),Kn=(e,t)=>Boolean(a("TextDrawBackgroundColor","ii",e,f(t))),jn=(e,t)=>a("TextDrawFont","ii",e,t),Zn=(e,t)=>a("TextDrawSetProportional","ii",e,t),Xn=(e,t)=>a("TextDrawSetSelectable","ii",e,t),zn=(e,t)=>a("TextDrawShowForPlayer","ii",e,t),Yn=(e,t)=>a("TextDrawHideForPlayer","ii",e,t),Jn=e=>a("TextDrawShowForAll","i",e),$n=e=>a("TextDrawHideForAll","i",e),Qn=(e,t)=>a("TextDrawSetString","is",e,t),qn=(e,t)=>a("TextDrawSetPreviewModel","ii",e,t),er=(e,t,n,r,i=1)=>{a("TextDrawSetPreviewRot","iffff",e,t,n,r,i)},tr=(e,t,n)=>Boolean(a("TextDrawSetPreviewVehCol","iii",e,f(t),f(n))),nr=(e,t,n,r)=>a("GangZoneCreate","ffff",e,t,n,r),rr=e=>a("GangZoneDestroy","i",e),ir=(e,t,n)=>a("GangZoneShowForPlayer","iii",e,t,f(n)),ar=(e,t)=>a("GangZoneShowForAll","ii",e,f(t)),or=(e,t)=>a("GangZoneHideForPlayer","ii",e,t),dr=e=>a("GangZoneHideForAll","i",e),sr=(e,t,n)=>a("GangZoneFlashForPlayer","iii",e,t,f(n)),lr=(e,t)=>a("GangZoneFlashForAll","ii",e,f(t)),_r=(e,t)=>a("GangZoneStopFlashForPlayer","ii",e,t),cr=e=>a("GangZoneStopFlashForAll","i",e),hr=(e,t)=>C.decodeFromBuf(C.getValidStr(a("gpci","iAi",e,41)),t),ur=e=>Boolean(a("BeginObjectSelecting","i",e)),mr=e=>Boolean(a("EndObjectEditing","i",e)),Sr=e=>Boolean(a("SetObjectsDefaultCameraCol","i",e)),gr=(e,t,n,r,i,o,d,l,c,m,y,P,A)=>a("SetSpawnInfo","iiiffffiiiiii",e,t,n,r,i,o,d,l,c,m,y,P,A),yr=e=>a("SpawnPlayer","i",e),We=(e,t,n,r)=>a("SetPlayerPos","ifff",e,t,n,r),Ir=(e,t,n,r)=>a("SetPlayerPosFindZ","ifff",e,t,n,r),Pr=e=>a("GetPlayerPos","iFFF",e),pr=(e,t)=>a("SetPlayerFacingAngle","if",e,t),Ar=e=>a("GetPlayerFacingAngle","iF",e),fr=(e,t,n,r,i)=>Boolean(a("IsPlayerInRangeOfPoint","iffff",e,t,n,r,i)),Er=(e,t,n,r)=>j("GetPlayerDistanceFromPoint","ifff",e,t,n,r),Cr=(e,t)=>Boolean(a("IsPlayerStreamedIn","ii",e,t)),Tr=(e,t)=>a("SetPlayerInterior","ii",e,t),Dr=e=>a("GetPlayerInterior","i",e),br=(e,t)=>a("SetPlayerHealth","if",e,t),Lr=e=>a("GetPlayerHealth","iF",e),Rr=(e,t)=>a("SetPlayerArmour","if",e,t),Or=e=>a("GetPlayerArmour","iF",e),Br=(e,t,n)=>a("SetPlayerAmmo","iii",e,t,n),wr=e=>a("GetPlayerAmmo","i",e),Gr=e=>a("GetPlayerWeaponState","i",e),kr=e=>a("GetPlayerTargetPlayer","i",e),Mr=(e,t)=>{a("SetPlayerTeam","ii",e,t)},Fr=e=>a("GetPlayerTeam","i",e),Nr=(e,t)=>a("SetPlayerScore","ii",e,t),Hr=e=>a("GetPlayerScore","i",e),vr=e=>a("GetPlayerDrunkLevel","i",e),xr=(e,t)=>a("SetPlayerDrunkLevel","ii",e,t),Vr=(e,t)=>a("SetPlayerColor","ii",e,f(t)),Ur=e=>a("GetPlayerColor","i",e),Wr=(e,t)=>a("SetPlayerSkin","ii",e,t),Kr=e=>a("GetPlayerSkin","i",e),jr=(e,t,n)=>a("GivePlayerWeapon","iii",e,t,n),Zr=e=>a("ResetPlayerWeapons","i",e),Xr=(e,t)=>a("SetPlayerArmedWeapon","ii",e,t),zr=(e,t)=>a("GetPlayerWeaponData","iiII",e,t),Yr=(e,t)=>a("GivePlayerMoney","ii",e,t),Jr=e=>a("ResetPlayerMoney","i",e),$r=e=>a("GetPlayerMoney","i",e),Qr=e=>a("GetPlayerState","i",e),qr=e=>a("GetPlayerPing","i",e),ei=e=>a("GetPlayerWeapon","i",e),ti=e=>a("GetPlayerKeys","iIII",e),ni=(e,t,n)=>a("SetPlayerTime","iii",e,t,n),ri=e=>a("GetPlayerTime","iII",e),ii=(e,t)=>a("TogglePlayerClock","ii",e,t),ai=(e,t)=>a("SetPlayerWeather","ii",e,t),oi=e=>a("ForceClassSelection","i",e),di=(e,t)=>a("SetPlayerWantedLevel","ii",e,t),si=e=>a("GetPlayerWantedLevel","i",e),li=(e,t)=>a("SetPlayerFightingStyle","ii",e,t),_i=e=>a("GetPlayerFightingStyle","i",e),ci=(e,t,n,r)=>a("SetPlayerVelocity","ifff",e,t,n,r),hi=e=>a("GetPlayerVelocity","iFFF",e),ui=(e,t,n)=>a("PlayCrimeReportForPlayer","iii",e,t,n),mi=(e,t,n,r,i,o,d=!1)=>a("PlayAudioStreamForPlayer","isffffi",e,t,n,r,i,o,d),Si=e=>a("StopAudioStreamForPlayer","i",e),gi=(e,t)=>a("SetPlayerShopName","is",e,t),yi=(e,t,n)=>a("SetPlayerSkillLevel","iii",e,t,n),Ii=e=>a("GetPlayerSurfingVehicleID","i",e),Pi=e=>a("GetPlayerSurfingObjectID","i",e),pi=e=>a("GetPlayerSurfingPlayerObjectID","i",e),Ai=(e,t,n,r,i,o)=>a("RemoveBuildingForPlayer","iiffff",e,t,n,r,i,o),fi=e=>a("GetPlayerLastShotVectors","iFFFFFF",e),Ei=(e,t,n,r,i,o,d,l,c,m,y,P,A,E,b)=>a("SetPlayerAttachedObject","iiiifffffffffii",e,t,n,r,i,o,d,l,c,m,y,P,A,f(E),f(b)),Ci=(e,t)=>a("RemovePlayerAttachedObject","ii",e,t),Ti=(e,t)=>Boolean(a("IsPlayerAttachedObjectSlotUsed","ii",e,t)),Di=(e,t,n,r)=>a("CreatePlayerTextDraw","iffs",e,t,n,r),bi=(e,t)=>{a("PlayerTextDrawDestroy","ii",e,t)},Li=(e,t,n,r)=>a("PlayerTextDrawLetterSize","iiff",e,t,n,r),Ri=(e,t,n)=>a("PlayerTextDrawAlignment","iii",e,t,n),Oi=(e,t,n)=>Boolean(a("PlayerTextDrawColor","iii",e,t,f(n))),Bi=(e,t,n)=>a("PlayerTextDrawUseBox","iii",e,t,n),wi=(e,t,n)=>Boolean(a("PlayerTextDrawBoxColor","iii",e,t,f(n))),Gi=(e,t,n)=>a("PlayerTextDrawSetShadow","iii",e,t,n),ki=(e,t,n)=>a("PlayerTextDrawSetOutline","iii",e,t,n),Mi=(e,t,n)=>Boolean(a("PlayerTextDrawBackgroundColour","iii",e,t,f(n))),Fi=(e,t,n)=>a("PlayerTextDrawFont","iii",e,t,n),Ni=(e,t,n)=>a("PlayerTextDrawSetProportional","iii",e,t,n),Hi=(e,t,n)=>a("PlayerTextDrawSetSelectable","iii",e,t,n),vi=(e,t)=>a("PlayerTextDrawShow","ii",e,t),xi=(e,t)=>a("PlayerTextDrawHide","ii",e,t),Vi=(e,t,n)=>a("PlayerTextDrawSetString","iis",e,t,n),Ui=(e,t,n)=>a("PlayerTextDrawSetPreviewModel","iii",e,t,n),Wi=(e,t,n,r,i,o)=>a("PlayerTextDrawSetPreviewRot","iiffff",e,t,n,r,i,o),Ki=(e,t,n,r)=>Boolean(a("PlayerTextDrawSetPreviewVehCol","iiii",e,t,n,r)),ji=(e,t,n,r,i)=>a("SetPlayerChatBubble","isifi",e,t,f(n),r,i),Zi=(e,t,n)=>a("PutPlayerInVehicle","iii",e,t,n),Xi=e=>a("GetPlayerVehicleID","i",e),zi=e=>a("GetPlayerVehicleSeat","i",e),Yi=e=>a("RemovePlayerFromVehicle","i",e),Ji=(e,t)=>a("TogglePlayerControllable","ii",e,t),$i=(e,t,n,r,i)=>a("PlayerPlaySound","iifff",e,t,n,r,i),Qi=(e,t,n,r,i,o,d,l,c,m)=>a("ApplyAnimation","issfiiiiii",e,t,n,r,i,o,d,l,c,m),qi=(e,t)=>a("ClearAnimations","ii",e,t),ea=e=>a("GetPlayerAnimationIndex","i",e),ta=e=>a("GetPlayerSpecialAction","i",e),na=(e,t)=>a("SetPlayerSpecialAction","ii",e,t),ra=(e,t)=>a("DisableRemoteVehicleCollisions","ii",e,t),ia=(e,t,n,r,i)=>a("SetPlayerWorldBounds","iffff",e,t,n,r,i),aa=(e,t,n)=>a("SetPlayerMarkerForPlayer","iii",e,t,f(n)),oa=(e,t,n)=>a("ShowPlayerNameTagForPlayer","iii",e,t,n),da=(e,t,n,r)=>a("SetPlayerCameraPos","ifff",e,t,n,r),sa=(e,t,n,r,i)=>a("SetPlayerCameraLookAt","ifffi",e,t,n,r,i),la=e=>a("SetCameraBehindPlayer","i",e),_a=e=>a("GetPlayerCameraPos","iFFF",e),ca=e=>a("GetPlayerCameraFrontVector","iFFF",e),ha=e=>a("GetPlayerCameraMode","i",e),ua=(e,t)=>a("EnablePlayerCameraTarget","ii",e,t),ma=e=>a("GetPlayerCameraTargetVehicle","i",e),Sa=e=>a("GetPlayerCameraTargetPlayer","i",e),ga=e=>j("GetPlayerCameraAspectRatio","i",e),ya=e=>j("GetPlayerCameraZoom","i",e),Ia=(e,t,n,r,i,o,d,l,c)=>a("InterpolateCameraPos","iffffffii",e,t,n,r,i,o,d,l,c),Pa=(e,t,n,r,i,o,d,l,c)=>a("InterpolateCameraLookAt","iffffffii",e,t,n,r,i,o,d,l,c),Ke=e=>Boolean(a("IsPlayerConnected","i",e)),pa=(e,t)=>Boolean(a("IsPlayerInVehicle","ii",e,t)),Aa=e=>Boolean(a("IsPlayerInAnyVehicle","i",e)),fa=(e,t)=>a("SetPlayerVirtualWorld","ii",e,t),Ea=e=>a("GetPlayerVirtualWorld","i",e),Ca=(e,t)=>a("EnableStuntBonusForPlayer","ii",e,t),Ta=e=>a("EnableStuntBonusForAll","i",e),Da=(e,t)=>a("TogglePlayerSpectating","ii",e,t),ba=(e,t,n)=>a("PlayerSpectatePlayer","iii",e,t,n),La=(e,t,n)=>a("PlayerSpectateVehicle","iii",e,t,n),Ra=(e,t,n)=>a("StartRecordingPlayerData","iis",e,t,n),Oa=e=>a("StopRecordingPlayerData","i",e),Ba=(e,t)=>{a("SelectTextDraw","ii",e,f(t))},wa=e=>{a("CancelSelectTextDraw","i",e)},Ga=(e,t,n,r,i,o)=>a("CreateExplosionForPlayer","ifffif",e,t,n,r,i,o),ka=(e,t,n,r,i)=>a("SendClientCheck","iiiii",e,t,n,r,i),Ma=(e,t,n,r,i,o,d,l,c)=>a("CreateVehicle","iffffiiii",e,t,n,r,i,f(o),f(d),l,c),Fa=e=>a("DestroyVehicle","i",e),Na=(e,t)=>Boolean(a("IsVehicleStreamedIn","ii",e,t)),Ha=e=>{const t=a("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},va=(e,t,n,r)=>a("SetVehiclePos","ifff",e,t,n,r),xa=e=>a("GetVehicleZAngle","iF",e),Va=e=>a("GetVehicleRotationQuat","iFFFF",e),Ua=(e,t,n,r)=>j("GetVehicleDistanceFromPoint","ifff",e,t,n,r),Wa=(e,t)=>a("SetVehicleZAngle","if",e,t),Ka=(e,t,n,r)=>a("SetVehicleParamsForPlayer","iiii",e,t,n,r),ja=()=>a("ManualVehicleEngineAndLights",""),Za=(e,t,n,r,i,o,d,l)=>a("SetVehicleParamsEx","iiiiiiii",e,t,n,r,i,o,d,l),Xa=e=>a("GetVehicleParamsEx","iIIIIIII",e),za=e=>a("GetVehicleParamsSirenState","i",e),Ya=(e,t,n,r,i)=>a("SetVehicleParamsCarDoors","iiiii",e,t,n,r,i),Ja=e=>{const t=a("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},$a=(e,t,n,r,i)=>a("SetVehicleParamsCarWindows","iiiii",e,t,n,r,i),Qa=e=>{const t=a("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},qa=e=>a("SetVehicleToRespawn","i",e),eo=(e,t)=>a("LinkVehicleToInterior","ii",e,t),to=(e,t)=>a("AddVehicleComponent","ii",e,t),no=(e,t)=>a("RemoveVehicleComponent","ii",e,t),ro=(e,t,n)=>a("ChangeVehicleColor","iii",e,f(t),f(n)),io=(e,t)=>a("ChangeVehiclePaintjob","ii",e,t),ao=(e,t)=>a("SetVehicleHealth","if",e,t),oo=e=>a("GetVehicleHealth","iF",e),so=(e,t)=>a("AttachTrailerToVehicle","ii",e,t),lo=e=>a("DetachTrailerFromVehicle","i",e),_o=e=>Boolean(a("IsTrailerAttachedToVehicle","i",e)),co=e=>a("GetVehicleTrailer","i",e),ho=(e,t)=>a("SetVehicleNumberPlate","is",e,t),uo=e=>a("GetVehicleModel","i",e),mo=(e,t)=>a("GetVehicleComponentInSlot","ii",e,t),So=e=>a("GetVehicleComponentType","i",e),go=e=>a("RepairVehicle","i",e),yo=e=>a("GetVehicleVelocity","iFFF",e),Io=(e,t,n,r)=>a("SetVehicleVelocity","ifff",e,t,n,r),Po=(e,t,n,r)=>a("SetVehicleAngularVelocity","ifff",e,t,n,r),po=e=>{const t=a("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},Ao=(e,t,n,r,i)=>a("UpdateVehicleDamageStatus","iiiii",e,t,n,r,i),fo=(e,t)=>{const n=a("GetVehicleModelInfo","iiFFF",e,t);if(n.length<3)throw new Error("ModelID "+e+" not found");return{x:n[0],y:n[1],z:n[2]}},Eo=(e,t)=>a("SetVehicleVirtualWorld","ii",e,t),Co=e=>a("GetVehicleVirtualWorld","i",e),je=e=>Boolean(a("IsValidVehicle","i",e)),To=(e,t)=>a("StartRecordingPlayback","is",e,t),Do=()=>a("StopRecordingPlayback",""),bo=()=>a("PauseRecordingPlayback",""),Lo=()=>a("ResumeRecordingPlayback",""),Ro=e=>a("GetPlayerCustomSkin","i",e),Oo=(e,t)=>a("RedirectDownload","is",e,t),Bo=(e,t,n,r,i)=>a("AddSimpleModel","iiiss",e,t,n,r,i),wo=(e,t,n,r,i,o,d)=>a("AddSimpleModelTimed","iiissii",e,t,n,r,i,o,d),Go=e=>a("GetWeaponName","iSi",e,32),ko=e=>a("NetStats_GetIpPort","iSi",e,128+6),Mo=e=>a("GetPlayerIp","iSi",e,128),Fo=e=>a("GetAnimationName","iSiSi",e,32,32),No=e=>a("GetPlayerVersion","iSi",e,24),Ho=e=>a("FindModelFileNameFromCRC","iSi",e,255),vo=e=>a("FindTextureFileNameFromCRC","iSi",e,255);class N{constructor(){}static recordStatus;static connectNPC=an;static startRecordingPlayerData(t,n,r){if(t.isRecording)return s.warn("[NpcFunc]: It should be stopped before recording");Ra(t.id,n,r),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return s.warn("[NpcFunc]: It should be started before stop");Oa(t.id),t.isRecording=!1}static startRecordingPlayback(t,n){if(N.recordStatus>=F.start)return s.warn("[NpcFunc]: The current status cannot be replayed");To(t,n),N.recordStatus=F.start}static stopRecordingPlayback(){if(N.recordStatus<F.start)return s.warn("[NpcFunc]: The current status cannot be stopped");Do(),N.recordStatus=F.none}static pauseRecordingPlayback(){if(N.recordStatus!==F.start)return s.warn("[NpcFunc]: The current status cannot be paused");bo(),N.recordStatus=F.pause}static resumeRecordingPlayback(){if(N.recordStatus!==F.pause)return s.warn("[NpcFunc]: The current status cannot be paused");Lo(),N.recordStatus=F.start}}const xo=new Map([["AIRPORT",[{n:"thrw_barl_thrw",d:2}]],["Attractors",[{n:"Stepsit_in",d:1.67},{n:"Stepsit_loop",d:3.33},{n:"Stepsit_out",d:1.67}]],["BAR",[{n:"Barcustom_get",d:3},{n:"Barcustom_loop",d:2},{n:"Barcustom_order",d:3.67},{n:"BARman_idle",d:8.33},{n:"Barserve_bottle",d:3},{n:"Barserve_give",d:2.33},{n:"Barserve_glass",d:3.67},{n:"Barserve_in",d:1.67},{n:"Barserve_loop",d:2.33},{n:"Barserve_order",d:3.67},{n:"dnk_stndF_loop",d:2.33},{n:"dnk_stndM_loop",d:2.33}]],["BASEBALL",[{n:"Bat_1",d:.9},{n:"Bat_2",d:1.13},{n:"Bat_3",d:1.2},{n:"Bat_4",d:1},{n:"Bat_block",d:.47},{n:"Bat_Hit_1",d:.83},{n:"Bat_Hit_2",d:1.07},{n:"Bat_Hit_3",d:1.13},{n:"Bat_IDLE",d:.93},{n:"Bat_M",d:.53},{n:"BAT_PART",d:.53}]],["BD_FIRE",[{n:"BD_Fire1",d:1.83},{n:"BD_Fire2",d:1.67},{n:"BD_Fire3",d:1.83},{n:"BD_GF_Wave",d:5.07},{n:"BD_Panic_01",d:3.33},{n:"BD_Panic_02",d:3.33},{n:"BD_Panic_03",d:3.33},{n:"BD_Panic_04",d:3.33},{n:"BD_Panic_Loop",d:3.33},{n:"Grlfrd_Kiss_03",d:7},{n:"M_smklean_loop",d:5},{n:"Playa_Kiss_03",d:7},{n:"wash_up",d:3}]],["BEACH",[{n:"bather",d:4.2},{n:"Lay_Bac_Loop",d:2.67},{n:"ParkSit_M_loop",d:3.67},{n:"ParkSit_W_loop",d:3.33},{n:"SitnWait_loop_W",d:1.33}]],["benchpress",[{n:"gym_bp_celebrate",d:5},{n:"gym_bp_down",d:1},{n:"gym_bp_getoff",d:8.67},{n:"gym_bp_geton",d:5.33},{n:"gym_bp_up_A",d:2.33},{n:"gym_bp_up_B",d:2.67},{n:"gym_bp_up_smooth",d:1.33}]],["BF_injection",[{n:"BF_getin_LHS",d:1},{n:"BF_getin_RHS",d:1},{n:"BF_getout_LHS",d:1.13},{n:"BF_getout_RHS",d:1.13}]],["BIKED",[{n:"BIKEd_Back",d:.1},{n:"BIKEd_drivebyFT",d:.2},{n:"BIKEd_drivebyLHS",d:.2},{n:"BIKEd_drivebyRHS",d:.2},{n:"BIKEd_Fwd",d:.2},{n:"BIKEd_getoffBACK",d:1.47},{n:"BIKEd_getoffLHS",d:1},{n:"BIKEd_getoffRHS",d:1},{n:"BIKEd_hit",d:.03},{n:"BIKEd_jumponL",d:.97},{n:"BIKEd_jumponR",d:.97},{n:"BIKEd_kick",d:1.07},{n:"BIKEd_Left",d:.1},{n:"BIKEd_passenger",d:.03},{n:"BIKEd_pushes",d:.8},{n:"BIKEd_Ride",d:.03},{n:"BIKEd_Right",d:.1},{n:"BIKEd_shuffle",d:.43},{n:"BIKEd_Still",d:.03}]],["BIKEH",[{n:"BIKEh_Back",d:.1},{n:"BIKEh_drivebyFT",d:.2},{n:"BIKEh_drivebyLHS",d:.2},{n:"BIKEh_drivebyRHS",d:.2},{n:"BIKEh_Fwd",d:.2},{n:"BIKEh_getoffBACK",d:1.7},{n:"BIKEh_getoffLHS",d:.77},{n:"BIKEh_getoffRHS",d:.73},{n:"BIKEh_hit",d:.03},{n:"BIKEh_jumponL",d:1.47},{n:"BIKEh_jumponR",d:1.5},{n:"BIKEh_kick",d:1.07},{n:"BIKEh_Left",d:.13},{n:"BIKEh_passenger",d:.03},{n:"BIKEh_pushes",d:.97},{n:"BIKEh_Ride",d:.03},{n:"BIKEh_Right",d:.13},{n:"BIKEh_Still",d:.03}]],["BIKELEAP",[{n:"bk_blnce_in",d:1.9},{n:"bk_blnce_out",d:1},{n:"bk_jmp",d:.4},{n:"bk_rdy_in",d:.5},{n:"bk_rdy_out",d:.4},{n:"struggle_cesar",d:.47},{n:"struggle_driver",d:.47},{n:"truck_driver",d:.73},{n:"truck_getin",d:2.5}]],["BIKES",[{n:"BIKEs_Back",d:.1},{n:"BIKEs_drivebyFT",d:.2},{n:"BIKEs_drivebyLHS",d:.2},{n:"BIKEs_drivebyRHS",d:.2},{n:"BIKEs_Fwd",d:.2},{n:"BIKEs_getoffBACK",d:2.43},{n:"BIKEs_getoffLHS",d:1.1},{n:"BIKEs_getoffRHS",d:1.1},{n:"BIKEs_hit",d:.03},{n:"BIKEs_jumponL",d:.9},{n:"BIKEs_jumponR",d:.9},{n:"BIKEs_kick",d:1},{n:"BIKEs_Left",d:.1},{n:"BIKEs_passenger",d:.03},{n:"BIKEs_pushes",d:.73},{n:"BIKEs_Ride",d:.03},{n:"BIKEs_Right",d:.1},{n:"BIKEs_Snatch_L",d:.43},{n:"BIKEs_Snatch_R",d:.43},{n:"BIKEs_Still",d:.03}]],["BIKEV",[{n:"BIKEv_Back",d:.17},{n:"BIKEv_drivebyFT",d:.17},{n:"BIKEv_drivebyLHS",d:.23},{n:"BIKEv_drivebyRHS",d:.2},{n:"BIKEv_Fwd",d:.2},{n:"BIKEv_getoffBACK",d:1.7},{n:"BIKEv_getoffLHS",d:.67},{n:"BIKEv_getoffRHS",d:.67},{n:"BIKEv_hit",d:.03},{n:"BIKEv_jumponL",d:.67},{n:"BIKEv_jumponR",d:.67},{n:"BIKEv_kick",d:1},{n:"BIKEv_Left",d:.1},{n:"BIKEv_passenger",d:.03},{n:"BIKEv_pushes",d:.73},{n:"BIKEv_Ride",d:.03},{n:"BIKEv_Right",d:.1},{n:"BIKEv_Still",d:.03}]],["BIKE_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["BLOWJOBZ",[{n:"BJ_Car_End_P",d:4.13},{n:"BJ_Car_End_W",d:3.67},{n:"BJ_Car_Loop_P",d:.67},{n:"BJ_Car_Loop_W",d:.67},{n:"BJ_Car_Start_P",d:2.33},{n:"BJ_Car_Start_W",d:2.33},{n:"BJ_Couch_End_P",d:7.67},{n:"BJ_Couch_End_W",d:7.67},{n:"BJ_Couch_Loop_P",d:2},{n:"BJ_Couch_Loop_W",d:2},{n:"BJ_Couch_Start_P",d:5.33},{n:"BJ_Couch_Start_W",d:5.33},{n:"BJ_Stand_End_P",d:4.87},{n:"BJ_Stand_End_W",d:5.33},{n:"BJ_Stand_Loop_P",d:.67},{n:"BJ_Stand_Loop_W",d:.67},{n:"BJ_Stand_Start_P",d:2},{n:"BJ_Stand_Start_W",d:2}]],["BMX",[{n:"BMX_back",d:.1},{n:"BMX_bunnyhop",d:.33},{n:"BMX_drivebyFT",d:.2},{n:"BMX_driveby_LHS",d:.2},{n:"BMX_driveby_RHS",d:.2},{n:"BMX_fwd",d:.13},{n:"BMX_getoffBACK",d:1.37},{n:"BMX_getoffLHS",d:.73},{n:"BMX_getoffRHS",d:.63},{n:"BMX_jumponL",d:.9},{n:"BMX_jumponR",d:.9},{n:"BMX_Left",d:.13},{n:"BMX_pedal",d:.73},{n:"BMX_pushes",d:.8},{n:"BMX_Ride",d:.03},{n:"BMX_Right",d:.13},{n:"BMX_sprint",d:.67},{n:"BMX_still",d:.03}]],["BOMBER",[{n:"BOM_Plant",d:2.67},{n:"BOM_Plant_2Idle",d:1},{n:"BOM_Plant_Crouch_In",d:.8},{n:"BOM_Plant_Crouch_Out",d:.8},{n:"BOM_Plant_In",d:.87},{n:"BOM_Plant_Loop",d:.8}]],["BOX",[{n:"boxhipin",d:6.53},{n:"boxhipup",d:5},{n:"boxshdwn",d:6.1},{n:"boxshup",d:5.2},{n:"bxhipwlk",d:1.5},{n:"bxhwlki",d:.97},{n:"bxshwlk",d:2.5},{n:"bxshwlki",d:.97},{n:"bxwlko",d:.53},{n:"catch_box",d:1.5}]],["BSKTBALL",[{n:"BBALL_def_jump_shot",d:1.17},{n:"BBALL_def_loop",d:1},{n:"BBALL_def_stepL",d:.6},{n:"BBALL_def_stepR",d:.6},{n:"BBALL_Dnk",d:1.4},{n:"BBALL_Dnk_Gli",d:.37},{n:"BBALL_Dnk_Gli_O",d:.37},{n:"BBALL_Dnk_Lnch",d:.2},{n:"BBALL_Dnk_Lnch_O",d:.2},{n:"BBALL_Dnk_Lnd",d:.93},{n:"BBALL_Dnk_O",d:.1},{n:"BBALL_idle",d:2.43},{n:"BBALL_idle2",d:2.67},{n:"BBALL_idle2_O",d:2.67},{n:"BBALL_idleloop",d:.67},{n:"BBALL_idleloop_O",d:.67},{n:"BBALL_idle_O",d:2.43},{n:"BBALL_Jump_Cancel",d:1.07},{n:"BBALL_Jump_Cancel_O",d:1.07},{n:"BBALL_Jump_End",d:.93},{n:"BBALL_Jump_Shot",d:1.67},{n:"BBALL_Jump_Shot_O",d:.67},{n:"BBALL_Net_Dnk_O",d:1.83},{n:"BBALL_pickup",d:1.83},{n:"BBALL_pickup_O",d:1.83},{n:"BBALL_react_miss",d:.8},{n:"BBALL_react_score",d:1.1},{n:"BBALL_run",d:.9},{n:"BBALL_run_O",d:.9},{n:"BBALL_SkidStop_L",d:.5},{n:"BBALL_SkidStop_L_O",d:.5},{n:"BBALL_SkidStop_R",d:.5},{n:"BBALL_SkidStop_R_O",d:.5},{n:"BBALL_walk",d:1.07},{n:"BBALL_WalkStop_L",d:.5},{n:"BBALL_WalkStop_L_O",d:.5},{n:"BBALL_WalkStop_R",d:.5},{n:"BBALL_WalkStop_R_O",d:.5},{n:"BBALL_walk_O",d:1.07},{n:"BBALL_walk_start",d:.2},{n:"BBALL_walk_start_O",d:.2}]],["BUDDY",[{n:"buddy_crouchfire",d:.87},{n:"buddy_crouchreload",d:1.1},{n:"buddy_fire",d:.8},{n:"buddy_fire_poor",d:1.33},{n:"buddy_reload",d:1.3}]],["BUS",[{n:"BUS_close",d:.4},{n:"BUS_getin_LHS",d:.33},{n:"BUS_getin_RHS",d:2.17},{n:"BUS_getout_LHS",d:.8},{n:"BUS_getout_RHS",d:1.87},{n:"BUS_jacked_LHS",d:1.13},{n:"BUS_open",d:1.47},{n:"BUS_open_RHS",d:1.2},{n:"BUS_pullout_LHS",d:.8}]],["CAMERA",[{n:"camcrch_cmon",d:2.33},{n:"camcrch_idleloop",d:2},{n:"camcrch_stay",d:2},{n:"camcrch_to_camstnd",d:1.33},{n:"camstnd_cmon",d:3},{n:"camstnd_idleloop",d:2},{n:"camstnd_lkabt",d:4.33},{n:"camstnd_to_camcrch",d:1},{n:"piccrch_in",d:1.33},{n:"piccrch_out",d:2},{n:"piccrch_take",d:1},{n:"picstnd_in",d:1},{n:"picstnd_out",d:.67},{n:"picstnd_take",d:1}]],["CAR",[{n:"Fixn_Car_Loop",d:5},{n:"Fixn_Car_Out",d:2.33},{n:"flag_drop",d:4.5},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33},{n:"Tyd2car_bump",d:.83},{n:"Tyd2car_high",d:8},{n:"Tyd2car_low",d:6.67},{n:"Tyd2car_med",d:6.67},{n:"Tyd2car_TurnL",d:1},{n:"Tyd2car_TurnR",d:1}]],["CARRY",[{n:"crry_prtial",d:.03},{n:"liftup",d:1.53},{n:"liftup05",d:.63},{n:"liftup105",d:.67},{n:"putdwn",d:1.13},{n:"putdwn05",d:.67},{n:"putdwn105",d:.53}]],["CAR_CHAT",[{n:"carfone_in",d:6},{n:"carfone_loopA",d:4},{n:"carfone_loopA_to_B",d:1},{n:"carfone_loopB",d:5},{n:"carfone_loopB_to_A",d:.67},{n:"carfone_out",d:3},{n:"CAR_Sc1_BL",d:11.67},{n:"CAR_Sc1_BR",d:11.67},{n:"CAR_Sc1_FL",d:11.67},{n:"CAR_Sc1_FR",d:11.67},{n:"CAR_Sc2_FL",d:5},{n:"CAR_Sc3_BR",d:10.83},{n:"CAR_Sc3_FL",d:10.83},{n:"CAR_Sc3_FR",d:10.83},{n:"CAR_Sc4_BL",d:4.4},{n:"CAR_Sc4_BR",d:6.53},{n:"CAR_Sc4_FL",d:10},{n:"CAR_Sc4_FR",d:10},{n:"car_talkm_in",d:1.67},{n:"car_talkm_loop",d:4.33},{n:"car_talkm_out",d:7.33}]],["CASINO",[{n:"cards_in",d:.67},{n:"cards_loop",d:3.33},{n:"cards_lose",d:3.33},{n:"cards_out",d:.67},{n:"cards_pick_01",d:4.67},{n:"cards_pick_02",d:5.33},{n:"cards_raise",d:1.67},{n:"cards_win",d:3},{n:"dealone",d:.8},{n:"manwinb",d:1.5},{n:"manwind",d:1.67},{n:"Roulette_bet",d:2.33},{n:"Roulette_in",d:.67},{n:"Roulette_loop",d:3.67},{n:"Roulette_lose",d:2.67},{n:"Roulette_out",d:.67},{n:"Roulette_win",d:2.33},{n:"Slot_bet_01",d:4.67},{n:"Slot_bet_02",d:2},{n:"Slot_in",d:3.67},{n:"Slot_lose_out",d:4},{n:"Slot_Plyr",d:1.33},{n:"Slot_wait",d:3.67},{n:"Slot_win_out",d:9.33},{n:"wof",d:1.47}]],["CHAINSAW",[{n:"CSAW_1",d:1},{n:"CSAW_2",d:1.03},{n:"CSAW_3",d:.87},{n:"CSAW_G",d:1.17},{n:"CSAW_Hit_1",d:.83},{n:"CSAW_Hit_2",d:1.07},{n:"CSAW_Hit_3",d:1.13},{n:"csaw_part",d:.13},{n:"IDLE_csaw",d:1.5},{n:"WEAPON_csaw",d:1.33},{n:"WEAPON_csawlo",d:1.9}]],["CHOPPA",[{n:"CHOPPA_back",d:.1},{n:"CHOPPA_bunnyhop",d:.33},{n:"CHOPPA_drivebyFT",d:.2},{n:"CHOPPA_driveby_LHS",d:.2},{n:"CHOPPA_driveby_RHS",d:.2},{n:"CHOPPA_fwd",d:.2},{n:"CHOPPA_getoffBACK",d:1.27},{n:"CHOPPA_getoffLHS",d:.73},{n:"CHOPPA_getoffRHS",d:.63},{n:"CHOPPA_jumponL",d:.7},{n:"CHOPPA_jumponR",d:.8},{n:"CHOPPA_Left",d:.13},{n:"CHOPPA_pedal",d:.73},{n:"CHOPPA_Pushes",d:.8},{n:"CHOPPA_ride",d:.03},{n:"CHOPPA_Right",d:.13},{n:"CHOPPA_sprint",d:.67},{n:"CHOPPA_Still",d:.03}]],["CLOTHES",[{n:"CLO_Buy",d:2.07},{n:"CLO_In",d:4},{n:"CLO_Out",d:2.67},{n:"CLO_Pose_Hat",d:3.33},{n:"CLO_Pose_In",d:3.13},{n:"CLO_Pose_In_O",d:4},{n:"CLO_Pose_Legs",d:3.33},{n:"CLO_Pose_Loop",d:6},{n:"CLO_Pose_Out",d:4},{n:"CLO_Pose_Out_O",d:4},{n:"CLO_Pose_Shoes",d:3.33},{n:"CLO_Pose_Torso",d:3.33},{n:"CLO_Pose_Watch",d:3.33}]],["COACH",[{n:"COACH_inL",d:2.17},{n:"COACH_inR",d:2.2},{n:"COACH_opnL",d:1.2},{n:"COACH_opnR",d:1.2},{n:"COACH_outL",d:1.73},{n:"COACH_outR",d:1.83}]],["COLT45",[{n:"2guns_crouchfire",d:.8},{n:"colt45_crouchfire",d:.8},{n:"colt45_crouchreload",d:1},{n:"colt45_fire",d:.73},{n:"colt45_fire_2hands",d:.87},{n:"colt45_reload",d:.93},{n:"sawnoff_reload",d:.93}]],["COP_AMBIENT",[{n:"Copbrowse_in",d:5},{n:"Copbrowse_loop",d:2.33},{n:"Copbrowse_nod",d:4},{n:"Copbrowse_out",d:2.67},{n:"Copbrowse_shake",d:1.83},{n:"Coplook_in",d:1.33},{n:"Coplook_loop",d:2.67},{n:"Coplook_nod",d:5.33},{n:"Coplook_out",d:.67},{n:"Coplook_shake",d:4},{n:"Coplook_think",d:3.33},{n:"Coplook_watch",d:2}]],["COP_DVBYZ",[{n:"COP_Dvby_B",d:.83},{n:"COP_Dvby_FT",d:.83},{n:"COP_Dvby_L",d:.83},{n:"COP_Dvby_R",d:.83}]],["CRACK",[{n:"Bbalbat_Idle_01",d:6.67},{n:"Bbalbat_Idle_02",d:10},{n:"crckdeth1",d:2.17},{n:"crckdeth2",d:3},{n:"crckdeth3",d:2.17},{n:"crckdeth4",d:1.67},{n:"crckidle1",d:3.5},{n:"crckidle2",d:3.33},{n:"crckidle3",d:3.33},{n:"crckidle4",d:2.67}]],["CRIB",[{n:"CRIB_Console_Loop",d:3},{n:"CRIB_Use_Switch",d:1.17},{n:"PED_Console_Loop",d:3},{n:"PED_Console_Loose",d:3.5},{n:"PED_Console_Win",d:3.5}]],["DAM_JUMP",[{n:"DAM_Dive_Loop",d:1.33},{n:"DAM_Land",d:2.6},{n:"DAM_Launch",d:2.4},{n:"Jump_Roll",d:3.17},{n:"SF_JumpWall",d:3}]],["DANCING",[{n:"bd_clap",d:3.2},{n:"bd_clap1",d:2.63},{n:"dance_loop",d:1.17},{n:"DAN_Down_A",d:1},{n:"DAN_Left_A",d:1},{n:"DAN_Loop_A",d:2},{n:"DAN_Right_A",d:1},{n:"DAN_Up_A",d:1},{n:"dnce_M_a",d:2.13},{n:"dnce_M_b",d:1.93},{n:"dnce_M_c",d:1.93},{n:"dnce_M_d",d:2.43},{n:"dnce_M_e",d:.9}]],["DEALER",[{n:"DEALER_DEAL",d:3.17},{n:"DEALER_IDLE",d:6.67},{n:"DEALER_IDLE_01",d:5},{n:"DEALER_IDLE_02",d:4},{n:"DEALER_IDLE_03",d:4.67},{n:"DRUGS_BUY",d:3.17},{n:"shop_pay",d:4.67}]],["DILDO",[{n:"DILDO_1",d:.97},{n:"DILDO_2",d:1.1},{n:"DILDO_3",d:1.17},{n:"DILDO_block",d:.47},{n:"DILDO_G",d:1.47},{n:"DILDO_Hit_1",d:.77},{n:"DILDO_Hit_2",d:1.03},{n:"DILDO_Hit_3",d:.9},{n:"DILDO_IDLE",d:.87}]],["DODGE",[{n:"Cover_Dive_01",d:6},{n:"Cover_Dive_02",d:6},{n:"Crushed",d:.93},{n:"Crush_Jump",d:3.17}]],["DOZER",[{n:"DOZER_Align_LHS",d:.97},{n:"DOZER_Align_RHS",d:.93},{n:"DOZER_getin_LHS",d:.43},{n:"DOZER_getin_RHS",d:.43},{n:"DOZER_getout_LHS",d:1.07},{n:"DOZER_getout_RHS",d:.77},{n:"DOZER_Jacked_LHS",d:1.27},{n:"DOZER_Jacked_RHS",d:1.07},{n:"DOZER_pullout_LHS",d:.73},{n:"DOZER_pullout_RHS",d:.7}]],["DRIVEBYS",[{n:"Gang_DrivebyLHS",d:.83},{n:"Gang_DrivebyLHS_Bwd",d:.83},{n:"Gang_DrivebyLHS_Fwd",d:.83},{n:"Gang_DrivebyRHS",d:.83},{n:"Gang_DrivebyRHS_Bwd",d:.83},{n:"Gang_DrivebyRHS_Fwd",d:.83},{n:"Gang_DrivebyTop_LHS",d:.83},{n:"Gang_DrivebyTop_RHS",d:.83}]],["FAT",[{n:"FatIdle",d:1.5},{n:"FatIdle_armed",d:1.53},{n:"FatIdle_Csaw",d:1.5},{n:"FatIdle_Rocket",d:1.6},{n:"FatRun",d:.77},{n:"FatRun_armed",d:.77},{n:"FatRun_Csaw",d:.77},{n:"FatRun_Rocket",d:.77},{n:"FatSprint",d:.6},{n:"FatWalk",d:1.17},{n:"FatWalkstart",d:.2},{n:"FatWalkstart_Csaw",d:.2},{n:"FatWalkSt_armed",d:.2},{n:"FatWalkSt_Rocket",d:.2},{n:"FatWalk_armed",d:1.17},{n:"FatWalk_Csaw",d:1.17},{n:"FatWalk_Rocket",d:1.17},{n:"IDLE_tired",d:1.07}]],["FIGHT_B",[{n:"FightB_1",d:.73},{n:"FightB_2",d:1.1},{n:"FightB_3",d:1.2},{n:"FightB_block",d:.47},{n:"FightB_G",d:1.07},{n:"FightB_IDLE",d:.8},{n:"FightB_M",d:.5},{n:"HitB_1",d:.73},{n:"HitB_2",d:.83},{n:"HitB_3",d:1.43}]],["FIGHT_C",[{n:"FightC_1",d:.83},{n:"FightC_2",d:1.03},{n:"FightC_3",d:1},{n:"FightC_block",d:.47},{n:"FightC_blocking",d:3.2},{n:"FightC_G",d:.77},{n:"FightC_IDLE",d:1},{n:"FightC_M",d:.9},{n:"FightC_Spar",d:3.2},{n:"HitC_1",d:.3},{n:"HitC_2",d:.67},{n:"HitC_3",d:.83}]],["FIGHT_D",[{n:"FightD_1",d:.93},{n:"FightD_2",d:1.87},{n:"FightD_3",d:.9},{n:"FightD_block",d:.47},{n:"FightD_G",d:.83},{n:"FightD_IDLE",d:1.53},{n:"FightD_M",d:1.07},{n:"HitD_1",d:.67},{n:"HitD_2",d:1.83},{n:"HitD_3",d:.97}]],["FIGHT_E",[{n:"FightKick",d:.77},{n:"FightKick_B",d:1.03},{n:"Hit_fightkick",d:.5},{n:"Hit_fightkick_B",d:1.13}]],["FINALE",[{n:"FIN_Climb_In",d:2.9},{n:"FIN_Cop1_ClimbOut2",d:6},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Stomp",d:1},{n:"FIN_Hang_L",d:.57},{n:"FIN_Hang_Loop",d:4},{n:"FIN_Hang_R",d:.57},{n:"FIN_Hang_Slip",d:3.33},{n:"FIN_Jump_On",d:5.6},{n:"FIN_Land_Car",d:.67},{n:"FIN_Land_Die",d:2.37},{n:"FIN_LegsUp",d:1},{n:"FIN_LegsUp_L",d:.5},{n:"FIN_LegsUp_Loop",d:1.33},{n:"FIN_LegsUp_R",d:.5},{n:"FIN_Let_Go",d:.17}]],["FINALE2",[{n:"FIN_Cop1_ClimbOut",d:4},{n:"FIN_Cop1_Fall",d:.43},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Shot",d:2.07},{n:"FIN_Cop1_Swing",d:1.17},{n:"FIN_Cop2_ClimbOut",d:5.33},{n:"FIN_Switch_P",d:3.97},{n:"FIN_Switch_S",d:2.17}]],["FLAME",[{n:"FLAME_fire",d:.8}]],["Flowers",[{n:"Flower_attack",d:.8},{n:"Flower_attack_M",d:1.23},{n:"Flower_Hit",d:.83}]],["FOOD",[{n:"EAT_Burger",d:5},{n:"EAT_Chicken",d:5},{n:"EAT_Pizza",d:5},{n:"EAT_Vomit_P",d:8},{n:"EAT_Vomit_SK",d:8},{n:"FF_Dam_Bkw",d:.67},{n:"FF_Dam_Fwd",d:.67},{n:"FF_Dam_Left",d:.67},{n:"FF_Dam_Right",d:.67},{n:"FF_Die_Bkw",d:.67},{n:"FF_Die_Fwd",d:.67},{n:"FF_Die_Left",d:.67},{n:"FF_Die_Right",d:.67},{n:"FF_Sit_Eat1",d:2.83},{n:"FF_Sit_Eat2",d:2.67},{n:"FF_Sit_Eat3",d:2.67},{n:"FF_Sit_In",d:3},{n:"FF_Sit_In_L",d:2},{n:"FF_Sit_In_R",d:2},{n:"FF_Sit_Look",d:8},{n:"FF_Sit_Loop",d:2.67},{n:"FF_Sit_Out_180",d:2.83},{n:"FF_Sit_Out_L_180",d:1.33},{n:"FF_Sit_Out_R_180",d:1.33},{n:"SHP_Thank",d:1.17},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Lift",d:1.67},{n:"SHP_Tray_Lift_In",d:.5},{n:"SHP_Tray_Lift_Loop",d:8},{n:"SHP_Tray_Lift_Out",d:.5},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:.67},{n:"SHP_Tray_Return",d:1.33}]],["Freeweights",[{n:"gym_barbell",d:2.37},{n:"gym_free_A",d:1.93},{n:"gym_free_B",d:2.33},{n:"gym_free_celebrate",d:3.33},{n:"gym_free_down",d:.57},{n:"gym_free_loop",d:.67},{n:"gym_free_pickup",d:3.17},{n:"gym_free_putdown",d:3.17},{n:"gym_free_up_smooth",d:1}]],["GANGS",[{n:"DEALER_DEAL",d:1.17},{n:"DEALER_IDLE",d:2},{n:"drnkbr_prtl",d:2.67},{n:"drnkbr_prtl_F",d:2.67},{n:"DRUGS_BUY",d:1.17},{n:"hndshkaa",d:4},{n:"hndshkba",d:2.33},{n:"hndshkca",d:3.33},{n:"hndshkcb",d:3.33},{n:"hndshkda",d:2},{n:"hndshkea",d:1},{n:"hndshkfa",d:4.17},{n:"hndshkfa_swt",d:4.17},{n:"Invite_No",d:3.33},{n:"Invite_Yes",d:4.33},{n:"leanIDLE",d:1},{n:"leanIN",d:1},{n:"leanOUT",d:1},{n:"prtial_gngtlkA",d:4},{n:"prtial_gngtlkB",d:6.17},{n:"prtial_gngtlkC",d:7.33},{n:"prtial_gngtlkD",d:3},{n:"prtial_gngtlkE",d:2.83},{n:"prtial_gngtlkF",d:5.17},{n:"prtial_gngtlkG",d:7},{n:"prtial_gngtlkH",d:6},{n:"prtial_hndshk_01",d:1.67},{n:"prtial_hndshk_biz_01",d:2.33},{n:"shake_cara",d:1.67},{n:"shake_carK",d:1.27},{n:"shake_carSH",d:1.5},{n:"smkcig_prtl",d:7.5},{n:"smkcig_prtl_F",d:7.5}]],["GFUNK",[{n:"Dance_B1",d:1.27},{n:"Dance_B2",d:1.27},{n:"Dance_B3",d:1.27},{n:"Dance_B4",d:1.27},{n:"Dance_B5",d:1.27},{n:"Dance_B6",d:1.27},{n:"Dance_B7",d:1.27},{n:"Dance_B8",d:1.27},{n:"Dance_B9",d:1.27},{n:"Dance_B10",d:1.27},{n:"Dance_B11",d:1.27},{n:"Dance_B12",d:1.27},{n:"Dance_B13",d:1.27},{n:"Dance_B14",d:1.27},{n:"Dance_B15",d:1.27},{n:"Dance_B16",d:1.27},{n:"Dance_G1",d:1.27},{n:"Dance_G2",d:1.27},{n:"Dance_G3",d:1.27},{n:"Dance_G4",d:1.27},{n:"Dance_G5",d:1.27},{n:"Dance_G6",d:1.27},{n:"Dance_G7",d:1.27},{n:"Dance_G8",d:1.27},{n:"Dance_G9",d:1.27},{n:"Dance_G10",d:1.27},{n:"Dance_G11",d:1.27},{n:"Dance_G12",d:1.27},{n:"Dance_G13",d:1.27},{n:"Dance_G14",d:1.27},{n:"Dance_G15",d:1.27},{n:"Dance_G16",d:1.27},{n:"dance_loop",d:1.17}]],["GHANDS",[{n:"gsign1",d:4.77},{n:"gsign1LH",d:2.73},{n:"gsign2",d:2.13},{n:"gsign2LH",d:2.33},{n:"gsign3",d:4.67},{n:"gsign3LH",d:2},{n:"gsign4",d:4.17},{n:"gsign4LH",d:4.67},{n:"gsign5",d:6.2},{n:"gsign5LH",d:2},{n:"LHGsign1",d:2},{n:"LHGsign2",d:2},{n:"LHGsign3",d:2},{n:"LHGsign4",d:2},{n:"LHGsign5",d:2},{n:"RHGsign1",d:2},{n:"RHGsign2",d:2},{n:"RHGsign3",d:2},{n:"RHGsign4",d:2},{n:"RHGsign5",d:2}]],["GHETTO_DB",[{n:"GDB_Car2_PLY",d:9.5},{n:"GDB_Car2_SMO",d:9.5},{n:"GDB_Car2_SWE",d:9.5},{n:"GDB_Car_PLY",d:13.33},{n:"GDB_Car_RYD",d:13.33},{n:"GDB_Car_SMO",d:13.33},{n:"GDB_Car_SWE",d:13.33}]],["goggles",[{n:"goggles_put_on",d:.8}]],["GRAFFITI",[{n:"graffiti_Chkout",d:4.67},{n:"spraycan_fire",d:2.33}]],["GRAVEYARD",[{n:"mrnF_loop",d:4.67},{n:"mrnM_loop",d:2.67},{n:"prst_loopa",d:4}]],["GRENADE",[{n:"WEAPON_start_throw",d:.2},{n:"WEAPON_throw",d:.87},{n:"WEAPON_throwu",d:.67}]],["GYMNASIUM",[{n:"GYMshadowbox",d:5.1},{n:"gym_bike_celebrate",d:1.93},{n:"gym_bike_fast",d:.4},{n:"gym_bike_faster",d:.4},{n:"gym_bike_getoff",d:1.67},{n:"gym_bike_geton",d:1.67},{n:"gym_bike_pedal",d:.4},{n:"gym_bike_slow",d:.43},{n:"gym_bike_still",d:1.67},{n:"gym_jog_falloff",d:2.17},{n:"gym_shadowbox",d:5.1},{n:"gym_tread_celebrate",d:2.5},{n:"gym_tread_falloff",d:2},{n:"gym_tread_getoff",d:3.33},{n:"gym_tread_geton",d:2.5},{n:"gym_tread_jog",d:.77},{n:"gym_tread_sprint",d:.67},{n:"gym_tread_tired",d:1.33},{n:"gym_tread_walk",d:1.07},{n:"gym_walk_falloff",d:3.33},{n:"Pedals_fast",d:.4},{n:"Pedals_med",d:.4},{n:"Pedals_slow",d:.43},{n:"Pedals_still",d:.43}]],["HAIRCUTS",[{n:"BRB_Beard_01",d:4.5},{n:"BRB_Buy",d:4.17},{n:"BRB_Cut",d:1.7},{n:"BRB_Cut_In",d:.83},{n:"BRB_Cut_Out",d:1.33},{n:"BRB_Hair_01",d:3.83},{n:"BRB_Hair_02",d:4.5},{n:"BRB_In",d:1.33},{n:"BRB_Loop",d:2.67},{n:"BRB_Out",d:.67},{n:"BRB_Sit_In",d:2.07},{n:"BRB_Sit_Loop",d:7},{n:"BRB_Sit_Out",d:3}]],["HEIST9",[{n:"CAS_G2_GasKO",d:3.33},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43},{n:"Use_SwipeCard",d:1.17}]],["INT_HOUSE",[{n:"BED_In_L",d:3.33},{n:"BED_In_R",d:3.33},{n:"BED_Loop_L",d:3.33},{n:"BED_Loop_R",d:3.33},{n:"BED_Out_L",d:3.33},{n:"BED_Out_R",d:3.33},{n:"LOU_In",d:1.83},{n:"LOU_Loop",d:3.33},{n:"LOU_Out",d:2},{n:"wash_up",d:3}]],["INT_OFFICE",[{n:"FF_Dam_Fwd",d:.67},{n:"OFF_Sit_2Idle_180",d:2.83},{n:"OFF_Sit_Bored_Loop",d:2.83},{n:"OFF_Sit_Crash",d:3.33},{n:"OFF_Sit_Drink",d:4.17},{n:"OFF_Sit_Idle_Loop",d:2.07},{n:"OFF_Sit_In",d:2.77},{n:"OFF_Sit_Read",d:3.33},{n:"OFF_Sit_Type_Loop",d:3.33},{n:"OFF_Sit_Watch",d:2}]],["INT_SHOP",[{n:"shop_cashier",d:6.67},{n:"shop_in",d:1},{n:"shop_lookA",d:2},{n:"shop_lookB",d:3},{n:"shop_loop",d:2},{n:"shop_out",d:1.33},{n:"shop_pay",d:6.67},{n:"shop_shelf",d:2.33}]],["JST_BUISNESS",[{n:"girl_01",d:3.33},{n:"girl_02",d:11.33},{n:"player_01",d:24.83},{n:"smoke_01",d:25}]],["KART",[{n:"KART_getin_LHS",d:.83},{n:"KART_getin_RHS",d:.83},{n:"KART_getout_LHS",d:.83},{n:"KART_getout_RHS",d:.83}]],["KISSING",[{n:"BD_GF_Wave",d:5.07},{n:"gfwave2",d:2.67},{n:"GF_CarArgue_01",d:5},{n:"GF_CarArgue_02",d:5},{n:"GF_CarSpot",d:5},{n:"GF_StreetArgue_01",d:5},{n:"GF_StreetArgue_02",d:5},{n:"gift_get",d:5.33},{n:"gift_give",d:5.33},{n:"Grlfrd_Kiss_01",d:4.17},{n:"Grlfrd_Kiss_02",d:5.77},{n:"Grlfrd_Kiss_03",d:7},{n:"Playa_Kiss_01",d:5},{n:"Playa_Kiss_02",d:5.77},{n:"Playa_Kiss_03",d:7}]],["KNIFE",[{n:"KILL_Knife_Ped_Damage",d:2.23},{n:"KILL_Knife_Ped_Die",d:1.93},{n:"KILL_Knife_Player",d:2.67},{n:"KILL_Partial",d:.03},{n:"knife_1",d:1},{n:"knife_2",d:.93},{n:"knife_3",d:.87},{n:"Knife_4",d:.9},{n:"knife_block",d:.47},{n:"Knife_G",d:.9},{n:"knife_hit_1",d:.57},{n:"knife_hit_2",d:.63},{n:"knife_hit_3",d:1.6},{n:"knife_IDLE",d:1.3},{n:"knife_part",d:.53},{n:"WEAPON_knifeidle",d:1.3}]],["LAPDAN1",[{n:"LAPDAN_D",d:37.73},{n:"LAPDAN_P",d:37.73}]],["LAPDAN2",[{n:"LAPDAN_D",d:46.83},{n:"LAPDAN_P",d:46.83}]],["LAPDAN3",[{n:"LAPDAN_D",d:51.47},{n:"LAPDAN_P",d:51.47}]],["LOWRIDER",[{n:"F_smklean_loop",d:4},{n:"lrgirl_bdbnce",d:2.67},{n:"lrgirl_hair",d:2.33},{n:"lrgirl_hurry",d:2.83},{n:"lrgirl_idleloop",d:2.17},{n:"lrgirl_idle_to_l0",d:2.17},{n:"lrgirl_l0_bnce",d:.67},{n:"lrgirl_l0_loop",d:2},{n:"lrgirl_l0_to_l1",d:3.67},{n:"lrgirl_l12_to_l0",d:2},{n:"lrgirl_l1_bnce",d:.67},{n:"lrgirl_l1_loop",d:2},{n:"lrgirl_l1_to_l2",d:1.33},{n:"lrgirl_l2_bnce",d:.67},{n:"lrgirl_l2_loop",d:1.5},{n:"lrgirl_l2_to_l3",d:1.5},{n:"lrgirl_l345_to_l1",d:1},{n:"lrgirl_l3_bnce",d:.67},{n:"lrgirl_l3_loop",d:2},{n:"lrgirl_l3_to_l4",d:.67},{n:"lrgirl_l4_bnce",d:.67},{n:"lrgirl_l4_loop",d:2.33},{n:"lrgirl_l4_to_l5",d:1},{n:"lrgirl_l5_bnce",d:.83},{n:"lrgirl_l5_loop",d:1.67},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"prtial_gngtlkB",d:1.47},{n:"prtial_gngtlkC",d:1.5},{n:"prtial_gngtlkD",d:2.47},{n:"prtial_gngtlkE",d:3},{n:"prtial_gngtlkF",d:2.67},{n:"prtial_gngtlkG",d:2.67},{n:"prtial_gngtlkH",d:3.33},{n:"RAP_A_Loop",d:2.67},{n:"RAP_B_Loop",d:2.67},{n:"RAP_C_Loop",d:3},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33}]],["MD_CHASE",[{n:"Carhit_Hangon",d:1.53},{n:"Carhit_Tumble",d:2.03},{n:"donutdrop",d:1.5},{n:"Fen_Choppa_L1",d:1.43},{n:"Fen_Choppa_L2",d:1.3},{n:"Fen_Choppa_L3",d:1.3},{n:"Fen_Choppa_R1",d:1.3},{n:"Fen_Choppa_R2",d:1.3},{n:"Fen_Choppa_R3",d:1.3},{n:"Hangon_Stun_loop",d:4.67},{n:"Hangon_Stun_Turn",d:4},{n:"MD_BIKE_2_HANG",d:1.37},{n:"MD_BIKE_Jmp_BL",d:1.1},{n:"MD_BIKE_Jmp_F",d:1},{n:"MD_BIKE_Lnd_BL",d:.9},{n:"MD_BIKE_Lnd_Die_BL",d:1.53},{n:"MD_BIKE_Lnd_Die_F",d:.8},{n:"MD_BIKE_Lnd_F",d:1.17},{n:"MD_BIKE_Lnd_Roll",d:2.7},{n:"MD_BIKE_Lnd_Roll_F",d:1.03},{n:"MD_BIKE_Punch",d:1.83},{n:"MD_BIKE_Punch_F",d:1.83},{n:"MD_BIKE_Shot_F",d:1.33},{n:"MD_HANG_Lnd_Roll",d:2.7},{n:"MD_HANG_Loop",d:1}]],["MD_END",[{n:"END_SC1_PLY",d:5},{n:"END_SC1_RYD",d:5},{n:"END_SC1_SMO",d:5},{n:"END_SC1_SWE",d:5},{n:"END_SC2_PLY",d:9},{n:"END_SC2_RYD",d:9},{n:"END_SC2_SMO",d:9},{n:"END_SC2_SWE",d:9}]],["MEDIC",[{n:"CPR",d:8.33}]],["MISC",[{n:"bitchslap",d:1.17},{n:"BMX_celebrate",d:1.57},{n:"BMX_comeon",d:.77},{n:"bmx_idleloop_01",d:3.33},{n:"bmx_idleloop_02",d:6.67},{n:"bmx_talkleft_in",d:.67},{n:"bmx_talkleft_loop",d:6.67},{n:"bmx_talkleft_out",d:.67},{n:"bmx_talkright_in",d:.67},{n:"bmx_talkright_loop",d:7.33},{n:"bmx_talkright_out",d:.67},{n:"bng_wndw",d:7.33},{n:"bng_wndw_02",d:7.33},{n:"Case_pickup",d:1},{n:"door_jet",d:5.33},{n:"GRAB_L",d:.4},{n:"GRAB_R",d:.4},{n:"Hiker_Pose",d:.33},{n:"Hiker_Pose_L",d:.33},{n:"Idle_Chat_02",d:7.23},{n:"KAT_Throw_K",d:3.33},{n:"KAT_Throw_O",d:3.33},{n:"KAT_Throw_P",d:3.33},{n:"PASS_Rifle_O",d:1.33},{n:"PASS_Rifle_Ped",d:1.33},{n:"PASS_Rifle_Ply",d:1.33},{n:"pickup_box",d:.4},{n:"Plane_door",d:5.33},{n:"Plane_exit",d:5.33},{n:"Plane_hijack",d:5.33},{n:"Plunger_01",d:3.33},{n:"Plyrlean_loop",d:2.67},{n:"plyr_shkhead",d:1.67},{n:"Run_Dive",d:8.27},{n:"Scratchballs_01",d:8.33},{n:"SEAT_LR",d:3.67},{n:"Seat_talk_01",d:3.67},{n:"Seat_talk_02",d:3.33},{n:"SEAT_watch",d:2.33},{n:"smalplane_door",d:6.33},{n:"smlplane_door",d:5.33},{n:"MTB_back",d:.1},{n:"MTB_bunnyhop",d:.33},{n:"MTB_drivebyFT",d:.2},{n:"MTB_driveby_LHS",d:.2},{n:"MTB_driveby_RHS",d:.2},{n:"MTB_fwd",d:.2},{n:"MTB_getoffBACK",d:1.53},{n:"MTB_getoffLHS",d:.73},{n:"MTB_getoffRHS",d:.73},{n:"MTB_jumponL",d:.8},{n:"MTB_jumponR",d:.83},{n:"MTB_Left",d:.13},{n:"MTB_pedal",d:.67},{n:"MTB_pushes",d:.8},{n:"MTB_Ride",d:.03},{n:"MTB_Right",d:.13},{n:"MTB_sprint",d:.8},{n:"MTB_still",d:.03},{n:"MscleWalkst_armed",d:.2},{n:"MscleWalkst_Csaw",d:.2},{n:"Mscle_rckt_run",d:.8},{n:"Mscle_rckt_walkst",d:.2},{n:"Mscle_run_Csaw",d:.8},{n:"MuscleIdle",d:1.5},{n:"MuscleIdle_armed",d:1.5},{n:"MuscleIdle_Csaw",d:1.5},{n:"MuscleIdle_rocket",d:1.5},{n:"MuscleRun",d:.8},{n:"MuscleRun_armed",d:.8},{n:"MuscleSprint",d:.57},{n:"MuscleWalk",d:1.07},{n:"MuscleWalkstart",d:.27},{n:"MuscleWalk_armed",d:1.07},{n:"Musclewalk_Csaw",d:1.07},{n:"Musclewalk_rocket",d:1.07}]],["NEVADA",[{n:"NEVADA_getin",d:1.87},{n:"NEVADA_getout",d:.93}]],["ON_LOOKERS",[{n:"lkaround_in",d:.33},{n:"lkaround_loop",d:7},{n:"lkaround_out",d:.33},{n:"lkup_in",d:1.67},{n:"lkup_loop",d:5.33},{n:"lkup_out",d:1},{n:"lkup_point",d:3.33},{n:"panic_cower",d:6.67},{n:"panic_hide",d:6.33},{n:"panic_in",d:.83},{n:"panic_loop",d:1.67},{n:"panic_out",d:.67},{n:"panic_point",d:6},{n:"panic_shout",d:8.67},{n:"Pointup_in",d:1},{n:"Pointup_loop",d:2.67},{n:"Pointup_out",d:1},{n:"Pointup_shout",d:3},{n:"point_in",d:.5},{n:"point_loop",d:3},{n:"point_out",d:.33},{n:"shout_01",d:2.67},{n:"shout_02",d:4},{n:"shout_in",d:1.67},{n:"shout_loop",d:2},{n:"shout_out",d:.33},{n:"wave_in",d:.83},{n:"wave_loop",d:1.5},{n:"wave_out",d:.83}]],["OTB",[{n:"betslp_in",d:1.33},{n:"betslp_lkabt",d:2.67},{n:"betslp_loop",d:2.67},{n:"betslp_out",d:1},{n:"betslp_tnk",d:5.6},{n:"wtchrace_cmon",d:5},{n:"wtchrace_in",d:1.67},{n:"wtchrace_loop",d:2.67},{n:"wtchrace_lose",d:4},{n:"wtchrace_out",d:1},{n:"wtchrace_win",d:4.33}]],["PARACHUTE",[{n:"FALL_skyDive",d:1.33},{n:"FALL_SkyDive_Accel",d:1.33},{n:"FALL_skyDive_DIE",d:1},{n:"FALL_SkyDive_L",d:1.33},{n:"FALL_SkyDive_R",d:1.33},{n:"PARA_decel",d:2},{n:"PARA_decel_O",d:2},{n:"PARA_float",d:2},{n:"PARA_float_O",d:2},{n:"PARA_Land",d:1.67},{n:"PARA_Land_O",d:2.17},{n:"PARA_Land_Water",d:2.33},{n:"PARA_Land_Water_O",d:2.17},{n:"PARA_open",d:2.83},{n:"PARA_open_O",d:2.33},{n:"PARA_Rip_Land_O",d:.9},{n:"PARA_Rip_Loop_O",d:1},{n:"PARA_Rip_O",d:.23},{n:"PARA_steerL",d:2},{n:"PARA_steerL_O",d:2},{n:"PARA_steerR",d:2},{n:"PARA_steerR_O",d:2}]],["PARK",[{n:"Tai_Chi_in",d:2.17},{n:"Tai_Chi_Loop",d:12},{n:"Tai_Chi_Out",d:.83}]],["PAULNMAC",[{n:"Piss_in",d:9},{n:"Piss_loop",d:6.67},{n:"Piss_out",d:11},{n:"PnM_Argue1_A",d:4.33},{n:"PnM_Argue1_B",d:4.33},{n:"PnM_Argue2_A",d:4.33},{n:"PnM_Argue2_B",d:4.33},{n:"PnM_Loop_A",d:5.33},{n:"PnM_Loop_B",d:5.33},{n:"wank_in",d:7.33},{n:"wank_loop",d:2.67},{n:"wank_out",d:11.67}]],["ped",[{n:"abseil",d:.03},{n:"ARRESTgun",d:.67},{n:"ATM",d:12.17},{n:"BIKE_elbowL",d:.97},{n:"BIKE_elbowR",d:.97},{n:"BIKE_fallR",d:1.63},{n:"BIKE_fall_off",d:1.07},{n:"BIKE_pickupL",d:1.07},{n:"BIKE_pickupR",d:1.07},{n:"BIKE_pullupL",d:1},{n:"BIKE_pullupR",d:1},{n:"bomber",d:.6},{n:"CAR_alignHI_LHS",d:.73},{n:"CAR_alignHI_RHS",d:.73},{n:"CAR_align_LHS",d:.13},{n:"CAR_align_RHS",d:.13},{n:"CAR_closedoorL_LHS",d:.6},{n:"CAR_closedoorL_RHS",d:.4},{n:"CAR_closedoor_LHS",d:.6},{n:"CAR_closedoor_RHS",d:.4},{n:"CAR_close_LHS",d:.73},{n:"CAR_close_RHS",d:.73},{n:"CAR_crawloutRHS",d:2.17},{n:"CAR_dead_LHS",d:.03},{n:"CAR_dead_RHS",d:.03},{n:"CAR_doorlocked_LHS",d:1.33},{n:"CAR_doorlocked_RHS",d:1.27},{n:"CAR_fallout_LHS",d:.57},{n:"CAR_fallout_RHS",d:.57},{n:"CAR_getinL_LHS",d:1},{n:"CAR_getinL_RHS",d:1},{n:"CAR_getin_LHS",d:1},{n:"CAR_getin_RHS",d:1},{n:"CAR_getoutL_LHS",d:.93},{n:"CAR_getoutL_RHS",d:1},{n:"CAR_getout_LHS",d:1.13},{n:"CAR_getout_RHS",d:.8},{n:"car_hookertalk",d:4.3},{n:"CAR_jackedLHS",d:2.9},{n:"CAR_jackedRHS",d:3.43},{n:"CAR_jumpin_LHS",d:1},{n:"CAR_LB",d:.23},{n:"CAR_LB_pro",d:.1},{n:"CAR_LB_weak",d:.23},{n:"CAR_LjackedLHS",d:3.57},{n:"CAR_LjackedRHS",d:3.47},{n:"CAR_Lshuffle_RHS",d:.4},{n:"CAR_Lsit",d:.03},{n:"CAR_open_LHS",d:1.1},{n:"CAR_open_RHS",d:1.1},{n:"CAR_pulloutL_LHS",d:2.93},{n:"CAR_pulloutL_RHS",d:2.93},{n:"CAR_pullout_LHS",d:2.3},{n:"CAR_pullout_RHS",d:2.8},{n:"CAR_Qjacked",d:3.3},{n:"CAR_rolldoor",d:.6},{n:"CAR_rolldoorLO",d:.6},{n:"CAR_rollout_LHS",d:1.63},{n:"CAR_rollout_RHS",d:1.27},{n:"CAR_shuffle_RHS",d:.4},{n:"CAR_sit",d:.03},{n:"CAR_sitp",d:.03},{n:"CAR_sitpLO",d:.03},{n:"CAR_sit_pro",d:.03},{n:"CAR_sit_weak",d:.03},{n:"CAR_tune_radio",d:.63},{n:"CLIMB_idle",d:.8},{n:"CLIMB_jump",d:.57},{n:"CLIMB_jump2fall",d:.03},{n:"CLIMB_jump_B",d:.97},{n:"CLIMB_Pull",d:.87},{n:"CLIMB_Stand",d:.8},{n:"CLIMB_Stand_finish",d:.2},{n:"cower",d:.8},{n:"Crouch_Roll_L",d:.93},{n:"Crouch_Roll_R",d:.93},{n:"DAM_armL_frmBK",d:.83},{n:"DAM_armL_frmFT",d:.83},{n:"DAM_armL_frmLT",d:.67},{n:"DAM_armR_frmBK",d:.83},{n:"DAM_armR_frmFT",d:.5},{n:"DAM_armR_frmRT",d:.27},{n:"DAM_LegL_frmBK",d:.83},{n:"DAM_LegL_frmFT",d:.83},{n:"DAM_LegL_frmLT",d:.83},{n:"DAM_LegR_frmBK",d:.83},{n:"DAM_LegR_frmFT",d:.83},{n:"DAM_LegR_frmRT",d:.83},{n:"DAM_stomach_frmBK",d:.83},{n:"DAM_stomach_frmFT",d:.83},{n:"DAM_stomach_frmLT",d:.83},{n:"DAM_stomach_frmRT",d:.83},{n:"DOOR_LHinge_O",d:1.07},{n:"DOOR_RHinge_O",d:1.07},{n:"DrivebyL_L",d:.2},{n:"DrivebyL_R",d:.2},{n:"Driveby_L",d:.2},{n:"Driveby_R",d:.2},{n:"DRIVE_BOAT",d:.03},{n:"DRIVE_BOAT_back",d:.1},{n:"DRIVE_BOAT_L",d:.1},{n:"DRIVE_BOAT_R",d:.1},{n:"Drive_L",d:.13},{n:"Drive_LO_l",d:.13},{n:"Drive_LO_R",d:.13},{n:"Drive_L_pro",d:.13},{n:"Drive_L_pro_slow",d:.13},{n:"Drive_L_slow",d:.13},{n:"Drive_L_weak",d:.13},{n:"Drive_L_weak_slow",d:.13},{n:"Drive_R",d:.13},{n:"Drive_R_pro",d:.13},{n:"Drive_R_pro_slow",d:.13},{n:"Drive_R_slow",d:.13},{n:"Drive_R_weak",d:.13},{n:"Drive_R_weak_slow",d:.13},{n:"Drive_truck",d:.03},{n:"DRIVE_truck_back",d:.1},{n:"DRIVE_truck_L",d:.13},{n:"DRIVE_truck_R",d:.13},{n:"Drown",d:2.5},{n:"DUCK_cower",d:.8},{n:"endchat_01",d:2},{n:"endchat_02",d:2},{n:"endchat_03",d:2.33},{n:"EV_dive",d:2.33},{n:"EV_step",d:1.07},{n:"facanger",d:.13},{n:"facgum",d:1.03},{n:"facsurp",d:.13},{n:"facsurpm",d:.13},{n:"factalk",d:2.33},{n:"facurios",d:.13},{n:"FALL_back",d:.73},{n:"FALL_collapse",d:1},{n:"FALL_fall",d:.73},{n:"FALL_front",d:.73},{n:"FALL_glide",d:.8},{n:"FALL_land",d:.47},{n:"FALL_skyDive",d:1.33},{n:"Fight2Idle",d:.33},{n:"FightA_1",d:.43},{n:"FightA_2",d:.77},{n:"FightA_3",d:.87},{n:"FightA_block",d:.47},{n:"FightA_G",d:.93},{n:"FightA_M",d:.4},{n:"FIGHTIDLE",d:1.3},{n:"FightShB",d:.47},{n:"FightShF",d:.53},{n:"FightSh_BWD",d:.67},{n:"FightSh_FWD",d:.67},{n:"FightSh_Left",d:.67},{n:"FightSh_Right",d:.67},{n:"flee_lkaround_01",d:2},{n:"FLOOR_hit",d:.37},{n:"FLOOR_hit_f",d:.4},{n:"fucku",d:1.33},{n:"gang_gunstand",d:.03},{n:"gas_cwr",d:1},{n:"getup",d:1.37},{n:"getup_front",d:1.37},{n:"gum_eat",d:5.33},{n:"GunCrouchBwd",d:1},{n:"GunCrouchFwd",d:.73},{n:"GunMove_BWD",d:1.03},{n:"GunMove_FWD",d:1},{n:"GunMove_L",d:1},{n:"GunMove_R",d:1},{n:"Gun_2_IDLE",d:.27},{n:"GUN_BUTT",d:.43},{n:"GUN_BUTT_crouch",d:.43},{n:"Gun_stand",d:.03},{n:"handscower",d:1.93},{n:"handsup",d:.6},{n:"HitA_1",d:.3},{n:"HitA_2",d:.53},{n:"HitA_3",d:.57},{n:"HIT_back",d:.5},{n:"HIT_behind",d:.67},{n:"HIT_front",d:.6},{n:"HIT_GUN_BUTT",d:.5},{n:"HIT_L",d:.7},{n:"HIT_R",d:.6},{n:"HIT_walk",d:.33},{n:"HIT_wall",d:.7},{n:"Idlestance_fat",d:1.67},{n:"idlestance_old",d:2},{n:"IDLE_armed",d:1.47},{n:"IDLE_chat",d:6.67},{n:"IDLE_csaw",d:1.53},{n:"Idle_Gang1",d:1.67},{n:"IDLE_HBHB",d:2.67},{n:"IDLE_ROCKET",d:1.57},{n:"IDLE_stance",d:1.5},{n:"IDLE_taxi",d:.87},{n:"IDLE_tired",d:1},{n:"Jetpack_Idle",d:.03},{n:"JOG_femaleA",d:.77},{n:"JOG_maleA",d:.77},{n:"JUMP_glide",d:.5},{n:"JUMP_land",d:.23},{n:"JUMP_launch",d:.2},{n:"JUMP_launch_R",d:.2},{n:"KART_drive",d:.03},{n:"KART_L",d:.13},{n:"KART_LB",d:.03},{n:"KART_R",d:.13},{n:"KD_left",d:.9},{n:"KD_right",d:.9},{n:"KO_shot_face",d:2.1},{n:"KO_shot_front",d:.57},{n:"KO_shot_stom",d:3.17},{n:"KO_skid_back",d:.97},{n:"KO_skid_front",d:1.13},{n:"KO_spin_L",d:.87},{n:"KO_spin_R",d:.93},{n:"pass_Smoke_in_car",d:1.73},{n:"phone_in",d:2.33},{n:"phone_out",d:2},{n:"phone_talk",d:2},{n:"Player_Sneak",d:1.33},{n:"Player_Sneak_walkstart",d:.3},{n:"roadcross",d:2},{n:"roadcross_female",d:4},{n:"roadcross_gang",d:2},{n:"roadcross_old",d:4},{n:"run_1armed",d:.77},{n:"run_armed",d:.7},{n:"run_civi",d:.73},{n:"run_csaw",d:.7},{n:"run_fat",d:.8},{n:"run_fatold",d:.8},{n:"run_gang1",d:.83},{n:"run_left",d:.67},{n:"run_old",d:.8},{n:"run_player",d:.73},{n:"run_right",d:.67},{n:"run_rocket",d:.77},{n:"Run_stop",d:.87},{n:"Run_stopR",d:.8},{n:"Run_Wuzi",d:.77},{n:"SEAT_down",d:1.5},{n:"SEAT_idle",d:2},{n:"SEAT_up",d:1.17},{n:"SHOT_leftP",d:.3},{n:"SHOT_partial",d:.37},{n:"SHOT_partial_B",d:.33},{n:"SHOT_rightP",d:.33},{n:"Shove_Partial",d:.53},{n:"Smoke_in_car",d:1.73},{n:"sprint_civi",d:.53},{n:"sprint_panic",d:.6},{n:"Sprint_Wuzi",d:.67},{n:"swat_run",d:.67},{n:"Swim_Tread",d:1.3},{n:"Tap_hand",d:.03},{n:"Tap_handP",d:.03},{n:"turn_180",d:.63},{n:"Turn_L",d:.8},{n:"Turn_R",d:.8},{n:"WALK_armed",d:1.07},{n:"WALK_civi",d:1.13},{n:"WALK_csaw",d:1.07},{n:"Walk_DoorPartial",d:.8},{n:"WALK_drunk",d:3.93},{n:"WALK_fat",d:1.33},{n:"WALK_fatold",d:1.17},{n:"WALK_gang1",d:1.4},{n:"WALK_gang2",d:1.4},{n:"WALK_old",d:1.4},{n:"WALK_player",d:1.2},{n:"WALK_rocket",d:1.07},{n:"WALK_shuffle",d:1.2},{n:"WALK_start",d:.27},{n:"WALK_start_armed",d:.2},{n:"WALK_start_csaw",d:.2},{n:"WALK_start_rocket",d:.2},{n:"Walk_Wuzi",d:1.17},{n:"WEAPON_crouch",d:.8},{n:"woman_idlestance",d:5.33},{n:"woman_run",d:.77},{n:"WOMAN_runbusy",d:.67},{n:"WOMAN_runfatold",d:1.2},{n:"woman_runpanic",d:.6},{n:"WOMAN_runsexy",d:.7},{n:"WOMAN_walkbusy",d:1},{n:"WOMAN_walkfatold",d:1.2},{n:"WOMAN_walknorm",d:1.13},{n:"WOMAN_walkold",d:1.2},{n:"WOMAN_walkpro",d:1.33},{n:"WOMAN_walksexy",d:1.17},{n:"WOMAN_walkshop",d:.97},{n:"XPRESSscratch",d:3.97}]],["PLAYER_DVBYS",[{n:"Plyr_DrivebyBwd",d:.83},{n:"Plyr_DrivebyFwd",d:.83},{n:"Plyr_DrivebyLHS",d:.83},{n:"Plyr_DrivebyRHS",d:.83}]],["PLAYIDLES",[{n:"shift",d:3.6},{n:"shldr",d:2.17},{n:"stretch",d:4.6},{n:"strleg",d:3.67},{n:"time",d:5.2}]],["POLICE",[{n:"CopTraf_Away",d:1.47},{n:"CopTraf_Come",d:2.87},{n:"CopTraf_Left",d:2},{n:"CopTraf_Stop",d:2},{n:"COP_getoutcar_LHS",d:.83},{n:"Cop_move_FWD",d:1},{n:"crm_drgbst_01",d:18.57},{n:"Door_Kick",d:1.33},{n:"plc_drgbst_01",d:20.6},{n:"plc_drgbst_02",d:7.57}]],["POOL",[{n:"POOL_ChalkCue",d:4.83},{n:"POOL_Idle_Stance",d:2},{n:"POOL_Long_Shot",d:1.67},{n:"POOL_Long_Shot_O",d:1.67},{n:"POOL_Long_Start",d:.67},{n:"POOL_Long_Start_O",d:.67},{n:"POOL_Med_Shot",d:1.67},{n:"POOL_Med_Shot_O",d:1.67},{n:"POOL_Med_Start",d:.67},{n:"POOL_Med_Start_O",d:.67},{n:"POOL_Place_White",d:2.5},{n:"POOL_Short_Shot",d:1.67},{n:"POOL_Short_Shot_O",d:1.67},{n:"POOL_Short_Start",d:.67},{n:"POOL_Short_Start_O",d:.67},{n:"POOL_Walk",d:1.27},{n:"POOL_Walk_Start",d:.2},{n:"POOL_XLong_Shot",d:1.67},{n:"POOL_XLong_Shot_O",d:1.67},{n:"POOL_XLong_Start",d:.67},{n:"POOL_XLong_Start_O",d:.67}]],["POOR",[{n:"WINWASH_Start",d:.43},{n:"WINWASH_Wash2Beg",d:2.13}]],["PYTHON",[{n:"python_crouchfire",d:1.2},{n:"python_crouchreload",d:1},{n:"python_fire",d:1.17},{n:"python_fire_poor",d:1.47},{n:"python_reload",d:.93}]],["QUAD",[{n:"QUAD_back",d:.1},{n:"QUAD_driveby_FT",d:.2},{n:"QUAD_driveby_LHS",d:.2},{n:"QUAD_driveby_RHS",d:.2},{n:"QUAD_FWD",d:.2},{n:"QUAD_getoff_B",d:1.63},{n:"QUAD_getoff_LHS",d:.67},{n:"QUAD_getoff_RHS",d:.7},{n:"QUAD_geton_LHS",d:.73},{n:"QUAD_geton_RHS",d:.73},{n:"QUAD_hit",d:.03},{n:"QUAD_kick",d:1.13},{n:"QUAD_Left",d:.13},{n:"QUAD_passenger",d:.03},{n:"QUAD_reverse",d:.17},{n:"QUAD_ride",d:.03},{n:"QUAD_Right",d:.13}]],["QUAD_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["RAPPING",[{n:"Laugh_01",d:5.33},{n:"RAP_A_IN",d:.83},{n:"RAP_A_Loop",d:2.67},{n:"RAP_A_OUT",d:.33},{n:"RAP_B_IN",d:1},{n:"RAP_B_Loop",d:2.67},{n:"RAP_B_OUT",d:.87},{n:"RAP_C_Loop",d:3}]],["RIFLE",[{n:"RIFLE_crouchfire",d:.87},{n:"RIFLE_crouchload",d:1.27},{n:"RIFLE_fire",d:.8},{n:"RIFLE_fire_poor",d:.8},{n:"RIFLE_load",d:1.4}]],["RIOT",[{n:"RIOT_ANGRY",d:5},{n:"RIOT_ANGRY_B",d:.63},{n:"RIOT_challenge",d:3.23},{n:"RIOT_CHANT",d:1.73},{n:"RIOT_FUKU",d:.67},{n:"RIOT_PUNCHES",d:.67},{n:"RIOT_shout",d:1}]],["ROB_BANK",[{n:"CAT_Safe_End",d:.5},{n:"CAT_Safe_Open",d:3.33},{n:"CAT_Safe_Open_O",d:3.33},{n:"CAT_Safe_Rob",d:1.83},{n:"SHP_HandsUp_Scr",d:.67}]],["ROCKET",[{n:"idle_rocket",d:1.6},{n:"RocketFire",d:.97},{n:"run_rocket",d:.77},{n:"walk_rocket",d:1.07},{n:"WALK_start_rocket",d:.2}]],["RUNNINGMAN",[{n:"Dance_B1",d:.53},{n:"Dance_B2",d:.57},{n:"Dance_B3",d:.53},{n:"Dance_B4",d:.57},{n:"Dance_B5",d:.53},{n:"Dance_B6",d:.57},{n:"Dance_B7",d:.53},{n:"Dance_B8",d:.57},{n:"Dance_B9",d:.53},{n:"Dance_B10",d:.57},{n:"Dance_B11",d:.53},{n:"Dance_B12",d:.57},{n:"Dance_B13",d:.53},{n:"Dance_B14",d:.57},{n:"Dance_B15",d:.53},{n:"Dance_B16",d:.57},{n:"Dance_G1",d:.53},{n:"Dance_G2",d:.57},{n:"Dance_G3",d:.53},{n:"Dance_G4",d:.57},{n:"Dance_G5",d:.53},{n:"Dance_G6",d:.57},{n:"Dance_G7",d:.53},{n:"Dance_G8",d:.57},{n:"Dance_G9",d:.53},{n:"Dance_G10",d:.57},{n:"Dance_G11",d:.53},{n:"Dance_G12",d:.57},{n:"Dance_G13",d:.53},{n:"Dance_G14",d:.57},{n:"Dance_G15",d:.53},{n:"Dance_G16",d:.57},{n:"dance_loop",d:1.17}]],["RUSTLER",[{n:"Plane_align_LHS",d:.73},{n:"Plane_close",d:.4},{n:"Plane_getin",d:.8},{n:"Plane_getout",d:1.57},{n:"Plane_open",d:.7}]],["RYDER",[{n:"RYD_Beckon_01",d:1.23},{n:"RYD_Beckon_02",d:1},{n:"RYD_Beckon_03",d:1.07},{n:"RYD_Die_PT1",d:4},{n:"RYD_Die_PT2",d:7.93},{n:"Van_Crate_L",d:.67},{n:"Van_Crate_R",d:.67},{n:"Van_Fall_L",d:.47},{n:"Van_Fall_R",d:.93},{n:"Van_Lean_L",d:.67},{n:"Van_Lean_R",d:.67},{n:"VAN_PickUp_E",d:1.83},{n:"VAN_PickUp_S",d:1.5},{n:"Van_Stand",d:.67},{n:"Van_Stand_Crate",d:.67},{n:"Van_Throw",d:1.37}]],["SAMP",[{n:"FishingIdle",d:1}]],["SCRATCHING",[{n:"scdldlp",d:.67},{n:"scdlulp",d:.67},{n:"scdrdlp",d:.67},{n:"scdrulp",d:.67},{n:"sclng_l",d:1},{n:"sclng_r",d:1},{n:"scmid_l",d:.47},{n:"scmid_r",d:.47},{n:"scshrtl",d:.2},{n:"scshrtr",d:.2},{n:"sc_ltor",d:.67},{n:"sc_rtol",d:.67}]],["SHAMAL",[{n:"SHAMAL_align",d:.2},{n:"SHAMAL_getin_LHS",d:1.4},{n:"SHAMAL_getout_LHS",d:1.37},{n:"SHAMAL_open",d:.6}]],["SHOP",[{n:"ROB_2Idle",d:1.17},{n:"ROB_Loop",d:2.67},{n:"ROB_Loop_Threat",d:2},{n:"ROB_Shifty",d:5.67},{n:"ROB_StickUp_In",d:.53},{n:"SHP_Duck",d:.67},{n:"SHP_Duck_Aim",d:.33},{n:"SHP_Duck_Fire",d:.83},{n:"SHP_Gun_Aim",d:.63},{n:"SHP_Gun_Duck",d:.5},{n:"SHP_Gun_Fire",d:.87},{n:"SHP_Gun_Grab",d:.87},{n:"SHP_Gun_Threat",d:.83},{n:"SHP_HandsUp_Scr",d:.67},{n:"SHP_Jump_Glide",d:.33},{n:"SHP_Jump_Land",d:.7},{n:"SHP_Jump_Launch",d:.57},{n:"SHP_Rob_GiveCash",d:3.83},{n:"SHP_Rob_HandsUp",d:2.67},{n:"SHP_Rob_React",d:2.67},{n:"SHP_Serve_End",d:5.5},{n:"SHP_Serve_Idle",d:5},{n:"SHP_Serve_Loop",d:4.17},{n:"SHP_Serve_Start",d:1.33},{n:"Smoke_RYD",d:6.67}]],["SHOTGUN",[{n:"shotgun_crouchfire",d:1.47},{n:"shotgun_fire",d:1.47},{n:"shotgun_fire_poor",d:1.5}]],["SILENCED",[{n:"CrouchReload",d:1},{n:"SilenceCrouchfire",d:.93},{n:"Silence_fire",d:.87},{n:"Silence_reload",d:.93}]],["SKATE",[{n:"skate_idle",d:1},{n:"skate_run",d:.83},{n:"skate_sprint",d:.67}]],["SMOKING",[{n:"F_smklean_loop",d:4},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"M_smk_drag",d:3.67},{n:"M_smk_in",d:6.67},{n:"M_smk_loop",d:3.33},{n:"M_smk_out",d:3},{n:"M_smk_tap",d:3}]],["SNIPER",[{n:"WEAPON_sniper",d:1.47}]],["SnM",[{n:"SnM_Caned_Idle_P",d:2},{n:"SnM_Caned_Idle_W",d:2},{n:"SnM_Caned_P",d:1.33},{n:"SnM_Caned_W",d:1.33},{n:"SnM_Cane_Idle_P",d:2},{n:"SnM_Cane_Idle_W",d:2},{n:"SnM_Cane_P",d:1.33},{n:"SnM_Cane_W",d:1.33},{n:"SpankedP",d:1.33},{n:"SpankedW",d:1.33},{n:"Spanked_IdleP",d:1.33},{n:"Spanked_IdleW",d:1.33},{n:"SpankingP",d:1.33},{n:"SpankingW",d:1.33},{n:"Spanking_endP",d:6.67},{n:"Spanking_endW",d:6.67},{n:"Spanking_IdleP",d:1.33},{n:"Spanking_IdleW",d:1.33},{n:"Spanking_SittingIdleP",d:1.33},{n:"Spanking_SittingIdleW",d:1.33},{n:"Spanking_SittingP",d:1},{n:"Spanking_SittingW",d:1}]],["SPRAYCAN",[{n:"spraycan_fire",d:2.33},{n:"spraycan_full",d:4.5}]],["STRIP",[{n:"PLY_CASH",d:1.67},{n:"PUN_CASH",d:3.33},{n:"PUN_HOLLER",d:5},{n:"PUN_LOOP",d:1.93},{n:"strip_A",d:2.07},{n:"strip_B",d:1},{n:"strip_C",d:.97},{n:"strip_D",d:1.9},{n:"strip_E",d:3.33},{n:"strip_F",d:1.03},{n:"strip_G",d:2.27},{n:"STR_A2B",d:4},{n:"STR_B2A",d:.5},{n:"STR_B2C",d:5},{n:"STR_C1",d:6},{n:"STR_C2",d:6},{n:"STR_C2B",d:1},{n:"STR_Loop_A",d:1},{n:"STR_Loop_B",d:2},{n:"STR_Loop_C",d:3}]],["SUNBATHE",[{n:"batherdown",d:3.93},{n:"batherup",d:12.3},{n:"Lay_Bac_in",d:2.33},{n:"Lay_Bac_out",d:3},{n:"ParkSit_M_IdleA",d:3.33},{n:"ParkSit_M_IdleB",d:2.67},{n:"ParkSit_M_IdleC",d:4.33},{n:"ParkSit_M_in",d:2.33},{n:"ParkSit_M_out",d:2},{n:"ParkSit_W_idleA",d:3.33},{n:"ParkSit_W_idleB",d:5},{n:"ParkSit_W_idleC",d:3},{n:"ParkSit_W_in",d:4},{n:"ParkSit_W_out",d:2.67},{n:"SBATHE_F_LieB2Sit",d:1.67},{n:"SBATHE_F_Out",d:2},{n:"SitnWait_in_W",d:4.67},{n:"SitnWait_out_W",d:2.67}]],["SWAT",[{n:"gnstwall_injurd",d:2},{n:"JMP_Wall1m_180",d:1.17},{n:"Rail_fall",d:3},{n:"Rail_fall_crawl",d:5.67},{n:"swt_breach_01",d:5.47},{n:"swt_breach_02",d:5.33},{n:"swt_breach_03",d:4.3},{n:"swt_go",d:1.67},{n:"swt_lkt",d:3},{n:"swt_sty",d:1.17},{n:"swt_vent_01",d:4.73},{n:"swt_vent_02",d:4.43},{n:"swt_vnt_sht_die",d:.67},{n:"swt_vnt_sht_in",d:1.6},{n:"swt_vnt_sht_loop",d:.27},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43}]],["SWEET",[{n:"ho_ass_slapped",d:2},{n:"LaFin_Player",d:26.67},{n:"LaFin_Sweet",d:26.67},{n:"plyr_hndshldr_01",d:4},{n:"sweet_ass_slap",d:2},{n:"sweet_hndshldr_01",d:4},{n:"Sweet_injuredloop",d:2}]],["SWIM",[{n:"Swim_Breast",d:1.3},{n:"SWIM_crawl",d:.9},{n:"Swim_Dive_Under",d:1.07},{n:"Swim_Glide",d:1.47},{n:"Swim_jumpout",d:.33},{n:"Swim_Tread",d:1.3},{n:"Swim_Under",d:1.5}]],["SWORD",[{n:"sword_1",d:.87},{n:"sword_2",d:1.07},{n:"sword_3",d:.8},{n:"sword_4",d:1.1},{n:"sword_block",d:.47},{n:"Sword_Hit_1",d:.83},{n:"Sword_Hit_2",d:1.03},{n:"Sword_Hit_3",d:.87},{n:"sword_IDLE",d:1},{n:"sword_part",d:.67}]],["TANK",[{n:"TANK_align_LHS",d:1.43},{n:"TANK_close_LHS",d:.33},{n:"TANK_doorlocked",d:.53},{n:"TANK_getin_LHS",d:.43},{n:"TANK_getout_LHS",d:1.97},{n:"TANK_open_LHS",d:.3}]],["TATTOOS",[{n:"TAT_ArmL_In_O",d:.83},{n:"TAT_ArmL_In_P",d:.83},{n:"TAT_ArmL_In_T",d:.83},{n:"TAT_ArmL_Out_O",d:.93},{n:"TAT_ArmL_Out_P",d:2.5},{n:"TAT_ArmL_Out_T",d:.93},{n:"TAT_ArmL_Pose_O",d:.83},{n:"TAT_ArmL_Pose_P",d:.83},{n:"TAT_ArmL_Pose_T",d:.83},{n:"TAT_ArmR_In_O",d:.83},{n:"TAT_ArmR_In_P",d:.83},{n:"TAT_ArmR_In_T",d:.83},{n:"TAT_ArmR_Out_O",d:1},{n:"TAT_ArmR_Out_P",d:2.5},{n:"TAT_ArmR_Out_T",d:1},{n:"TAT_ArmR_Pose_O",d:.83},{n:"TAT_ArmR_Pose_P",d:.83},{n:"TAT_ArmR_Pose_T",d:.83},{n:"TAT_Back_In_O",d:.83},{n:"TAT_Back_In_P",d:.83},{n:"TAT_Back_In_T",d:.83},{n:"TAT_Back_Out_O",d:.93},{n:"TAT_Back_Out_P",d:2.5},{n:"TAT_Back_Out_T",d:.93},{n:"TAT_Back_Pose_O",d:.83},{n:"TAT_Back_Pose_P",d:.83},{n:"TAT_Back_Pose_T",d:.83},{n:"TAT_Back_Sit_In_P",d:.83},{n:"TAT_Back_Sit_Loop_P",d:2.67},{n:"TAT_Back_Sit_Out_P",d:.83},{n:"TAT_Bel_In_O",d:.83},{n:"TAT_Bel_In_T",d:.83},{n:"TAT_Bel_Out_O",d:.97},{n:"TAT_Bel_Out_T",d:.97},{n:"TAT_Bel_Pose_O",d:.83},{n:"TAT_Bel_Pose_T",d:.83},{n:"TAT_Che_In_O",d:.83},{n:"TAT_Che_In_P",d:.83},{n:"TAT_Che_In_T",d:.83},{n:"TAT_Che_Out_O",d:.93},{n:"TAT_Che_Out_P",d:2.5},{n:"TAT_Che_Out_T",d:.93},{n:"TAT_Che_Pose_O",d:.83},{n:"TAT_Che_Pose_P",d:.83},{n:"TAT_Che_Pose_T",d:.83},{n:"TAT_Drop_O",d:.5},{n:"TAT_Idle_Loop_O",d:2.67},{n:"TAT_Idle_Loop_T",d:2.67},{n:"TAT_Sit_In_O",d:2.33},{n:"TAT_Sit_In_P",d:2.33},{n:"TAT_Sit_In_T",d:2.33},{n:"TAT_Sit_Loop_O",d:2.67},{n:"TAT_Sit_Loop_P",d:2.67},{n:"TAT_Sit_Loop_T",d:2.67},{n:"TAT_Sit_Out_O",d:2.83},{n:"TAT_Sit_Out_P",d:2.17},{n:"TAT_Sit_Out_T",d:2.83}]],["TEC",[{n:"TEC_crouchfire",d:.97},{n:"TEC_crouchreload",d:1.33},{n:"TEC_fire",d:1.1},{n:"TEC_reload",d:1.5}]],["TRAIN",[{n:"tran_gtup",d:3.17},{n:"tran_hng",d:2.33},{n:"tran_ouch",d:1.17},{n:"tran_stmb",d:2.33}]],["TRUCK",[{n:"TRUCK_ALIGN_LHS",d:.57},{n:"TRUCK_ALIGN_RHS",d:.57},{n:"TRUCK_closedoor_LHS",d:.4},{n:"TRUCK_closedoor_RHS",d:.4},{n:"TRUCK_close_LHS",d:.73},{n:"TRUCK_close_RHS",d:.73},{n:"TRUCK_getin_LHS",d:.6},{n:"TRUCK_getin_RHS",d:.6},{n:"TRUCK_getout_LHS",d:.8},{n:"TRUCK_getout_RHS",d:.8},{n:"TRUCK_jackedLHS",d:1.73},{n:"TRUCK_jackedRHS",d:1.5},{n:"TRUCK_open_LHS",d:.53},{n:"TRUCK_open_RHS",d:.53},{n:"TRUCK_pullout_LHS",d:.9},{n:"TRUCK_pullout_RHS",d:.9},{n:"TRUCK_Shuffle",d:.4}]],["UZI",[{n:"UZI_crouchfire",d:.63},{n:"UZI_crouchreload",d:1.37},{n:"UZI_fire",d:.57},{n:"UZI_fire_poor",d:.53},{n:"UZI_reload",d:1.4}]],["VAN",[{n:"VAN_close_back_LHS",d:.33},{n:"VAN_close_back_RHS",d:.33},{n:"VAN_getin_Back_LHS",d:.6},{n:"VAN_getin_Back_RHS",d:.6},{n:"VAN_getout_back_LHS",d:.63},{n:"VAN_getout_back_RHS",d:.63},{n:"VAN_open_back_LHS",d:.97},{n:"VAN_open_back_RHS",d:.97}]],["VENDING",[{n:"VEND_Drink2_P",d:3.33},{n:"VEND_Drink_P",d:1.33},{n:"vend_eat1_P",d:4.33},{n:"VEND_Eat_P",d:1.67},{n:"VEND_Use",d:2.6},{n:"VEND_Use_pt2",d:.4}]],["VORTEX",[{n:"CAR_jumpin_LHS",d:1},{n:"CAR_jumpin_RHS",d:.93},{n:"vortex_getout_LHS",d:1},{n:"vortex_getout_RHS",d:1}]],["WAYFARER",[{n:"WF_Back",d:.1},{n:"WF_drivebyFT",d:.2},{n:"WF_drivebyLHS",d:.2},{n:"WF_drivebyRHS",d:.2},{n:"WF_Fwd",d:.2},{n:"WF_getoffBACK",d:1.73},{n:"WF_getoffLHS",d:.9},{n:"WF_getoffRHS",d:.9},{n:"WF_hit",d:.03},{n:"WF_jumponL",d:.9},{n:"WF_jumponR",d:.9},{n:"WF_kick",d:1.03},{n:"WF_Left",d:.13},{n:"WF_passenger",d:.03},{n:"WF_pushes",d:.97},{n:"WF_Ride",d:.03},{n:"WF_Right",d:.13},{n:"WF_Still",d:.03}]],["WEAPONS",[{n:"SHP_1H_Lift",d:1},{n:"SHP_1H_Lift_End",d:.33},{n:"SHP_1H_Ret",d:.83},{n:"SHP_1H_Ret_S",d:.33},{n:"SHP_2H_Lift",d:.93},{n:"SHP_2H_Lift_End",d:.33},{n:"SHP_2H_Ret",d:.9},{n:"SHP_2H_Ret_S",d:.33},{n:"SHP_Ar_Lift",d:1},{n:"SHP_Ar_Lift_End",d:.33},{n:"SHP_Ar_Ret",d:1.17},{n:"SHP_Ar_Ret_S",d:.33},{n:"SHP_G_Lift_In",d:.67},{n:"SHP_G_Lift_Out",d:.67},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:2.67}]],["WOP",[{n:"Dance_B1",d:1.13},{n:"Dance_B2",d:1.17},{n:"Dance_B3",d:1.13},{n:"Dance_B4",d:1.17},{n:"Dance_B5",d:1.13},{n:"Dance_B6",d:1.17},{n:"Dance_B7",d:1.13},{n:"Dance_B8",d:1.17},{n:"Dance_B9",d:1.13},{n:"Dance_B10",d:1.17},{n:"Dance_B11",d:1.13},{n:"Dance_B12",d:1.17},{n:"Dance_B13",d:1.13},{n:"Dance_B14",d:1.17},{n:"Dance_B15",d:1.13},{n:"Dance_B16",d:1.17},{n:"Dance_G1",d:1.13},{n:"Dance_G2",d:1.17},{n:"Dance_G3",d:1.13},{n:"Dance_G4",d:1.17},{n:"Dance_G5",d:1.13},{n:"Dance_G6",d:1.17},{n:"Dance_G7",d:1.13},{n:"Dance_G8",d:1.17},{n:"Dance_G9",d:1.13},{n:"Dance_G10",d:1.17},{n:"Dance_G11",d:1.13},{n:"Dance_G12",d:1.17},{n:"Dance_G13",d:1.13},{n:"Dance_G14",d:1.17},{n:"Dance_G15",d:1.13},{n:"Dance_G16",d:1.17},{n:"dance_loop",d:1.17}]],["WUZI",[{n:"CS_Dead_Guy",d:5.07},{n:"CS_Plyr_pt1",d:3.77},{n:"CS_Plyr_pt2",d:9.67},{n:"CS_Wuzi_pt1",d:3.77},{n:"CS_Wuzi_pt2",d:9.67},{n:"Walkstart_Idle_01",d:3.17},{n:"Wuzi_follow",d:3},{n:"Wuzi_Greet_Plyr",d:4},{n:"Wuzi_Greet_Wuzi",d:4},{n:"Wuzi_grnd_chk",d:4},{n:"Wuzi_stand_loop",d:2.67},{n:"Wuzi_Walk",d:1.17}]]]),Vo=e=>{const t=xo.get(e);return t===void 0?!1:t},Ze=(e,t)=>{const n=Vo(e);if(n)return n.find(r=>r.n===t)?.d},[Xe]=S({name:"OnClientCheckResponse",beforeEach(e,t,n,r){return{player:g.getInstance(e),actionId:t,memAddr:n,data:r}}});class g{constructor(t){this.id=t}static players=new Map;charset="ISO-8859-1";locale="en_US";lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;sendClientMessage(t,n){return Ve(this,t,n)}static sendClientMessageToAll(t,n,r){mt(t,n,r)}sendPlayerMessage(t,n){return Ue(t,this.id,n)}sendPlayerMessageToAll(t,n){return St(t,this.id,n)}isNpc(){return on(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return vr(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return s.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));xr(this.id,t)}allowTeleport(t){h.AllowPlayerTeleport(this.id,t)}isTeleportAllowed(){return h.IsPlayerTeleportAllowed(this.id)}enableCameraTarget(t){ua(this.id,t)}enableStuntBonus(t){Ca(this.id,t)}getInterior(){return Dr(this.id)}setInterior(t){return Tr(this.id,t)}showPlayerNameTag(t,n){oa(this.id,t.id,n)}setColor(t){Vr(this.id,t)}getColor(){return Ur(this.id)}setPlayerMarker(t,n){aa(this.id,t.id,n)}resetMoney(){return Jr(this.id)}getMoney(){return $r(this.id)}giveMoney(t){return Yr(this.id,t)}resetWeapons(){return Zr(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):yr(this.id)}setHealth(t){return br(this.id,t)}getHealth(){return Lr(this.id)}toggleClock(t){return ii(this.id,t)}toggleControllable(t){return Ji(this.id,t)}toggleSpectating(t){return Da(this.id,t)}spectatePlayer(t,n=oe.NORMAL){return ba(this.id,t.id,n)}spectateVehicle(t,n=oe.NORMAL){return La(this.id,t.id,n)}forceClassSelection(){oi(this.id)}kick(){sn(this.id)}ban(){ln(this.id)}banEx(t,n){Pt(this.id,t,n)}isAdmin(){return dn(this.id)}isInRangeOfPoint(t,n,r,i){return fr(this.id,t,n,r,i)}isStreamedIn(t){return Cr(this.id,t.id)}setSkin(t,n=!1){return!n&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===le.DUCK?0:Wr(this.id,t)}getSkin(){return Kr(this.id)}isInAnyVehicle(){return Aa(this.id)}getSpecialAction(){return ta(this.id)}setSpecialAction(t){return na(this.id,t)}setScore(t){return Nr(this.id,t)}getScore(){return Hr(this.id)}getPing(){return qr(this.id)||0}setPos(t,n,r){return We(this.id,t,n,r)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===$.NONE)return;const[t,n,r]=Pr(this.id);return{x:t,y:n,z:r}}isSpectating(){return this.getState()===$.SPECTATING}isWasted(){return this.getState()===$.WASTED}getState(){return Qr(this.id)}getVersion(){return this.isNpc()?"":No(this.id)}setVirtualWorld(t){return fa(this.id,t)}getVirtualWorld(){return Ea(this.id)}removeFromVehicle(){return Yi(this.id)}setWantedLevel(t){return t<0||t>6?(s.error("[Player]: player's wanted level ranges from 0 to 6"),0):di(this.id,t)}getWantedLevel(){return si(this.id)}setFacingAngle(t){return pr(this.id,t)}getFacingAngle(){return Ar(this.id)}setWeather(t){if(t<0||t>255){s.warn("[Player]: The valid weather value is only 0 to 255");return}ai(this.id,t)}getWeather(){return h.GetPlayerWeather(this.id)}setTime(t,n){if(t<0||t>23){s.warn("[Player]: The valid hour value is only 0 to 23");return}if(n<0||n>59){s.warn("[Player]: The valid minute value is only 0 to 59");return}return ni(this.id,t,n)}getTime(){const[t,n]=ri(this.id);return{hour:t,minute:n}}removeBuilding(t,n,r,i,o){Ai(this.id,t,n,r,i,o)}setTeam(t){t<0||t>D.NO_TEAM||Mr(this.id,t)}getTeam(){return Fr(this.id)}setSkillLevel(t,n){if(n<0||n>999){s.warn("[Player]: The valid skill level is only 0 to 999");return}yi(this.id,t,n)}getName(){return yt(this)}setName(t){return It(this,t)}setVelocity(t,n,r){return ci(this.id,t,n,r)}getVelocity(){const[t,n,r]=hi(this.id);return{x:t,y:n,z:r}}getKeys(){const[t,n,r]=ti(this.id);return{keys:t,updown:n,leftright:r}}getIp(){return Mo(this.id)}getFightingStyle(){return _i(this.id)}setFightingStyle(t){li(this.id,t)}setArmour(t){return Rr(this.id,t)}getArmour(){return Or(this.id)}setCameraBehind(){return la(this.id)}setCameraPos(t,n,r){return da(this.id,t,n,r)}setCameraLookAt(t,n,r,i){return sa(this.id,t,n,r,i)}getCameraAspectRatio(){return ga(this.id)}getCameraFrontVector(){const[t,n,r]=ca(this.id);return{x:t,y:n,z:r}}getCameraMode(){return ha(this.id)}getCameraPos(){const[t,n,r]=_a(this.id);return{x:t,y:n,z:r}}getCameraTargetPlayer(t){const n=Sa(this.id);return t.find(r=>r.id===n)}getCameraTargetVehicle(t){const n=ma(this.id);return t.find(r=>r.id===n)}getCameraZoom(){return ya(this.id)}playAudioStream(t,n=0,r=0,i=0,o=5){let d=!1;return(n!==0||r!==0||i!==0)&&(d=!0),mi(this.id,t,n,r,i,o,d)}stopAudioStream(){Si(this.id)}playSound(t,n=0,r=0,i=0){return $i(this.id,t,n,r,i)}static getPoolSize(){return Mt()}static getMaxPlayers(){return Gt()}playCrimeReport(t,n){return n<3||n>22?(s.warn("[Player]: Available crime ids range from 3 to 22"),0):ui(this.id,t.id,n)}interpolateCameraPos(t,n,r,i,o,d,l,c=ae.CUT){Ia(this.id,t,n,r,i,o,d,l,c)}interpolateCameraLookAt(t,n,r,i,o,d,l,c=ae.CUT){Pa(this.id,t,n,r,i,o,d,l,c)}createExplosion(t,n,r,i,o){return i<0||i>13?(s.error("[Player]: The valid explosion type value is only 0 to 13"),0):Ga(this.id,t,n,r,i,o)}static isConnected(t){return Ke(t)}isConnected(){return Ke(this.id)}disableRemoteVehicleCollisions(t){return ra(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const n=Xi(this.id);return t.find(r=>r.id===n)}getVehicleSeat(){return zi(this.id)}getSurfingVehicle(t){const n=Ii(this.id);if(n!==D.VEHICLE_ID)return t.find(r=>r.id===n)}applyAnimation(t,n,r=!1,i=!0,o=!0,d=!1,l=!1){const c=Ze(t,n);if(c===void 0)return s.error("[Player]: Invalid anim library or name");Qi(this.id,t,n,4.1,r,i,o,d,r?0:c,l)}clearAnimations(t=!1){qi(this.id,t)}getAnimationIndex(){return ea(this.id)}getAnimationName(){const[t,n]=Fo(this.getAnimationIndex());return{animLib:t,animName:n}}setShopName(t){gi(this.id,t)}setPosFindZ(t,n,r=150){return new Promise(i=>{We(this.id,t,n,r),setTimeout(()=>i(Ir(this.id,t,n,r)))})}setWorldBounds(t,n,r,i){ia(this.id,t,n,r,i)}setChatBubble(t,n,r,i){ji(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Er(this.id,t,n,r)}getCustomSkin(){return Ro(this.id)}getTargetPlayer(t){const n=kr(this.id);if(n!==D.PLAYER_ID)return t.find(r=>r.id===n)}getLastShotVectors(){const[t,n,r,i,o,d]=fi(this.id);return{fOriginX:t,fOriginY:n,fOriginZ:r,fHitPosX:i,fHitPosY:o,fHitPosZ:d}}getWeapon(){return ei(this.id)}getWeaponData(t){if(t<0||t>12){s.error("[Player]: weapon slots range from 0 to 12");return}const[n,r]=zr(this.id,t);return{weapons:n,ammo:r}}getWeaponState(){return Gr(this.id)}giveWeapon(t,n){return jr(this.id,t,n)}setAmmo(t,n){return Br(this.id,t,n)}getAmmo(){return wr(this.id)}setArmedWeapon(t){return Xr(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(D.PLAYER_ID,D.PLAYER_ID,_e.CONNECT)}sendDeathMessage(t,n){Dt(t===D.PLAYER_ID?t:t.id,this.id,n)}sendDeathMessageToPlayer(t,n,r){bt(this.id,t===D.PLAYER_ID?t:t.id,n===D.PLAYER_ID?n:n.id,r)}setSpawnInfo(t,n,r,i,o,d,l,c,m,y,P,A){t<0||t>D.NO_TEAM||n<0||n>311||n==74||c<0||y<0||A<0||gr(this.id,t,n,r,i,o,d,l,c,m,y,P,A)}redirectDownload(t){return Oo(this.id,t)}sendClientCheck(t,n,r,i){const o=[2,5,69,70,71,72];return o.includes(t)?new Promise((d,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const c="[Player]: An attempt to check the player client response timed out",m=this.getPing(),y=(m>=200?0:m)+200;let P=null;const A=Xe(({player:E,actionId:b,memAddr:w,data:x,next:ie})=>{if(E!==this)return ie();P?(clearTimeout(P),P=null,l(c)):d({actionId:b,memAddr:w,data:x});const rt=ie();return A(),rt});P=setTimeout(()=>{A(),l(c)},y),ka(this.id,t,n,r,i)}):s.error(`[Player]: sendClientCheck valid types are ${o.toString()}`)}selectTextDraw(t){Ba(this.id,t)}cancelSelectTextDraw(){wa(this.id)}beginObjectSelecting(){ur(this.id)}endObjectEditing(){mr(this.id)}getSurfingObject(t){const n=Pi(this.id);if(n!==D.OBJECT_ID)return t.get(n)}getSurfingPlayerObject(t){const n=pi(this.id);if(n!==D.OBJECT_ID)return t.get(n)}isAttachedObjectSlotUsed(t){return Ti(this.id,t)}setAttachedObject(t,n,r,i,o,d,l,c,m,y,P,A,E,b){return this.isAttachedObjectSlotUsed(t)?0:Ei(this.id,t,n,r,i,o,d,l,c,m,y,P,A,E,b)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Ci(this.id,t):0}toggleWidescreen(t){return h.TogglePlayerWidescreen(this.id,t)}isPlayerWidescreenToggled(){return h.IsPlayerWidescreenToggled(this.id)}getSpawnInfo(){return h.GetSpawnInfo(this.id)}getSkillLevel(t){return h.GetPlayerSkillLevel(this.id,t)}isCheckpointActive(){return h.IsPlayerCheckpointActive(this.id)}getCheckpoint(){return h.GetPlayerCheckpoint(this.id)}isRaceCheckpointActive(){return h.IsPlayerRaceCheckpointActive(this.id)}getRaceCheckpoint(){return h.GetPlayerRaceCheckpoint(this.id)}getWorldBounds(){h.GetPlayerWorldBounds(this.id)}isInModShop(){return h.IsPlayerInModShop(this.id)}getSirenState(){return h.GetPlayerSirenState(this.id)}getLandingGearState(){return h.GetPlayerLandingGearState(this.id)}getHydraReactorAngle(){return h.GetPlayerHydraReactorAngle(this.id)}getTrainSpeed(){return h.GetPlayerTrainSpeed(this.id)}getZAim(){return h.GetPlayerZAim(this.id)}getSurfingOffsets(){return h.GetPlayerSurfingOffsets(this.id)}getRotationQuat(){return h.GetPlayerRotationQuat(this.id)}getDialogID(){return h.GetPlayerDialogID(this.id)}getSpectateID(){return h.GetPlayerSpectateID(this.id)}getSpectateType(){return h.GetPlayerSpectateType(this.id)}getRawIp(){return h.GetPlayerRawIp(this.id)}setGravity(t){return h.SetPlayerGravity(this.id,t)}getGravity(){return h.GetPlayerGravity(this.id)}setAdmin(t){return h.SetPlayerAdmin(this.id,t)}isSpawned(){return h.IsPlayerSpawned(this.id)}isControllable(){return h.IsPlayerControllable(this.id)}isCameraTargetEnabled(){return h.IsPlayerCameraTargetEnabled(this.id)}toggleGhostMode(t){return h.TogglePlayerGhostMode(this.id,t)}getGhostMode(){return h.GetPlayerGhostMode(this.id)}getBuildingsRemoved(){return h.GetPlayerBuildingsRemoved(this.id)}getAttachedObject(t){return h.GetPlayerAttachedObject(this.id,t)}removeWeapon(t){return h.RemovePlayerWeapon(this.id,t)}isUsingOfficialClient(){return h.IsPlayerUsingOfficialClient(this.id)}allowWeapons(t){return h.AllowPlayerWeapons(this.id,t)}areWeaponsAllowed(){return h.ArePlayerWeaponsAllowed(this.id)}gpci(t=this.charset){return hr(this.id,t)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[ze]=S({name:"OnDialogResponse",beforeEach(e,t,n,r,i){return{player:g.getInstance(e),dialogId:t,response:n,listItem:r,buffer:i}}});ze(({next:e,player:t,dialogId:n,response:r,listItem:i,buffer:o})=>{const d=R.waitingQueue.get(t);return!d||d.showId!==n||setTimeout(()=>d.resolve({response:r,listItem:i,buffer:o})),e()});class R{id=-1;static showingIds=[];static max_dialogId=32767;dialog;static waitingQueue=new Map;constructor(t={style:se.MSGBOX,caption:"",info:"",button1:"",button2:""}){this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,n=!1){const r=R.waitingQueue.get(t);if(!r)return!1;n&&r.reject("[Dialog]: player timeout does not respond or second request show dialog"),R.waitingQueue.delete(t);const i=R.showingIds.indexOf(r.showId);return i>-1&&R.showingIds.splice(i,1),!0}show(t){return new Promise((n,r)=>{for(R.close(t);(this.id===-1||R.showingIds.includes(this.id))&&R.showingIds.length!==R.max_dialogId;)this.id=Math.floor(Math.random()*(R.max_dialogId+1));if(this.id===-1){r("[Dialog]: The maximum number of dialogs is reached");return}R.showingIds.push(this.id),R.waitingQueue.set(t,{resolve:n,reject:r,showId:this.id}),gt(t,this.id,this.dialog)}).then(n=>{const{response:r,listItem:i}=n,o=C.decodeFromBuf(n.buffer,t.charset);return Promise.resolve({response:r,listItem:i,inputText:o})}).catch(n=>Promise.reject(n)).finally(()=>R.delDialogTask(t))}static close(t){R.delDialogTask(t,!0),I.HidePlayerDialog(t.id)}}const[Ye]=S({name:"OnPlayerConnect",beforeEach(e){const t=new g(e);return g.players.set(e,t),{player:t}}}),[Je]=S({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:g.players.get(e),reason:t}},afterEach({player:e}){g.players.delete(e.id)}}),[$e]=S({name:"OnPlayerUpdate",beforeEach(e){return{player:g.getInstance(e)}}}),[Uo]=S({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const n=g.getInstance(e);return{player:n,text:C.decodeFromBuf(t,n.charset),buffer:t}}}),[Wo]=S({name:"OnPlayerEnterExitModShop",beforeEach(e,t,n){return{player:g.getInstance(e),enterExit:Boolean(t),interior:n}}}),[Ko]=S({name:"OnPlayerClickMap",beforeEach(e,t,n,r){return{player:g.getInstance(e),fX:t,fY:n,fZ:r}}}),[jo]=S({name:"OnPlayerClickPlayer",beforeEach(e,t,n){return{player:g.getInstance(e),clickedPlayer:g.getInstance(t),source:n}}}),[Zo]=S({name:"OnPlayerDeath",beforeEach(e,t,n){return{player:g.getInstance(e),killer:g.getInstance(t)||D.PLAYER_ID,reason:n}}}),[Xo]=S({name:"OnPlayerGiveDamage",beforeEach(e,t,n,r,i){return{player:g.getInstance(e),damage:g.getInstance(t),amount:n,weapon:r,bodyPart:i}}}),[zo]=S({name:"OnPlayerKeyStateChange",beforeEach(e,t,n){return{player:g.getInstance(e),newKeys:t,oldKeys:n}}}),[Yo]=S({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:g.getInstance(e),classId:t}}}),[Jo]=S({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:g.getInstance(e)}}}),[$o]=S({name:"OnPlayerSpawn",beforeEach(e){return{player:g.getInstance(e)}}}),[Qo]=S({name:"OnPlayerStateChange",beforeEach(e,t,n){return{player:g.getInstance(e),newState:t,oldState:n}}}),[qo]=S({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:g.getInstance(e),forPlayer:g.getInstance(t)}}}),[ed]=S({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:g.getInstance(e),forPlayer:g.getInstance(t)}}}),[td]=S({name:"OnPlayerTakeDamage",beforeEach(e,t,n,r,i){return{player:g.getInstance(e),damage:g.getInstance(t)||D.PLAYER_ID,amount:n,weapon:r,bodyPart:i}}}),[nd]=S({name:"OnPlayerInteriorChange",beforeEach(e,t,n){return{player:g.getInstance(e),newInteriorId:t,oldInteriorId:n}}}),[rd]=S({name:"OnPlayerRequestDownload",beforeEach(e,t,n){return{player:g.getInstance(e),type:t,crc:n}}}),[id]=S({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:g.getInstance(e),virtualWorld:t}}});let re=null;const[ad,od]=S({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[dd,sd]=S({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,n,r){return{player:e,pausedAt:t,now:n,diff:r}}});Ye(({next:e})=>(!re&&g.getPoolSize()>-1&&(re=setInterval(()=>{g.getInstances().filter(t=>{const n=t.getState()!==$.NONE;return!t.isPaused&&!t.isNpc()&&n}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,od(t,t.lastUpdateTick))})},500)),e())),Je(({player:e,next:t})=>(re&&g.getPoolSize()<=0&&(clearInterval(re),re=null),R.close(e),t()));function ld(e){if(!g.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const n=e.getDrunkLevel();if(n<100){e.setDrunkLevel(2e3),e.lastDrunkLevel=2e3,e.lastFps=0;return}e.lastUpdateFpsTick=t,e.lastFps=e.lastDrunkLevel-n-1,e.lastDrunkLevel=n}}$e(({player:e,next:t})=>{if(!e.isNpc()){const n=Date.now();e.isPaused&&(e.isPaused=!1,sd(e,e.lastUpdateTick,n,n-e.lastUpdateTick)),e.lastUpdateTick=n,ld(e)}return t()});const q=new Map,Qe=/[^/\s]+/gi,ce={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"}},[_d,cd]=S({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[hd,ud]=S({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[md,he]=S({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,n){return{player:e,command:t,error:n}}}),[Sd]=S({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:g.getInstance(e),buffer:t}}});function gd(e){const t=[];let n="";for(let r=0;r<e.length;r++)n+=e[r]+" ",t.push(n.trimEnd());return t.reverse()}Sd(({player:e,buffer:t,next:n})=>{const r=C.decodeFromBuf(t,e.charset).match(Qe),i=gd(r).find(y=>q.get(y)),o=r.join(" ");if(!i)return he(e,o,ce.NOT_EXIST);const d=cd(e,o);if(!d)return d;const l=q.get(i),[,c]=l,m=o.replace(i,"").trim().split(" ");return c(e,m)?ud(e,o)?n():he(e,o,ce.PERFORMED):he(e,o,ce.REJECTED)});const qe={on(e,t){const n=Array.isArray(e)?e:[e],r=n.find(o=>!o.match(Qe));if(r)return console.log(`error command ${r} format`),()=>{};const i=n.map(o=>{if(!q.has(o)){const l=S({name:o,isNative:!1,beforeEach(c,m){return{player:c,subcommand:m}}});q.set(o,l)}const[d]=q.get(o);return d(t)});return()=>{i.forEach(o=>o())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{q.has(t)&&ge(t)})}},et={onConnect:Ye,onDisconnect:Je,onPause:ad,onResume:dd,onUpdate:$e,onText:Uo,onEnterExitModShop:Wo,onClickMap:Ko,onClickPlayer:jo,onDeath:Zo,onGiveDamage:Xo,onKeyStateChange:zo,onRequestClass:Yo,onRequestSpawn:Jo,onSpawn:$o,onStateChange:Qo,onStreamIn:qo,onStreamOut:ed,onTakeDamage:td,onInteriorChange:nd,onRequestDownload:rd,onFinishedDownloading:id,onCheckResponse:Xe,onCommandReceived:_d,onCommandPerformed:hd,onCommandError:md,onCommandText:qe.on,offCommandText:qe.off,onDialogResponse:ze},yd=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Id=[[13,18,19,20,21,24],[1,3,4,5,6,7,13,17,19,20,142,143,144,145],[],[],[0,2,7,13,16,17,19,20,21],[0,1,14,18,19,20,21,23],[],[],[],[],[1,3,7,13,17,19,20,21,23,24],[],[],[],[],[1,3,7,17,18,19,23],[],[],[2,6,16,20,21],[],[1,3,4,5,19,21],[0,14,16,18,19,20,21,23],[7,13,17,19,20,21],[],[],[],[1,3,4,5,6,19,21],[],[],[],null,[],[],[],[],[],[1,3,6,7,13,17,19,20,21,22],[],[],[1,3,7,13,17,23,142,143,144,145],[],[],[],[],[],[],null,[],null,null,[],[],null,null,null,[],[],[],[],[],[],null,null,null,[],[],[],[],null,[],[],[],null,null,[],[],[],[6,7,17,18,19,20,21],[4,5,12,13,20,21,22,24],[],[],null,[],[],null,[],[],[],[],[0,2,4,5,6,13,16,18,19,20,24],[],[3,7,14,17,18,19,20,21,23,142,143,144,145],[0,4,5,6,16],null,[],[],[1,2,3,6,7,11,17,19,20,23,142,143],[],[],[],[13,19,20,21,24],[],[],[],[],[],[],[],[],null,null,[],[],[],[],[],[0,2,4,7,15,16,17,18,19,20,21],[2,3,7,16,17,18,19,20,23,142,143,144,145],[1,3,5,6,7,13,17,18,20,23,142,143,144,145],[],[],null,null,null,[],[],[],[1,7,14,15,17,18,20,21],[],[1,3,6,7,11,12,17,18,19,20,23],[],[],[],[],[100,101,106,122,123,124,125,126,127,178,179,180,185],[109,110,113,114,115,116,117,118,119,120,121],[103,104,105,107,108,128,181,182,183,184],null,null,[],[1,4,6,7,17,18,19,20,23,24,142,143,144,145],[],[14,15,18,19,20,21,144,145],[],[],[],[1,2,4,6,7,17,18,19,23,24,142,143,144,145],[0,3,16,18,19,20,21,142,143],[],[1,3,7,11,12,17,18,19,20,23,142,143,144,145],[1,3,4,5,6,18,19,20,23,142,143,144,145],[2,3,5,6,16,18,19,20,21,23],[],[],[],[],[],[],[88,89,90,91,92,93,94,95,163,164,165,166,167,168],[65,66,67,68,69,70,71,72,158,159,160,161,162,173],[26,27,28,29,30,31,32,33,138,139,140,141,169,170],[55,56,57,58,59,60,61,62,63,64,154,155,156,157],[34,35,36,37,38,39,40,41,146,147,148,149,171,172],[],[],[45,46,47,48,49,50,51,52,53,54,150,151,152,153],[],[102,129,130,131,132,133,186,187,188,189],[],null,null,[],[],[],[],[42,43,44,99,174,175,176,177],[134,135,136,137,190,191,192,193],[],[],[],[1,6,7,17,18,20,23],null,[],[],[],[0,1,2,3,6,7,13,14,15,16,17,18,19,20,21,22,23,24,142,143,144,145],null,[],[],[0,4,5,6,7,13,16,17,18,20,24,144,145],null,[],[],[],[],null,[],[],[],[],[4,5,6,7,13,17,18,20,22],[],[],[1,6,7,17,18,19,20,23,24,142,143,144,145],[],[],[],[],[],[],[],[]],Pd=(e,t)=>{if(!pd(e))return s.error("[vehicleUtils]: Invalid model id"),!1;const n=Id[e-400];if(n===null)return!1;const r=t-1e3;return yd.includes(r)||n.includes(r)},pd=e=>e>=400&&e<=611,Ad=(e,t)=>{if(t<0||t>2)return!1;const n=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return n===void 0?!1:t<=n};class T{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,n=!1){this.sourceInfo=t,this.isStatic=n}create(t=!1){if(this.id!==-1)return s.warn("[Vehicle]: Unable to create the vehicle again");if(T.createdCount===M.MAX_VEHICLES)return s.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:n,x:r,y:i,z:o,z_angle:d,color:l,respawn_delay:c,addSiren:m}=this.sourceInfo;if(!(!t&&(n<400||n>611))){if(this.isStatic){if(c===void 0){this._id=Vt(n,r,i,o,d,l[0],l[1]);return}this._id=Ut(n,r,i,o,d,l[0],l[1],c||-1,m||!1)}else this._id=Ma(n,r,i,o,d,l[0],l[1],c||-1,m||!1);T.createdCount++,T.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return s.warn("[Vehicle]: Unable to destroy the vehicle before create");Fa(this.id),T.createdCount--,T.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:Pd(this.getModel(),t)?to(this.id,t):(s.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(T.getComponentType(t))===0?(s.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):no(this.id,t)}getComponentInSlot(t){return mo(this.id,t)}static getComponentType(t){return So(t)}linkToInterior(t){return this.id===-1?0:eo(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Eo(this.id,t)}getVirtualWorld(){return this.id===-1?0:Co(this.id)}repair(){return this.id===-1?0:go(this.id)}setPos(t,n,r){return this.id===-1?0:va(this.id,t,n,r)}getPos(){if(this.id!==-1)return Ha(this.id)}getHealth(){return this.id===-1?0:oo(this.id)}setHealth(t){return this.id===-1?0:ao(this.id,t)}isPlayerIn(t){return this.id===-1?!1:pa(t.id,this.id)}putPlayerIn(t,n){return this.id===-1||n<0?0:(n>4&&s.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),Zi(t.id,this.id,n))}getZAngle(){return this.id===-1?0:xa(this.id)}setZAngle(t){return this.id===-1?0:Wa(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(s.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?ho(this.id,t):(s.error("[Vehicle]: number plates only allow letters and numbers"),0)}static getPoolSize(){return Ft()}changeColours(t,n){return this.id===-1?0:ro(this.id,t,n)}setVelocity(t,n,r){return this.id===-1?0:Io(this.id,t,n,r)}getVelocity(){if(this.id===-1)return;const[t,n,r]=yo(this.id);return{x:t,y:n,z:r}}setAngularVelocity(t,n,r){return this.id===-1?0:Po(this.id,t,n,r)}getDamageStatus(){if(this.id!==-1)return po(this.id)}updateDamageStatus(t,n,r,i){this.id!==-1&&Ao(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Ua(this.id,t,n,r)}getModel(){return uo(this.id)}static getModelInfo(t,n){return fo(t,n)}getModelInfo(t){if(this.id!==-1)return T.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,n,r,i]=Va(this.id);return{w:t,x:n,y:r,z:i}}setRespawn(){return this.id===-1?0:qa(this.id)}isStreamedIn(t){return this.id===-1?!1:Na(this.id,t.id)}setParamsCarDoors(t,n,r,i){return this.id===-1?0:Ya(this.id,t,n,r,i)}setParamsCarWindows(t,n,r,i){return this.id===-1?0:$a(this.id,t,n,r,i)}getParamsCarDoors(){if(this.id!==-1)return Ja(this.id)}getParamsCarWindows(){if(this.id!==-1)return Qa(this.id)}setParamsEx(t,n,r,i,o,d,l){return this.id===-1?0:Za(this.id,t,n,r,i,o,d,l)}getParamsEx(){if(this.id===-1)return;const[t,n,r,i,o,d,l]=Xa(this.id);return{engine:t,lights:n,alarm:r,doors:i,bonnet:o,boot:d,objective:l}}getParamsSirenState(){return this.id===-1?-2:za(this.id)}setParamsForPlayer(t,n,r){return this.id===-1?0:Ka(this.id,t.id,n,r)}isTrailerAttached(){return this.id===-1?!1:_o(this.id)}changePaintjob(t){return this.id===-1||!Ad(this.getModel(),t)?0:(this.changeColours("#fff","#fff"),io(this.id,t),1)}attachTrailer(t){return this.id===-1?0:so(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&lo(this.id)}getTrailer(t){if(this.id!==-1)return t.find(n=>n.id===co(this.id))}isValid(){return je(this.id)}static isValid(t){return je(t)}getMatrix(){if(this.id!==-1)return h.GetVehicleMatrix(this.id)}getTrainSpeed(){return this.id===-1?0:h.GetVehicleTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===-1?0:h.GetVehicleHydraReactorAngle(this.id)}getLandingGearState(){return this.id===-1?0:h.GetVehicleLandingGearState(this.id)}getSirenState(){return this.id===-1?0:h.GetVehicleSirenState(this.id)}static getModelsUsed=h.GetVehicleModelsUsed;getDriver(t){if(this.id!==-1)return t.get(h.GetVehicleDriver(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(h.GetVehicleLastDriver(this.id))}static getModelCount=h.GetVehicleModelCount;isSirenEnabled(){return h.IsVehicleSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===-1?0:h.ToggleVehicleSirenEnabled(this.id,t)}isDead(){return this.id===-1?!0:h.IsVehicleDead(this.id)}getRespawnTick(){return this.id===-1?0:h.GetVehicleRespawnTick(this.id)}isOccupied(){return this.id===-1?!1:h.IsVehicleOccupied(this.id)}hasBeenOccupied(){return this.id===-1?!1:h.HasVehicleBeenOccupied(this.id)}getOccupiedTick(){return this.id===-1?0:h.GetVehicleOccupiedTick(this.id)}getCab(){return this.id===-1?0:h.GetVehicleCab(this.id)}getRespawnDelay(){return this.id===-1?0:h.GetVehicleRespawnDelay(this.id)}setRespawnDelay(t){return this.id===-1?0:h.SetVehicleRespawnDelay(this.id,t)}getNumberPlate(){return this.id===-1?"":h.GetVehicleNumberPlate(this.id)}getInterior(){return this.id===-1?0:h.GetVehicleInterior(this.id)}getPaintjob(){return this.id===-1?-1:h.GetVehiclePaintjob(this.id)}getColors(){if(this.id!==-1)return h.GetVehicleColors(this.id)}setSpawnInfo(t,n,r,i,o,d,l,c=-2,m=-2,y=!1){return this.id===-1||!y&&(t<400||t>611)?0:h.SetVehicleSpawnInfo(this.id,t,n,r,i,o,f(d),f(l),c,m)}getSpawnInfo(){if(this.id!==-1)return h.GetVehicleSpawnInfo(this.id)}static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[tt]=S({name:"OnGameModeInit"}),[nt]=S({name:"OnGameModeExit"}),[fd]=S({name:"OnIncomingConnection",beforeEach(e,t,n){return{playerId:e,ipAddress:t,port:n}}}),[Ed]=S({name:"OnRconCommand",beforeEach(e){return{cmd:e}}}),[Cd]=S({name:"OnRconLoginAttempt",beforeEach(e,t,n){return{ip:e,password:t,success:n}}}),Z=[],ee=[],ue=e=>{setTimeout(async()=>{try{const t=Z.findIndex(r=>r.name===e);if(t===-1)return;const n=Z[t];await n.load(),Z.splice(t,1),ee.push(n)}catch(t){s.error(`[GameMode]: script ${e} load fail`),s.warn(new Error(JSON.stringify(t)))}})},me=e=>{setTimeout(async()=>{try{const t=ee.findIndex(r=>r.name===e);if(t===-1)return;const n=ee[t];await n.unload(),ee.splice(t,1),Z.push(n)}catch(t){s.error(`[GameMode]: script ${e} unload fail`),s.warn(new Error(JSON.stringify(t)))}})},Td=e=>{me(e),ue(e)};tt(({next:e})=>(Z.forEach(t=>ue(t.name)),e())),nt(({next:e})=>(ee.forEach(t=>me(t.name)),e()));const Dd=function(e,...t){if(Z.some(n=>n===e)||ee.some(n=>n===e)){s.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),Z.push(e)};var bd={use(e,...t){return Dd(e,...t),this},loadUseScript:ue,reloadUseScript:Td,unloadUseScript:me,supportAllNickname(){for(let e=0;e<=255;e++)this.isNickNameCharacterAllowed(e)||this.allowNickNameCharacter(e,!0)},setWeather(e){return e<0||e>255?(s.error("[GameMode]: The valid weather value is only 0 to 255"),0):Xt(e)},setWorldTime(e){return e<0||e>23?(s.error("[GameMode]: The valid hour value is only 0 to 23"),0):jt(e)},setTeamCount:Ht,sendRconCommand:_n,addPlayerClass:vt,addPlayerClassEx:xt,createExplosion(e,t,n,r,i){return r<0||r>13?(s.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Jt(e,t,n,r,i)},manualVehicleEngineAndLights:ja,blockIpAddress:un,unBlockIpAddress:mn,getServerTickRate:Sn,addSimpleModel(e,t,n,r,i){return this.checkSimpleModel(e,t,n,r,i)?Bo(e,t,n,r,i):0},addSimpleModelTimed(e,t,n,r,i,o,d){return this.checkSimpleModel(e,t,n,r,i,o,d)?wo(e,t,n,r,i,o,d):0},checkSimpleModel(e,t,n,r,i,o,d){return e<-1?(s.error("[GameMode]: AddSimpleModel - Error virtual world"),0):t<0?(s.error("[GameMode]: AddSimpleModel - Error baseid"),0):n>-1e3||n<-3e4?(s.error("[GameMode]: AddSimpleModel - Error newid range"),0):r.trim().length<0?(s.error("[GameMode]: AddSimpleModel - Empty dffname"),0):i.trim().length<0?(s.error("[GameMode]: AddSimpleModel - Empty txdname"),0):o!==void 0&&(o<0||o>23)?(s.error("[GameMode]: AddSimpleModel - Error time on range"),0):d!==void 0&&(d<0||d>23)?(s.error("[GameMode]: AddSimpleModel - Error time off range"),0):1},getConsoleVarAsString(e,t="utf8"){const n=h.GetConsoleVarAsByteArray(e);return C.decodeFromBuf(C.getValidStr(n),t)},allowAdminTeleport:h.AllowAdminTeleport,isAdminTeleportAllowed:h.IsAdminTeleportAllowed,allowInteriorWeapons:h.AllowInteriorWeapons,areInteriorWeaponsAllowed:h.AreInteriorWeaponsAllowed,areAllAnimationsEnabled:h.AreAllAnimationsEnabled,enableAllAnimations:h.EnableAllAnimations,enableStuntBonusForAll:Ta,enableVehicleFriendlyFire:Zt,enableZoneNames:$t,disableInteriorEnterExits:qt,setGameModeText:Nt,getGravity:zt,setGravity:Yt,showNameTags:Wt,disableNameTagLOS:tn,usePlayerPedAnims:Qt,showPlayerMarkers:Kt,limitPlayerMarkerRadius:rn,limitGlobalChatRadius:nn,setNameTagDrawDistance:en,findModelFileNameFromCRC:Ho,findTextureFileNameFromCRC:vo,getWeaponName:Go,setObjectsDefaultCameraCollision:Sr,vectorSize:kt,clearBanList:h.ClearBanList,isBanned:h.IsBanned,isValidNickName:h.IsValidNickName,allowNickNameCharacter:h.AllowNickNameCharacter,isNickNameCharacterAllowed:h.IsNickNameCharacterAllowed,addServerRule:h.AddServerRule,setServerRule:h.SetServerRule,isValidServerRule:h.IsValidServerRule,removeServerRule:h.RemoveServerRule,getWeaponSlot:h.GetWeaponSlot,getAvailableClasses:h.GetAvailableClasses,getPlayerClass:h.GetPlayerClass,editPlayerClass:h.EditPlayerClass,toggleChatTextReplacement:h.ToggleChatTextReplacement,chatTextReplacementToggled:h.ChatTextReplacementToggled,getConsoleVarAsInt:h.GetConsoleVarAsInt,getConsoleVarAsBool:h.GetConsoleVarAsBool};const B={onInit:tt,onExit:nt,onIncomingConnection:fd,onRconCommand:Ed,onRconLoginAttempt:Cd,...bd};B.onExit(({next:e})=>(T.getInstances().forEach(t=>t.destroy()),e()));const[Ld]=S({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:T.getInstance(e),player:g.getInstance(t)}}}),[Rd]=S({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:T.getInstance(e),killer:g.getInstance(t)}}}),[Od]=S({name:"OnVehicleMod",beforeEach(e,t,n){return{player:g.getInstance(e),vehicle:T.getInstance(t),componentId:n}}}),[Bd]=S({name:"OnVehiclePaintjob",beforeEach(e,t,n){return{player:g.getInstance(e),vehicle:T.getInstance(t),paintjobId:n}}}),[wd]=S({name:"OnVehicleRespray",beforeEach(e,t,n,r){return{player:g.getInstance(e),vehicle:T.getInstance(t),color:[n,r]}}}),[Gd]=S({name:"OnVehicleSirenStateChange",beforeEach(e,t,n){return{player:g.getInstance(e),vehicle:T.getInstance(t),state:!!n}}}),[kd]=S({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:T.getInstance(e)}}}),[Md]=S({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:T.getInstance(e),forPlayer:g.getInstance(t)}}}),[Fd]=S({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:T.getInstance(e),forPlayer:g.getInstance(t)}}}),[Nd]=S({name:"OnPlayerEnterVehicle",beforeEach(e,t,n){return{player:g.getInstance(e),vehicle:T.getInstance(t),isPassenger:!!n}}}),[Hd]=S({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:g.getInstance(e),vehicle:T.getInstance(t)}}}),[vd]=S({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:T.getInstance(e),seatId:t}}}),[xd]=S({name:"OnNpcExitVehicle"}),[Vd]=S({name:"OnTrailerUpdate",beforeEach(e,t){return{player:g.getInstance(e),vehicle:T.getInstance(t)}}}),Ud={onDamageStatusUpdate:Ld,onDeath:Rd,onMod:Od,onPaintjob:Bd,onRespray:wd,onSirenStateChange:Gd,onSpawn:kd,onStreamIn:Md,onStreamOut:Fd,onPlayerEnter:Nd,onPlayerExit:Hd,onNpcEnter:vd,onNpcExit:xd,onTrailerUpdate:Vd};class Wd{constructor(){}static getNetworkStats(){return hn()}static getPlayerNetworkStats(t){return cn(t.id)}static getBytesReceived(t){return In(t.id)}static getBytesSent(t){return pn(t.id)}static getConnectionStatus(t){return En(t.id)}static getConnectedTime(t){return gn(t.id)}static getIpPort(t){return ko(t.id)}static getMessagesReceived(t){return yn(t.id)}static getMessagesRecvPerSecond(t){return An(t.id)}static getMessagesSent(t){return Pn(t.id)}static getPacketLossPercent(t){return fn(t.id)}}class Kd{_text;_time;_style;get text(){return this._text}set text(t){this._text=t}get time(){return this._time}set time(t){this._time=t}get style(){return this._style}set style(t){this._style=t}constructor(t,n,r){this._text=t,this._time=n,this._style=r}static hideForAll(t){Rt(t)}static has(t,n){return Bt(t.id,n)}forAll(){Lt(this.text,this.time,this.style)}forPlayer(t){Ot(t.id,this.text,this.time,this.style)}hideForPlayer(t){return wt(t.id,this.style)}}class J{static menus=new Map;_itemCount=0;get itemCount(){return this._itemCount}_id=-1;get id(){return this._id}_title;get title(){return this._title}set title(t){this._title=t}_columns=1;get columns(){return this._columns}set columns(t){if(t!==1&&t!==2){s.error("[Menu]: The menu column number interval is between 1 and 2");return}this._columns=t}_x;get x(){return this._x}set x(t){this._x=t}_y;get y(){return this._y}set y(t){this._y=t}_col1width;get col1width(){return this._col1width}set col1width(t){this._col1width=t}_col2width;get col2width(){return this._col2width}set col2width(t){this._col2width=t}constructor(t,n,r,i,o,d){this._title=t,this.columns=n,this._x=r,this._y=i,this._col1width=o,this._col2width=d}create(){return this._id!==-1?s.error("[Menu]: Cannot be created twice"):J.getInstances().length===M.MAX_MENUS?s.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=Cn(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),J.menus.set(this._id,this),this)}destroy(){return this._id===-1?s.error("[Menu]: Cannot destroy before create"):(Tn(this.id),J.menus.delete(this._id),this._id=-1,this)}addItem(t,n){return this._id===-1?s.error("[Menu]: Cannot addItem before create"):this._itemCount===M.MAX_MENU_ROW?s.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?s.error("[Menu]: Wrong number of columns"):(Dn(this.id,t,n),this._itemCount++,this)}setColumnHeader(t,n){return this._id===-1?s.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?s.error("[Menu]: Wrong number of columns"):(bn(this.id,t,n),this)}disable(){return this._id===-1?s.error("[Menu]: Cannot disable menu before create"):(Bn(this.id),this)}disableRow(t){if(this._id===-1)return s.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return s.error("[Menu]: Wrong number of rows");wn(this.id,t)}isValid(){return On(this.id)}showForPlayer(t){return this._id===-1?s.error("[Menu]: Cannot show menu before create"):Ln(this.id,t.id)}hideForPlayer(t){return this._id===-1?s.error("[Menu]: Cannot hide menu before create"):Rn(this.id,t.id)}isDisabled(){return this._id===-1?!1:I.IsMenuDisabled(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:I.IsMenuRowDisabled(this.id,t)}getItems(t){return this._id===-1?0:I.GetMenuItems(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:I.GetMenuPos(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:I.GetMenuColumnWidth(this.id)}getColumnHeader(t){return this._id===-1?s.error("[Menu]: Cannot get column header before create"):I.GetMenuColumnHeader(this.id,t)}getItem(t,n){if(this._id===-1)return s.error("[Menu]: Cannot get item before create");if(!(n<0||n>this.getItems(t)-1))return I.GetMenuItem(this.id,t,n)}static getInstance(t){return this.menus.get(t)}static getInstances(){return[...this.menus.values()]}static getInstanceByPlayer(t){return this.getInstances().find(n=>n.id===Gn(t.id))}}B.onExit(({next:e})=>(J.getInstances().forEach(t=>t.destroy()),e()));const[jd]=S({name:"OnPlayerExitedMenu",beforeEach(e){return{player:g.getInstance(e)}}}),[Zd]=S({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const n=g.getInstance(e),r=J.getInstanceByPlayer(n);return{player:n,menu:r,row:t}}}),Xd={onPlayerExited:jd,onPlayerSelectedRow:Zd};class O{static gangZones=new Map;static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;constructor(t){this.sourceInfo=t}_id=-1;get id(){return this._id}create(){if(this.id!==-1)return s.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(O.createdPlayerCount===M.MAX_GANG_ZONES)return s.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:n,minY:r,maxX:i,maxY:o}=this.sourceInfo;this._id=h.CreatePlayerGangZone(t.id,n,r,i,o),O.createdPlayerCount++;const d=et.onDisconnect(({player:l,next:c})=>{c(),l===this.sourceInfo.player&&(this.destroy(),d())})}else{if(O.createdGlobalCount===M.MAX_GANG_ZONES)return s.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:n,minY:r,maxX:i,maxY:o}=this.sourceInfo;this._id=nr(n,r,i,o),O.createdGlobalCount++}O.gangZones.set({id:this.id,global:t===void 0},this)}destroy(){if(this.id===-1)return s.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(h.PlayerGangZoneDestroy(t.id,this.id),O.createdPlayerCount--):(rr(this.id),O.createdGlobalCount--),O.gangZones.delete({id:this.id,global:t===void 0}),this._id=-1}showForAll(t){return this.id===-1?s.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be show for all."):(ar(this.id,t),this)}showForPlayer(t,n){if(this.id===-1)return s.warn("[GangZone]: Unable to show the gangzone before create");const r=this.sourceInfo.player;if(r)h.PlayerGangZoneShow(r.id,this.id,f(t));else if(n)ir(n.id,this.id,t);else return s.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?s.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be hide for all."):(dr(this.id),this)}hideForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to hide the gangzone before create");const n=this.sourceInfo.player;if(n)h.PlayerGangZoneHide(n.id,this.id);else if(t)or(t.id,this.id);else return s.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?s.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be flash for all."):(lr(this.id,t),this)}flashForPlayer(t,n){if(this.id===-1)return s.warn("[GangZone]: Unable to flash the gangzone before create");const r=this.sourceInfo.player;if(r)h.PlayerGangZoneFlash(r.id,this.id,f(n));else if(t)sr(t.id,this.id,n);else return s.warn("[GangZone]: invalid player for flash");return this}stopFlashForAll(){return this.id===-1?s.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be stop flash for all."):(cr(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to stop flash the gangzone before create");const n=this.sourceInfo.player;if(n)h.PlayerGangZoneStopFlash(n.id,this.id);else if(t)_r(t.id,this.id);else return s.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?h.IsValidPlayerGangZone(t.id,this.id):h.IsValidGangZone(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?h.IsPlayerInPlayerGangZone(n.id,this.id):h.IsPlayerInGangZone(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?h.IsPlayerGangZoneVisible(n.id,this.id):h.IsGangZoneVisibleForPlayer(t.id,this.id)}getColourForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to get color before create");const n=this.sourceInfo.player;return n?h.PlayerGangZoneGetColour(n.id,this.id):h.GangZoneGetColourForPlayer(t.id,this.id)}getFlashColourForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to get flash color before create");const n=this.sourceInfo.player;return n?h.PlayerGangZoneGetFlashColour(n.id,this.id):h.GangZoneGetFlashColourForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?h.IsPlayerGangZoneFlashing(n.id,this.id):h.IsGangZoneFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===-1)return s.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?h.PlayerGangZoneGetPos(t.id,this.id):h.GangZoneGetPos(this.id)}useCheck(t){if(this.id===-1)return s.warn("[GangZone]: Unable to use check before create");const n=this.sourceInfo.player;return n?h.UsePlayerGangZoneCheck(n.id,this.id,t):h.UseGangZoneCheck(this.id,t),this}static getInstance(t){return this.gangZones.get(t)}static getInstances(){return[...this.gangZones.values()]}}B.onExit(({next:e})=>(O.getInstances().forEach(t=>t.destroy()),e()));const[zd]=S({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:g.getInstance(e),gangZone:O.getInstance({id:t,global:!0})}}}),[Yd]=S({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:g.getInstance(e),gangZone:O.getInstance({id:t,global:!0})}}}),[Jd]=S({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:g.getInstance(e),gangZone:O.getInstance({id:t,global:!1})}}}),[$d]=S({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:g.getInstance(e),gangZone:O.getInstance({id:t,global:!1})}}}),Qd={onPlayerEnterGlobal:zd,onPlayerLeaveGlobal:Yd,onPlayerEnterPlayer:Jd,onPlayerLeavePlayer:$d},[X]=S({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,n){return{type:e,id:t,forPlayer:g.getInstance(n)}}}),[z]=S({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,n){return{type:e,id:t,forPlayer:g.getInstance(n)}}}),[qd]=S({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class L{constructor(){}static getTickRate=_.Streamer_GetTickRate;static setTickRate=_.Streamer_SetTickRate;static getPlayerTickRate(t){return _.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,n=50){return _.Streamer_SetPlayerTickRate(t.id,n)}static toggleChunkStream=_.Streamer_ToggleChunkStream;static isToggleChunkStream=_.Streamer_IsToggleChunkStream;static getChunkTickRate(t,n=-1){return n instanceof g?_.Streamer_GetChunkTickRate(t,n.id):_.Streamer_GetChunkTickRate(t,n)}static setChunkTickRate(t,n,r=-1){return r instanceof g?_.Streamer_SetChunkTickRate(t,n,r.id):_.Streamer_SetChunkTickRate(t,n,r)}static getChunkSize=_.Streamer_GetChunkSize;static setChunkSize=_.Streamer_SetChunkSize;static getMaxItems=_.Streamer_GetMaxItems;static setMaxItems=_.Streamer_SetMaxItems;static getVisibleItems(t,n=-1){return n instanceof g?_.Streamer_GetVisibleItems(t,n.id):_.Streamer_GetVisibleItems(t,n)}static setVisibleItems(t,n,r=-1){return r instanceof g?_.Streamer_SetVisibleItems(t,n,r.id):_.Streamer_SetVisibleItems(t,n,r)}static getRadiusMultiplier(t,n=-1){return n instanceof g?_.Streamer_GetRadiusMultiplier(t,n.id):_.Streamer_GetRadiusMultiplier(t,n)}static setRadiusMultiplier(t,n,r=-1){return r instanceof g?_.Streamer_SetRadiusMultiplier(t,r.id):_.Streamer_SetRadiusMultiplier(t,n,r)}static getTypePriority=_.Streamer_GetTypePriority;static setTypePriority=_.Streamer_SetTypePriority;static getCellDistance=_.Streamer_GetCellDistance;static setCellDistance=_.Streamer_SetCellDistance;static getCellSize=_.Streamer_GetCellSize;static setCellSize=_.Streamer_SetCellSize;static toggleItemStatic=_.Streamer_ToggleItemStatic;static isToggleItemStatic=_.Streamer_IsToggleItemStatic;static toggleItemInvAreas=_.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=_.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=_.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=_.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=_.Streamer_ToggleErrorCallback;static isToggleErrorCallback=_.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=_.Streamer_AmxUnloadDestroyItems;static processActiveItems=_.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,n){return _.Streamer_ToggleIdleUpdate(t.id,n)}static isToggleIdleUpdate(t){return _.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,n){return _.Streamer_ToggleCameraUpdate(t.id,n)}static isToggleCameraUpdate(t){return _.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,n,r){return _.Streamer_ToggleItemUpdate(t.id,n,r)}static isToggleItemUpdate(t,n){return _.Streamer_IsToggleItemUpdate(t.id,n)}static getLastUpdateTime(){return _.Streamer_GetLastUpdateTime()}static update(t,n=-1){return _.Streamer_Update(t.id,n)}static updateEx(t,n,r,i,o,d,l,c,m){return _.Streamer_UpdateEx(t.id,n,r,i,o,d,l,c,m)}static getDistanceToItem=_.Streamer_GetDistanceToItem;static toggleItem(t,n,r,i){return _.Streamer_ToggleItem(t.id,n,r,i)}static isToggleItem(t,n,r){return _.Streamer_IsToggleItem(t.id,n,r)}static toggleAllItems(t,n,r,i=[-1]){return _.Streamer_ToggleAllItems(t.id,n,r,i)}static getItemInternalID(t,n,r){return _.Streamer_GetItemInternalID(t.id,n,r)}static getItemStreamerID(t,n,r){return _.Streamer_GetItemStreamerID(t.id,n,r)}static isItemVisible(t,n,r){return _.Streamer_IsItemVisible(t.id,n,r)}static destroyAllVisibleItems(t,n,r=1){return _.Streamer_DestroyAllVisibleItems(t.id,n,r)}static countVisibleItems(t,n,r=1){return _.Streamer_CountVisibleItems(t.id,n,r)}static destroyAllItems=_.Streamer_DestroyAllItems;static countItems=_.Streamer_CountItems;static getNearbyItems=_.Streamer_GetNearbyItems;static getAllVisibleItems(t,n,r){_.Streamer_GetAllVisibleItems(t.id,n,r)}static getItemPos=_.Streamer_GetItemPos;static setItemPos=_.Streamer_SetItemPos;static getItemOffset=_.Streamer_GetItemOffset;static setItemOffset=_.Streamer_SetItemOffset;static getFloatData=_.Streamer_GetFloatData;static setFloatData=_.Streamer_SetFloatData;static getIntData=_.Streamer_GetIntData;static setIntData=_.Streamer_SetIntData;static getArrayData=_.Streamer_GetArrayData;static setArrayData=_.Streamer_SetArrayData;static isInArrayData=_.Streamer_IsInArrayData;static appendArrayData=_.Streamer_AppendArrayData;static removeArrayData=_.Streamer_RemoveArrayData;static getArrayDataLength=_.Streamer_GetArrayDataLength;static getUpperBound=_.Streamer_GetUpperBound;static onPluginError=qd}class K{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:n,worldId:r,interiorId:i,playerId:o,areaId:d,priority:l}=this.sourceInfo;const{x:c,y:m,z:y,type:P,color:A,extended:E}=this.sourceInfo;return P<0||P>63?s.error("[StreamerMapIcon]: Invalid map icon type"):(t??=_.MapIconStyles.LOCAL,n??=_.StreamerDistances.MAP_ICON_SD,l??=0,E?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=_.CreateDynamicMapIconEx(c,m,y,P,f(A),t,n,r,i,o,d,l),K.mapIcons.set(this._id,this),this):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=_.CreateDynamicMapIcon(c,m,y,P,f(A),r,i,o,n,t,d,l),K.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?s.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(_.DestroyDynamicMapIcon(this.id),K.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return _.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(_.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(_.StreamerItemTypes.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}B.onExit(({next:e})=>(K.getInstances().forEach(t=>t.destroy()),e()));const[es,ts]=S({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ns,rs]=S({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.MAP_ICON?ts(n,K.getInstance(t)):r()),z(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.MAP_ICON?rs(n,K.getInstance(t)):r());const is={onStreamIn:es,onStreamOut:ns};class U{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:n,interiorId:r,playerId:i,areaId:o,priority:d}=this.sourceInfo;const{type:l,modelId:c,x:m,y,z:P,extended:A}=this.sourceInfo;return l<0||l>22?s.error("[StreamerPickup]: Invalid pickup type"):(t??=u.StreamerDistances.PICKUP_SD,d??=0,A?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=u.CreateDynamicPickupEx(c,l,m,y,P,t,n,r,i,o,d)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=u.CreateDynamicPickup(c,l,m,y,P,n,r,i,t,o,d)),U.pickups.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(u.DestroyDynamicPickup(this.id),U.pickups.delete(this.id),this._id=-1,this)}isValid(){return u.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerPickup]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}B.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[as,os]=S({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ds,ss]=S({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.PICKUP?os(n,U.getInstance(t)):r()),z(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.PICKUP?ss(n,U.getInstance(t)):r());const[ls]=S({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:U.getInstance(t)}}}),_s={onPlayerPickUp:ls,onStreamIn:as,onStreamOut:ds};class H{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:n,interiorId:r,playerId:i,areaId:o,priority:d}=this.sourceInfo;const{size:l,x:c,y:m,z:y,extended:P}=this.sourceInfo;return l<0?s.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=_.StreamerDistances.CP_SD,d??=0,P?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=_.CreateDynamicCPEx(c,m,y,l,t,n,r,i,o,d)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=_.CreateDynamicCP(c,m,y,l,n,r,i,t,o,d)),H.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(_.DestroyDynamicCP(this.id),H.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(_.TogglePlayerDynamicCP(t.id,this.id,n),this)}static togglePlayerAll(t,n){return _.TogglePlayerAllDynamicCPs(t.id,n)}isPlayerIn(t){return this.id===-1?!1:_.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t,n){return n.get(_.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(_.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(_.StreamerItemTypes.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}B.onExit(({next:e})=>(H.checkpoints.forEach(t=>t.destroy()),e()));const[cs,hs]=S({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[us,ms]=S({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.CP?hs(n,H.getInstance(t)):r()),z(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.CP?ms(n,H.getInstance(t)):r());const[Ss]=S({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:H.getInstance(t)}}}),[gs]=S({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:H.getInstance(t)}}}),ys={onPlayerEnter:Ss,onPlayerLeave:gs,onStreamIn:cs,onStreamOut:us};class v{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:n,interiorId:r,playerId:i,areaId:o,priority:d}=this.sourceInfo;const{type:l,size:c,x:m,y,z:P,nextX:A,nextY:E,nextZ:b,extended:w}=this.sourceInfo;return l<0||l>8?s.error("[StreamerRaceCP]: Invalid type"):c<0?s.error("[StreamerRaceCP]: Invalid size"):(t??=_.StreamerDistances.RACE_CP_SD,d??=0,w?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=_.CreateDynamicRaceCPEx(l,m,y,P,A,E,b,c,t,n,r,i,o,d)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=_.CreateDynamicRaceCP(l,m,y,P,A,E,b,c,n,r,i,t,o,d)),v.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(_.DestroyDynamicCP(this.id),v.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(_.TogglePlayerDynamicRaceCP(t.id,this.id,n),this)}static togglePlayerAll(t,n){return _.TogglePlayerAllDynamicRaceCPs(t.id,n)}isPlayerIn(t){return this.id===-1?!1:_.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t,n){return n.get(_.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(_.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(_.StreamerItemTypes.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}B.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),e()));const[Is,Ps]=S({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ps,As]=S({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.RACE_CP?Ps(n,v.getInstance(t)):r()),z(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.RACE_CP?As(n,v.getInstance(t)):r());const[fs]=S({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:v.getInstance(t)}}}),[Es]=S({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:v.getInstance(t)}}}),Cs={onPlayerEnter:fs,onPlayerLeave:Es,onStreamIn:Is,onStreamOut:ps};class W{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:n,interiorId:r,playerId:i,areaId:o,priority:d}=this.sourceInfo;const{modelId:l,x:c,y:m,z:y,r:P,invulnerable:A,health:E,extended:b}=this.sourceInfo;return t??=u.StreamerDistances.ACTOR_SD,d??=0,b?(typeof n=="number"?n=[0]:n??=[0],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof o=="number"?o=[-1]:o??=[-1],this._id=u.CreateDynamicActorEx(l,c,m,y,P,A,E,t,n,r,i,o,d)):(Array.isArray(n)?n=0:n??=0,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(o)?o=-1:o??=-1,this._id=u.CreateDynamicActor(l,c,m,y,P,A,E,n,r,i,t,o,d)),W.actors.set(this.id,this),this}destroy(){return this.id===-1?s.warn("[StreamerActor]: Unable to destroy the actor before create"):(u.DestroyDynamicActor(this.id),W.actors.delete(this.id),this._id=-1,this)}isValid(){return u.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:u.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?s.warn("[StreamerActor]: Unable to get virtual world before create"):u.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set virtual world before create"):u.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,n,r=!1,i=!0,o=!0,d=!1){if(this.id===-1)return s.warn("[StreamerActor]: Unable to apply animation before create");const l=Ze(t,n);return l===void 0?s.error("[StreamerActor]: Invalid anim library or name"):u.ApplyDynamicActorAnimation(this.id,t,n,4.1,r,i,o,d,r?0:l)}clearAnimations(){return this.id===-1?s.warn("[StreamerActor]: Unable to clear animation before create"):u.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?s.warn("[StreamerActor]: Unable to get facing angle before create"):u.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set facing angle before create"):u.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?s.warn("[StreamerActor]: Unable to get pos before create"):u.GetDynamicActorPos(this.id)}setPos(t,n,r){return this.id===-1?s.warn("[StreamerActor]: Unable to set pos before create"):u.SetDynamicActorPos(this.id,t,n,r)}getHealth(){return this.id===-1?s.warn("[StreamerActor]: Unable to get health before create"):u.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set health before create"):u.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:u.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?s.warn("[StreamerActor]: Unable to set invulnerable before create"):u.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t,n){if(this.id===-1)return;const r=u.GetPlayerTargetDynamicActor(t.id);return n.get(r)}getPlayerCameraTarget(t,n){if(this.id===-1)return;const r=u.GetPlayerCameraTargetDynActor(t.id);return n.get(r)}getSkin(){return this.id===-1?s.warn("[StreamerActor]: Unable to get skin before create"):h.GetActorSkin(this.id)}setSkin(t,n=!1){return this.id===-1?s.warn("[StreamerActor]: Unable to set skin before create"):!n&&(t<0||t>311||t==74)?0:h.SetActorSkin(this.id,t)}getSpawnInfo(){return this.id===-1?s.warn("[StreamerActor]: Unable to get spawn info before create"):h.GetActorSpawnInfo(this.id)}getAnimation(){return this.id===-1?s.warn("[StreamerActor]: Unable to get animation before create"):h.GetActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerActor]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}B.onExit(({next:e})=>(W.getInstances().forEach(t=>t.destroy()),e()));const[Ts]=S({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:W.getInstance(e),forPlayer:g.getInstance(t)}}}),[Ds]=S({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:W.getInstance(e),forPlayer:g.getInstance(t)}}}),[bs]=S({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,n,r,i){return{player:g.getInstance(e),actor:W.getInstance(t),amount:n,weapon:r,bodyPart:i}}}),Ls={onStreamIn:Ts,onStreamOut:Ds,onPlayerGiveDamage:bs};class Y{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:n,testLos:r,streamDistance:i,worldId:o,interiorId:d,playerId:l,areaId:c,priority:m}=this.sourceInfo;const{charset:y,text:P,color:A,drawDistance:E,x:b,y:w,z:x,extended:ie}=this.sourceInfo;return t??=D.PLAYER_ID,n??=D.VEHICLE_ID,i??=_.StreamerDistances.TEXT_3D_LABEL_SD,r??=!1,m??=0,ie?(typeof o=="number"?o=[-1]:o??=[-1],typeof d=="number"?d=[-1]:d??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof c=="number"?c=[-1]:c??=[-1],this._id=At(P,f(A),b,w,x,E,t,n,r,i,o,d,l,c,m,y||"utf8")):(Array.isArray(o)?o=-1:o??=-1,Array.isArray(d)?d=-1:d??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(c)?c=-1:c??=-1,this._id=pt(y||"utf8",P,f(A),b,w,x,E,t,n,r,o,d,l,i,c,m)),Y.texts.set(this.id,this),this}destroy(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(_.DestroyDynamic3DTextLabel(this.id),Y.texts.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamic3DTextLabel(this.id)}getColor(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get text before create"):Et(this.id,this.sourceInfo.charset||"utf8")}updateText(t,n,r=this.sourceInfo.charset){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=r,ft(this.id,f(t),n,r||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(_.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(_.StreamerItemTypes.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}B.onExit(({next:e})=>(Y.getInstances().forEach(t=>t.destroy()),e()));const[Rs,Os]=S({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Bs,ws]=S({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.TEXT_3D_LABEL?Os(n,Y.getInstance(t)):r()),z(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.TEXT_3D_LABEL?ws(n,Y.getInstance(t)):r());const Gs={onStreamIn:Rs,onStreamOut:Bs};class k{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:n,worldId:r,interiorId:i,playerId:o,areaId:d,priority:l}=this.sourceInfo;const{modelId:c,x:m,y,z:P,rx:A,ry:E,rz:b,extended:w}=this.sourceInfo;return t??=u.StreamerDistances.OBJECT_SD,n??=u.StreamerDistances.OBJECT_DD,l??=0,w?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=u.CreateDynamicObjectEx(c,m,y,P,A,E,b,t,n,r,i,o,d,l)):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=u.CreateDynamicObject(c,m,y,P,A,E,b,r,i,o,t,n,d,l)),k.objects.set(this._id,this),this}destroy(){return this.id===-1?s.warn("[StreamerObject]: Unable to destroy the object before create"):(u.DestroyDynamicObject(this.id),k.objects.delete(this.id),this._id=-1,this)}isValid(){return u.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?s.warn("[StreamerObject]: Cannot get position before create"):u.GetDynamicObjectPos(this.id)}setPos(t,n,r){return this.id===-1?s.warn("[StreamerObject]: Cannot set position before create"):u.SetDynamicObjectPos(this.id,t,n,r)}getRot(){return this.id===-1?s.warn("[StreamerObject]: Cannot get rotation before create"):u.GetDynamicObjectRot(this.id)}setRot(t,n,r){return this.id===-1?s.warn("[StreamerObject]: Cannot set rotation before create"):u.SetDynamicObjectRot(this.id,t,n,r)}move(t,n,r,i,o=-1e3,d=-1e3,l=-1e3){return this.id===-1?s.warn("[StreamerObject]: Cannot start moving before create"):i<0?s.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&s.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),u.MoveDynamicObject(this.id,t,n,r,i,o,d,l))}stop(){return this.id===-1?s.warn("[StreamerObject]: Cannot stop moving before create"):u.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:u.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachCamera before both are created"):u.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,n,r,i,o,d,l,c=!0){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToObject before both are created"):u.AttachDynamicObjectToObject(this.id,t.id,n,r,i,o,d,l,c)}attachToPlayer(t,n,r,i,o,d,l){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):u.AttachDynamicObjectToPlayer(this.id,t.id,n,r,i,o,d,l)}attachToVehicle(t,n,r,i,o,d,l){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):u.AttachDynamicObjectToVehicle(this.id,t.id,n,r,i,o,d,l)}edit(t){return this.id===-1?s.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),u.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:u.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:u.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,n,r){return this.id===-1?s.warn("[StreamerObject]: Unable to get material before create"):u.GetDynamicObjectMaterial(this.id,t,n,r)}setMaterial(t,n,r,i,o="#000"){return this.id===-1?s.warn("[StreamerObject]: Unable to set material before create"):u.SetDynamicObjectMaterial(this.id,t,n,r,i,f(o))}isMaterialTextUsed(t){return this.id===-1?!1:u.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?u.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?s.warn("[StreamerObject]: Unable to get material text before create"):Tt(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,n,r,i=u.MaterialTextSizes.SIZE_256x128,o="Arial",d=24,l=1,c="#fff",m="#000",y=0){return this.id===-1?s.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,Ct(t||"utf8",this.id,n,r,i,o,d,l,f(c),f(m),y))}getPlayerCameraTarget(t,n){const r=u.GetPlayerCameraTargetDynObject(t.id);if(r!==D.OBJECT_ID)return n.get(r)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerObject]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}B.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),e()));const[ks,Ms]=S({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Fs,Ns]=S({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.OBJECT?Ms(n,k.getInstance(t)):r()),z(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.OBJECT?Ns(n,k.getInstance(t)):r());const[Hs]=S({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:k.getInstance(e)}}}),[vs]=S({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,n,r,i,o,d,l,c){return{player:g.getInstance(e),object:k.getInstance(t),response:n,x:r,y:i,z:o,rX:d,rY:l,rZ:c}}}),[xs]=S({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,n,r,i,o){return{player:g.getInstance(e),object:k.getInstance(t),modelId:n,x:r,y:i,z:o}}}),[Vs]=S({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,n,r,i,o){return{player:g.getInstance(e),object:k.getInstance(n),weapon:t,x:r,y:i,z:o}}}),[Us]=S({name:"OnPlayerEditAttachedObject",beforeEach(e,t,n,r,i,o,d,l,c,m,y,P,A,E){return{player:g.getInstance(e),response:t,index:n,modelId:r,boneId:i,fOffsetX:o,fOffsetY:d,fOffsetZ:l,fRotX:c,fRotY:m,fRotZ:y,fScaleX:P,fScaleY:A,fScaleZ:E}}}),Ws={onMoved:Hs,onPlayerEdit:vs,onPlayerSelect:xs,onPlayerShoot:Vs,onPlayerEditAttached:Us,onStreamIn:ks,onStreamOut:Fs};class G{static areas=new Map;sourceInfo;_id=-1;get type(){return this.sourceInfo.type}get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:n,playerId:r}=this.sourceInfo;const{type:i,extended:o}=this.sourceInfo;if(o)if(typeof t=="number"?t=[-1]:t??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],i==="circle"){const{x:d,y:l,size:c}=this.sourceInfo;if(c<0)return s.error("[StreamerArea]: Invalid circle extend size");this._id=u.CreateDynamicCircleEx(d,l,c,t,n,r)}else if(i==="cuboid"){const{minX:d,minY:l,minz:c,maxX:m,maxY:y,maxz:P}=this.sourceInfo;this._id=u.CreateDynamicCuboidEx(d,l,c,m,y,P,t,n,r)}else if(i==="cylinder"){const{x:d,y:l,minZ:c,maxZ:m,size:y}=this.sourceInfo;if(y<0)return s.error("[StreamerArea]: Invalid cylinder extend size");this._id=u.CreateDynamicCylinderEx(d,l,c,m,y,t,n,r)}else if(i==="polygon"){const{points:d,minz:l,maxz:c}=this.sourceInfo;if(d.length%2!==0)return s.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=u.CreateDynamicPolygonEx(d,l,c,t,n,r)}else if(i==="rectangle"){const{minX:d,minY:l,maxX:c,maxY:m}=this.sourceInfo;this._id=u.CreateDynamicRectangleEx(d,l,c,m,t,n,r)}else{const{x:d,y:l,z:c,size:m}=this.sourceInfo;if(m<0)return s.error("[StreamerArea]: Invalid sphere extended size");this._id=u.CreateDynamicSphereEx(d,l,c,m,t,n,r)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,i==="circle"){const{x:d,y:l,size:c}=this.sourceInfo;if(c<0)return s.error("[StreamerArea]: Invalid circle size");this._id=u.CreateDynamicCircle(d,l,c,t,n,r)}else if(i==="cuboid"){const{minX:d,minY:l,minz:c,maxX:m,maxY:y,maxz:P}=this.sourceInfo;this._id=u.CreateDynamicCuboid(d,l,c,m,y,P,t,n,r)}else if(i==="cylinder"){const{x:d,y:l,minZ:c,maxZ:m,size:y}=this.sourceInfo;if(y<0)return s.error("[StreamerArea]: Invalid cylinder size");this._id=u.CreateDynamicCylinder(d,l,c,m,y,t,n,r)}else if(i==="polygon"){const{points:d,minz:l,maxz:c}=this.sourceInfo;if(d.length%2!==0)return s.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=u.CreateDynamicPolygon(d,l,c,t,n,r)}else if(i==="rectangle"){const{minX:d,minY:l,maxX:c,maxY:m}=this.sourceInfo;this._id=u.CreateDynamicRectangle(d,l,c,m,t,n,r)}else{const{x:d,y:l,z:c,size:m}=this.sourceInfo;if(m<0)return s.error("[StreamerArea]: Invalid sphere size");this._id=u.CreateDynamicSphere(d,l,c,m,t,n,r)}return G.areas.set(this._id,this),this}destroy(){return this.id===-1?s.warn("[StreamerArea]: Unable to destroy the area before create"):(u.DestroyDynamicArea(this.id),G.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:u.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?s.warn("[StreamerArea]: Unable to get type before create"):u.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return u.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return u.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,n=!1){return this.id===-1?!1:u.IsPlayerInDynamicArea(t.id,this.id,n)}static isPlayerInAny(t,n=!1){return u.IsPlayerInAnyDynamicArea(t.id,n)}isAnyPlayerIn(t=!1){return this.id===-1?!1:u.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return u.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t,n){return G.getPlayerAreasNumber(t)?u.GetPlayerDynamicAreas(t.id).map(r=>n.get(r)):[]}static getPlayerAreasNumber(t){return u.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,n,r){return this.id===-1?!1:u.IsPointInDynamicArea(this.id,t,n,r)}static isPointInAny(t,n,r){return u.IsPointInAnyDynamicArea(t,n,r)}isLineIn(t,n,r,i,o,d){return this.id===-1?!1:u.IsLineInDynamicArea(this.id,t,n,r,i,o,d)}static isLineInAny(t,n,r,i,o,d){return u.IsLineInAnyDynamicArea(t,n,r,i,o,d)}static getForPoint(t,n,r,i){return G.getNumberForPoint(t,n,r)?u.GetDynamicAreasForPoint(t,n,r).map(o=>i.get(o)):[]}static getNumberForPoint(t,n,r){return u.GetNumberDynamicAreasForPoint(t,n,r)}static getForLine(t,n,r,i,o,d,l){return G.getNumberForLine(t,n,r,i,o,d)?u.GetDynamicAreasForLine(t,n,r,i,o,d).map(c=>l.get(c)):[]}static getNumberForLine(t,n,r,i,o,d){return u.GetNumberDynamicAreasForLine(t,n,r,i,o,d)}attachToObject(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to object before create"):u.AttachDynamicAreaToObject(this.id,t.id,u.StreamerObjectTypes.DYNAMIC,D.PLAYER_ID,n,r,i)}attachToPlayer(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to player before create"):u.AttachDynamicAreaToPlayer(this.id,t.id,n,r,i)}attachToVehicle(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):u.AttachDynamicAreaToVehicle(this.id,t.id,n,r,i)}toggleSpectateMode(t){return this.id===-1?s.warn("[StreamerArea]: Unable to toggle specate mode before create"):u.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:u.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerArea]: Unable to toggle callbacks before create"):L.toggleItemCallbacks(u.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,L.isToggleItemCallbacks(u.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}B.onExit(({next:e})=>(G.getInstances().forEach(t=>t.destroy()),e()));const[Ks,js]=S({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Zs,Xs]=S({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.AREA?js(n,G.getInstance(t)):r()),z(({type:e,id:t,forPlayer:n,next:r})=>e===_.StreamerItemTypes.AREA?Xs(n,G.getInstance(t)):r());const[zs]=S({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:G.getInstance(t)}}}),[Ys]=S({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:g.getInstance(e),pickup:G.getInstance(t)}}}),Js={onStreamIn:Ks,onStreamOut:Zs,onPlayerEnter:zs,onPlayerLeave:Ys};class p{static textDraws=new Map;static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:n,text:r,player:i}=this.sourceInfo;if(i){if(p.createdPlayerCount===M.MAX_TEXT_DRAWS)return s.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Di(i.id,t,n,r),p.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(p.createdGlobalCount===M.MAX_TEXT_DRAWS)return s.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=kn(t,n,r),p.createdGlobalCount++}return p.textDraws.set({id:this.id,global:i===void 0},this),this}destroy(){if(this.id===-1)return p.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(bi(t.id,this.id),p.createdPlayerCount--):(Mn(this.id),p.createdGlobalCount--),p.textDraws.delete({id:this.id,global:t===void 0}),this._id=-1,this}setFont(t){if(this.id===-1)return p.beforeCreateWarn("set font");const{player:n}=this.sourceInfo;return n?Fi(n.id,this.id,t):jn(this.id,t),this}setColor(t){if(this.id===-1)return p.beforeCreateWarn("set Colour");const{player:n}=this.sourceInfo;return n?Oi(n.id,this.id,t):vn(this.id,t),this}setBoxColours(t){if(this.id===-1)return p.beforeCreateWarn("set box Colour");const{player:n}=this.sourceInfo;return n?wi(n.id,this.id,t):Vn(this.id,t),this}setBackgroundColours(t){if(this.id===-1)return p.beforeCreateWarn("set background Colour");const{player:n}=this.sourceInfo;return n?Mi(n.id,this.id,t):Kn(this.id,t),this}setAlignment(t){if(this.id===-1)return p.beforeCreateWarn("set alignment");const{player:n}=this.sourceInfo;return n?Ri(n.id,this.id,t):Hn(this.id,t),this}setLetterSize(t,n){if(this.id===-1)return p.beforeCreateWarn("set letter size");const{player:r}=this.sourceInfo;return r?Li(r.id,this.id,t,n):Fn(this.id,t,n),this}setOutline(t){if(this.id===-1)return p.beforeCreateWarn("set outline model");if(t<0)return s.warn("[TextDraw]: Invalid outline value");const{player:n}=this.sourceInfo;return n?ki(n.id,this.id,t):Wn(this.id,t),this}setPreviewModel(t){if(this.id===-1)return p.beforeCreateWarn("set preview model");this.setFont(ne.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?Ui(n.id,this.id,t):qn(this.id,t),this}setPreviewRot(t,n,r,i=1){if(this.id===-1)return p.beforeCreateWarn("set preview rot");this.setFont(ne.MODEL_PREVIEW);const{player:o}=this.sourceInfo;return o?Wi(o.id,this.id,t,n,r,i):er(this.id,t,n,r,i),this}setPreviewVehColours(t,n){if(this.id===-1)return p.beforeCreateWarn("set preview veh col");this.setFont(ne.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?Ki(r.id,this.id,t,n):tr(this.id,t,n),this}setProportional(t=!0){if(this.id===-1)return p.beforeCreateWarn("set Proportional");const{player:n}=this.sourceInfo;return n?Ni(n.id,this.id,t):Zn(this.id,t),this}setSelectable(t){if(this.id===-1)return p.beforeCreateWarn("set Selectable");const{player:n}=this.sourceInfo;return n?Hi(n.id,this.id,t):Xn(this.id,t),this}setShadow(t){if(this.id===-1)return p.beforeCreateWarn("set shadow");if(t<0)return s.warn("[TextDraw]: Invalid shadow value");const{player:n}=this.sourceInfo;return n?Gi(n.id,this.id,t):Un(this.id,t),this}setString(t){if(this.id===-1)return p.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return s.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?Vi(n.id,this.id,t):Qn(this.id,t),this}setTextSize(t,n){return this.id===-1?p.beforeCreateWarn("set TextSize"):(Nn(this.id,t,n),this)}useBox(t){if(this.id===-1)return p.beforeCreateWarn("set TextSize");const{player:n}=this.sourceInfo;return n?Bi(n.id,this.id,t):xn(this.id,t),this}static beforeCreateWarn(t){s.warn(`[TextDraw]: Unable to ${t} before create`)}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}show(t){if(this.id===-1)return p.beforeCreateWarn("show");const n=this.sourceInfo.player;if(n)vi(n.id,this.id);else if(t)zn(t.id,this.id);else return s.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return p.beforeCreateWarn("hide");const n=this.sourceInfo.player;if(n)xi(n.id,this.id);else if(t)Yn(t.id,this.id);else return s.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?p.beforeCreateWarn("show"):this.sourceInfo.player?s.warn("[TextDraw]: player's textdraw should not be show for all."):(Jn(this.id),this)}hideAll(){return this.id===-1?p.beforeCreateWarn("hideAll"):this.sourceInfo.player?s.warn("[TextDraw]: player's textdraw should not be hide for all."):($n(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?I.IsValidPlayer3DTextLabel(t.id,this.id):I.IsValidTextDraw(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:I.IsTextDrawVisibleForPlayer(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetString(t.id,this.id):I.TextDrawGetString(this.id)}setPos(t,n){if(this.id===-1)return p.beforeCreateWarn("set position");const r=this.sourceInfo.player;return r?I.PlayerTextDrawSetPos(r.id,this.id,t,n):I.TextDrawSetPos(this.id,t,n),this}getLetterSize(){if(this.id===-1)return p.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetLetterSize(t.id,this.id):I.TextDrawGetLetterSize(this.id)}getTextSize(){if(this.id===-1)return p.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetTextSize(t.id,this.id):I.TextDrawGetTextSize(this.id)}getPos(){if(this.id===-1)return p.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetPos(t.id,this.id):I.TextDrawGetPos(this.id)}getColor(){if(this.id===-1)return p.beforeCreateWarn("get Colour");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetColour(t.id,this.id):I.TextDrawGetColour(this.id)}getBoxColour(){if(this.id===-1)return p.beforeCreateWarn("get box Colour");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetBoxColour(t.id,this.id):I.TextDrawGetBoxColour(this.id)}getBackgroundColour(){if(this.id===-1)return p.beforeCreateWarn("get bg Colour");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetBackgroundColour(t.id,this.id):I.TextDrawGetBackgroundColour(this.id)}getShadow(){if(this.id===-1)return p.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetShadow(t.id,this.id):I.TextDrawGetShadow(this.id)}getOutline(){if(this.id===-1)return p.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetOutline(t.id,this.id):I.TextDrawGetOutline(this.id)}getFont(){if(this.id===-1)return p.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetFont(t.id,this.id):I.TextDrawGetFont(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?I.PlayerTextDrawIsBox(t.id,this.id):I.TextDrawIsBox(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?I.PlayerTextDrawIsProportional(t.id,this.id):I.TextDrawIsProportional(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?I.PlayerTextDrawIsSelectable(t.id,this.id):I.TextDrawIsSelectable(this.id)}getAlignment(){if(this.id===-1)return p.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetAlignment(t.id,this.id):I.TextDrawGetAlignment(this.id)}getPreviewModel(){if(this.id===-1)return p.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetPreviewModel(t.id,this.id):I.TextDrawGetPreviewModel(this.id)}getPreviewRot(){if(this.id===-1)return p.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetPreviewRot(t.id,this.id):I.TextDrawGetPreviewRot(this.id)}getPreviewVehColours(){if(this.id===-1)return p.beforeCreateWarn("get preview vel Colours");const t=this.sourceInfo.player;return t?I.PlayerTextDrawGetPreviewVehicleColours(t.id,this.id):I.TextDrawGetPreviewVehicleColours(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t){return this.textDraws.get(t)}static getInstances(){return[...this.textDraws.values()]}}B.onExit(({next:e})=>(p.getInstances().forEach(t=>t.destroy()),e()));const[$s]=S({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:g.getInstance(e),textDraw:t===D.TEXT_DRAW?t:p.getInstance({id:t,global:!0})}}}),[Qs]=S({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:g.getInstance(e),textDraw:t===D.TEXT_DRAW?t:p.getInstance({id:t,global:!1})}}}),qs={onPlayerClickGlobal:$s,onPlayerClickPlayer:Qs};Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return _.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return _.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return _.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return _.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return _.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return _.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return _.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return _.StreamerObjectTypes}}),Object.defineProperty(exports,"GangZonePos",{enumerable:!0,get:function(){return I.GangZonePos}}),Object.defineProperty(exports,"IActorAnimation",{enumerable:!0,get:function(){return I.IActorAnimation}}),Object.defineProperty(exports,"IActorSpawn",{enumerable:!0,get:function(){return I.IActorSpawn}}),Object.defineProperty(exports,"IAttachedData",{enumerable:!0,get:function(){return I.IAttachedData}}),Object.defineProperty(exports,"IAttachedObject",{enumerable:!0,get:function(){return I.IAttachedObject}}),Object.defineProperty(exports,"IBounds",{enumerable:!0,get:function(){return I.IBounds}}),Object.defineProperty(exports,"ICheckPoint",{enumerable:!0,get:function(){return I.ICheckPoint}}),Object.defineProperty(exports,"IMaterial",{enumerable:!0,get:function(){return I.IMaterial}}),Object.defineProperty(exports,"IMaterialText",{enumerable:!0,get:function(){return I.IMaterialText}}),Object.defineProperty(exports,"IObjectPos",{enumerable:!0,get:function(){return I.IObjectPos}}),Object.defineProperty(exports,"IObjectRotPos",{enumerable:!0,get:function(){return I.IObjectRotPos}}),Object.defineProperty(exports,"IOffsets",{enumerable:!0,get:function(){return I.IOffsets}}),Object.defineProperty(exports,"IPlayerClass",{enumerable:!0,get:function(){return I.IPlayerClass}}),Object.defineProperty(exports,"IQuat",{enumerable:!0,get:function(){return I.IQuat}}),Object.defineProperty(exports,"IRaceCheckPoint",{enumerable:!0,get:function(){return I.IRaceCheckPoint}}),Object.defineProperty(exports,"ITextDrawCommonSize",{enumerable:!0,get:function(){return I.ITextDrawCommonSize}}),Object.defineProperty(exports,"ITextDrawRot",{enumerable:!0,get:function(){return I.ITextDrawRot}}),Object.defineProperty(exports,"IVehColor",{enumerable:!0,get:function(){return I.IVehColor}}),Object.defineProperty(exports,"IVehMatrix",{enumerable:!0,get:function(){return I.IVehMatrix}}),Object.defineProperty(exports,"IVehSpawnInfo",{enumerable:!0,get:function(){return I.IVehSpawnInfo}}),exports.ArtworkEnum=ye,exports.BodyPartsEnum=Oe,exports.BoneIdsEnum=Be,exports.BulletHitTypesEnum=He,exports.CameraCutStylesEnum=ae,exports.CameraModesEnum=Re,exports.CarModTypeEnum=Ge,exports.ClickSourcesEnum=Ie,exports.ConnectionStatusEnum=pe,exports.DamageDeathReasonEnum=_e,exports.Dialog=R,exports.DialogStylesEnum=se,exports.Dynamic3DTextLabel=Y,exports.Dynamic3DTextLabelEvent=Gs,exports.DynamicActor=W,exports.DynamicActorEvent=Ls,exports.DynamicArea=G,exports.DynamicAreaEvent=Js,exports.DynamicCheckPointEvent=ys,exports.DynamicCheckpoint=H,exports.DynamicMapIcon=K,exports.DynamicMapIconEvent=is,exports.DynamicObject=k,exports.DynamicObjectEvent=Ws,exports.DynamicPickup=U,exports.DynamicPickupEvent=_s,exports.DynamicRaceCP=v,exports.DynamicRaceCPEvent=Cs,exports.ERecordStatus=F,exports.EditResponseTypesEnum=Pe,exports.FightingStylesEnum=be,exports.GameMode=B,exports.GameText=Kd,exports.GangZone=O,exports.GangZoneEvent=Qd,exports.I18n=C,exports.InvalidEnum=D,exports.KeysEnum=Ae,exports.LimitsEnum=M,exports.MapIconStylesEnum=Le,exports.MarkerModesEnum=fe,exports.Menu=J,exports.MenuEvent=Xd,exports.NPCPlaybackEnum=Ee,exports.NetStats=Wd,exports.Npc=N,exports.NpcEvent=ut,exports.ObjectMaterialAlignmmentEnum=Te,exports.ObjectMaterialTextSizeEnum=Ce,exports.Player=g,exports.PlayerEvent=et,exports.PlayerStateEnum=$,exports.RecordTypesEnum=xe,exports.SelectObjectTypesEnum=De,exports.SpecialActionsEnum=le,exports.SpectateModesEnum=oe,exports.Streamer=L,exports.TextDraw=p,exports.TextDrawAlignEnum=we,exports.TextDrawEvent=qs,exports.TextDrawFontsEnum=ne,exports.Vehicle=T,exports.VehicleEvent=Ud,exports.VehicleModelInfoEnum=Me,exports.VehicleParamsEnum=ke,exports.WeaponEnum=Fe,exports.WeaponSkillsEnum=Ne,exports.WeaponStatesEnum=ve,exports.rgba=f;